Download as pdf or txt
Download as pdf or txt
You are on page 1of 17

Knowledge-Based Systems 24 (2011) 427443

Contents lists available at ScienceDirect

Knowledge-Based Systems
journal homepage: www.elsevier.com/locate/knosys

Knowledge sharing in dynamic virtual enterprises: A socio-technological perspective


Pingfeng Liu a,b,, Bijan Raahemi a, Morad Benyoucef a
a b

Telfer School of Management, University of Ottawa, 55 Laurier, E., Ottawa, Canada ON K1N 6N5 School of Economics, Wuhan University of Technology, 122 Luoshi Road, Wuhan 430070, China

a r t i c l e

i n f o

a b s t r a c t
The success of a virtual enterprise depends largely on the effective collaboration of its members in orchestrating their knowledge, skills, core competences and resources, in order to enhance competitive capabilities and respond better to business opportunities. In this paper we address the challenges of knowledge sharing in dynamic virtual enterprises. We take a socio-technological approach by proposing a human-centered knowledge sharing solution and architecture. Specically, we propose a knowledge resource space model to represent heterogeneous knowledge resources, both explicit and implicit. We then introduce a knowledge sharing community model and adopt an agent based solution to perform the functions of knowledge sharing among members of a dynamic virtual enterprise. Our solution incorporates the concepts of agent society and semantic ontology. Knowledge sharing in dynamic virtual enterprises is performed with three types of ties: knowledge agent to knowledge agent, knowledge agent to knowledge item, and knowledge item to knowledge item. We measure agent-to-agent ties by preference correlation using the contribution degree of one agent to another and the preference similarity degree between two agents. We dene a semantic view to show agent-to-item ties and use semantic links in the knowledge resource space model to reect item-to-item ties. We also elaborate the co-evolution mechanism of collective intelligence across enterprises throughout the lifecycle of a dynamic virtual enterprise. A case study is presented to validate our approach. 2010 Elsevier B.V. All rights reserved.

Article history: Received 28 January 2010 Received in revised form 12 December 2010 Accepted 12 December 2010 Available online 17 December 2010 Keywords: Knowledge sharing Virtual enterprise Agent society Semantic ontology Human centered solution

1. Introduction Entities such as individuals, groups, enterprise units or entire organizations, although maybe geographically dispersed, can collaborate with each other to fulll their common goals by exploiting the latest developments in network technologies, and pooling together their resources and competences. A virtual organization (VO) represents an organizational structure of inter-personal or inter-organizational collaboration supported by virtual networks. VOs are assuming an increasingly prominent role against the background of todays dynamic environment [31]. The denition of a virtual enterprise (VE) was put forward by LM Camarinha-Matos and Afsarmanesh [4] as a temporary alliance of enterprises that comes together to share skills or core competencies and resources in order to better respond to business opportunities, and whose cooperation is supported by computer networks. VEs can be classied as static or dynamic [17]. A static VE integrates business entities in outsourcing in a rather static way. A dynamic VE is formed,
Corresponding author at: School of Economics, Wuhan University of Technology, 122 Luoshi Road, Wuhan 430070, China. E-mail addresses: lpf@whut.edu.cn (P. Liu), raahemi@telfer.uottawa.ca (B. Raahemi), benyoucef@telfer.uottawa.ca (M. Benyoucef).
0950-7051/$ - see front matter 2010 Elsevier B.V. All rights reserved. doi:10.1016/j.knosys.2010.12.004

managed and monitored by a leader who is one of the enterprise members and is able to select partners while forming a VE [6]. However, the success of a dynamic VE depends largely on the effective orchestration of the skills, knowledge, core competences and core resources of its members to offer value-added benets throughout the VEs lifecycle. With the aid of virtual networks, business activities are usually conducted automatically by online applications. With the division of labor and specialization of core competences, the execution of those business activities often involve inter-organizational cooperation, which results in the exchange and creation of knowledge associated with the business activities. The successful outcome of teamwork in a dynamic VE relies on how well the members are able to share and create knowledge across disciplinary, spatial and/or cultural boundaries either asynchronously or in real-time [27]. Knowledge can be explicit or implicit [24]. Explicit knowledge within an organization can be represented using rules, ontologies, cases, models, data, manuals or other forms. It is usually stored in knowledge repositories which can be directly exploited by knowledge-based systems or humans to solve specic problems. Implicit knowledge, on the other hand, is subjective, experience-based and often context-specic, making it hard to be expressed in a particular language. Studies show that socialization, face-to-face commu-

428

P. Liu et al. / Knowledge-Based Systems 24 (2011) 427443

nications and dialogue are powerful vehicles for knowledge sharing [31]. Compared to knowledge sharing within an enterprise, knowledge sharing in a dynamic VE is more challenging due to the following considerations: A dynamic VE represents a dynamic organizational structure where members may join or leave freely, which hinders the establishment and development of a solid infrastructure for knowledge sharing among its members. Different members might adopt different knowledge management strategies and technologies. The heterogeneity of knowledge representation inhibits direct interaction and exploitation of the shared knowledge. The risk of losing core competences by sharing knowledge with partners requires a balance between controlling the access to each members knowledge resources and opening up these resources to partners so as to maximize the added value of business activities. Implicit knowledge is mainly stored in the brain of each individual and cannot be handled by knowledge based systems. The social nature of humans needs to be incorporated into the knowledge sharing mechanism to help the right people locate the right knowledge at the right time. Many approaches to knowledge sharing in VOs have been proposed to tackle the problems listed above from strategic, methodological and technological perspectives. However, those approaches exhibit at least three shortcomings. The rst one is that a centralized (instead of distributed) architecture of knowledge sharing and integration is often assumed, resulting in difculties to adapt to the dynamic structures of VEs and vulnerabilities to single points of failures. The second is that a process-centered (instead of humancentered) view is adopted, although humans are the active creators and users of the knowledge. The third one is that it still remains unclear how to share tacit knowledge across organizations, although team interactions and face-to-face communications are usually proposed to manage tacit knowledge in an enterprise. The dynamic nature of VEs calls for new knowledge to be generated to cope with the volatile markets and the ever-changing operating environment. Coming from practice, that new knowledge is mostly dispersed across users interacting with the markets and environment. An organizations memory embedded in business processes may become an obstacle to acquiring new knowledge for new practices [32]. While it can handle a situation experienced before and work quite well in a relatively static enterprise or VE, it can hardly handle new situations in a timely fashion and be adapted to the agile knowledge sharing in dynamic VEs. Huang [12] took an evolutionary perspective to address the problem of knowledge creation in a dynamic environment and highlighted that the knowledge creation process is self-organizing and spiral, starting at the individual level and moving up through expanding communities of interactions that cross sectional, departmental, divisions, and organizational boundaries. Huangs work supports our idea that a human-centered approach incorporating social interactions needs to be developed for knowledge sharing in dynamic VEs. In this paper, we focus on the socio-technological perspective of knowledge sharing in dynamic VEs and propose a human-centered knowledge sharing solution and architecture by taking advantage of agent and semantic ontology concepts and technologies. The next section provides an overview of the related work. Section 3 describes the knowledge resource space model and knowledge sharing community model. Section 4 explores the community framework including the agent architecture, and the knowledge resource discovery mechanism, knowledge sharing process, and community evolution throughout the lifecycle of VEs. Section 5 presents a case study and Section 6 concludes the paper.

2. Related work Since the concept of VE emerged in the early 1990s, there has been much discussion regarding its denition and characteristics. While Kanet et al. [17] proposed that VEs could be classied into dynamic and static, many authors distinguish VEs from a mere integration of business entities in outsourcing, and see VEs as dynamic alliances formed by cooperative partners to quickly respond to the rapidly changing business environment [9]. Some of them use terms such as Agile Virtual Enterprises (AVEs) [30] or Dynamic Virtual Enterprises [6] specically to address the agile and dynamic characteristics of VEs. Kim et al. [19] argued that agility and interoperability are the main requirements for VEs. VEs reveal that more complex and dynamic business processes should be considered as assembled service components in order to integrate the collaborative business processes [18]. A basic problem with knowledge sharing in VEs is where to locate the requested knowledge. Some researchers tried to answer this question by studying the knowledge structure of organizational memory. Beig and Ghavamifar [1] took three interrelated organizational elements of a VO (virtual web platform, virtual web management, and dynamic virtual corporations) into consideration, and proposed four building blocks, namely personal memory, project memory, cultural memory and net-broker memory as the components of a VOs organizational memory. While some knowledge of those blocks can be coded and stored in knowledge repositories, other (tacit) knowledge remains in the brains of humans. The concept of Transactive Memory System (TMS) was originally employed to describe sets of directories used to locate, allocate and retrieve knowledge in pairs and small groups. Jackson and Klobas [14] conducted a case study revealing that the basic TMS processes and directories appear to be present at an organizational level with observations indicating that the social behavior of personal contacts with the help of directories plays an active role in the transfer of knowledge, especially the tacit one. Yang et al. [37] integrated knowledge maps in the design process of concurrently engineered products. By collecting the relevant knowledge artifacts and locating tacit knowledge sources, design process knowledge maps are specied and used not only for showing which knowledge is relevant to whom at which design stage, but also for guiding designers to access/locate the required knowledge. In this way, knowledge maps facilitate the reuse and sharing of explicit and tacit knowledge in design processes. However, since a typical knowledge map often falls short of a semantic structure of knowledge, an ontology may be required to describe its conceptual content and formalize its domain in order to clearly regulate it and to describe and dene its structure, its rules and restrictions [6]. Agent, service and ontology technologies are widely used in knowledge integration within VEs. According to Camarinha-Matos and Afsarmanesh [5] and Li and Xiao [20], agent societies seem to be the most promising approach for the development of VE management. Agent-based modeling has become an increasingly attractive methodology in modeling various social and natural complex systems thanks to the four distinct characteristics of agents: autonomy, interactivity, reactivity and proactiveness [34]. Bergamaschi et al. [2] developed a system composed of a Collaborative Project Management component supported by a Project Collaborative Portal as the user interface. The Integration Framework is implemented by means of a multi-agent system supporting information sharing and querying, and web services to guarantee the interoperability of the software components. He et al. [11] put forward Knowledge Management Sphere (KMSphere) to explore important aspects of service-oriented and ontology-driven knowledge management on the grid to provide uniform mechanisms for semantic-based access to distributed data repositories

P. Liu et al. / Knowledge-Based Systems 24 (2011) 427443

429

in data-intensive environments. Ganzha et al. [10] proposed an agent-based VO where personalized information delivery is facilitated through ontological demarcation and semantic reasoning. The roles in the VO are analyzed as to whether to be undertaken by agents or by humans. Cheng Leong et al. [7] described some key issues in implementing data integration in VEs using semantic web services. The architecture of the proposed infrastructure adopts a mediated ontology approach to data integration where each data source is described by its own ontology, and translations between different ontologies are done by means of mediation. Due to the semantic reasoning capability of ontologies, they are also exploited in knowledge access control. Chen [6] suggested an ontology-based knowledge sharing model and a multiple-layer knowledge representation framework. He further developed knowledge access control methods for VEs, including an ontology-based access control model, an authorization propagation model for knowledge sharing, and a knowledge access control policy language framework. Furthermore, cognitive models and articial intelligence are incorporated into agents or software components so that they can mimic human cognitive behavior for learning knowledge, sharing knowledge, or interacting with humans intelligently. Mahalakshmi and Geetha [23] proposed an approach for learning new knowledge by argumentative reasoning in articial knowledge societies. They presented an ontology model, namely NORM, to represent cognitive knowledge. Through argumentative reasoning based on NORM, an agent updates the knowledge base with the information obtained from the trusted opponent during the argumentation process. Fujita et al. [8] explored intelligent human centric computing that can mimic a specic human cognitive behavior. They exploited cognitive analysis technologies, especially facial and voice analysis technologies, to achieve the best engagement between a human user and a software application. Burden [3] explored the challenges of deploying an embodied AI in a virtual world and how the Turing Test relates to robotars in virtual worlds. He developed a technical architecture for deploying chatbot driven avatars within the Second Life virtual world. This architecture comprises four main elements: an AIML (Articial Intelligence Markup Language) derived chatbot engine (called Discourse), a higher level brain, a virtual world, and the Second Life virtual world server and client system. Most enterprise-based knowledge management systems require a corporate infrastructure to operate and are generally inexible in supporting instant, ad hoc and intensive collaborations. In the new economy, collaborations are rapidly changing from within organizational boundaries to across organizational boundaries, hence peer-to-peer (p2p) knowledge management is proposed to extend sharing between individuals with sharing within groups of peers [35]. Knowledge sharing based on p2p is believed to be more suitable for VEs due to p2ps intrinsic nature of being adaptive to dynamic organizational structures. Wang et al. [33] examined the knowledge sharing characteristics and roles of Communities of Practice (CoP) and developed a p2p knowledge sharing architecture that matches the behavioral characteristics of CoP members. They also proposed a p2p knowledge sharing tool that enables members of a CoP to voluntarily share and retrieve knowledge more effectively. To improve the performance of resource discovery in a p2p knowledge management system, techniques are developed to restrict the search to small groups (i.e., communities) instead of the whole p2p network. One such technique consists on forming community topologies through the self-organization of peers based on their interests. Peers dynamically adjust their conguration and gradually move to the right community as their interests change. This mechanism leads to a exible and scalable community formation technique [15]. Social network behavior is incor-

porated into p2p knowledge systems so that peer nodes learn from previous searches and no additional overhead is required to obtain extra knowledge from neighboring nodes [21]. Therefore, the common interests of peers can be determined and recommendation of knowledge can be made to the peer who needs it [13]. Finally, semantic ontology concepts have also been incorporated into p2p knowledge systems to realize semantic community overlays [16]. Although p2p systems provide a exible and agile infrastructure for knowledge sharing in VEs, differences exist between the structure of the pure p2p systems mentioned above and the structure of a VE which comprises allied enterprises. Both organizations and individuals in a VE can be treated as nodes of a collaborative network. However the social relationship of individuals interacting with each other while afliated with an organization must be considered. In this paper, we advocate a human-centered knowledge sharing approach, imitating human social behavior while minimizing the risk of losing core competences to competing organizations. 3. Knowledge sharing model 3.1. Knowledge resource space model Knowledge sharing is too often hampered by the heterogeneity of knowledge representation in VEs since different nodes of the collaborative network may adopt different knowledge representation mechanisms. Note that ontology has been used to annotate explicit knowledge resources. To ensure an unambiguous understanding of knowledge resources among members of a VE, a uniform knowledge representation model needs to be developed for both explicit and implicit knowledge. To address this problem, we propose a knowledge resource space model based on the works of Zhuge [39,40]. We dene our knowledge resource space model in VEs as follows: Denition 1. A knowledge resource space is represented by a three-dimensional space KS (Owner, Category, Location) where KS is the name of the unique knowledge resource space of a VE with a dimension denoted by jKSj. Owner refers to who owns the knowledge resource item (KRI) in the knowledge resource space. Its value can be represented as the domain name of the enterprise plus an individual identier which is network node ID (for explicit knowledge) or personal ID (for implicit knowledge). Category is the knowledge class from the domain ontology constructed based on the corresponding industrys best practices. Category can be divided into subcategories corresponding to the domain ontologys subclass relationship. Location is where the KRI is stored. It can be represented by the Uniform Resource Identier [7] of the explicit KRI or personal contact information of the implicit KRI. Given the values of the three dimensions, each KRI, which can be a document, database le, electronic sheet, or some implicit knowledge held by a person, corresponds to a point in the threedimensional knowledge resource space. If we set the value of one dimension to null, then we get a mapping relation from a three-dimensional to a two-dimensional space. For example, (null, Category, Location) means all KRIs falling in the class Category and located at Location. We can further obtain a mapping relation from a three-dimensional to a one-dimensional space by setting the values of two dimensions to null. For example, (null, Category, null) means all KRIs falling in the class Category, no matter who owns them and where they are located. Denition 2. A model of KRI extending a knowledge resource space is represented as a triple hID, SD, SLi where:

430

P. Liu et al. / Knowledge-Based Systems 24 (2011) 427443

ID is the coordinate of the KRI in the knowledge resource space. SD is the semantic description of the KRI within the domain ontology. SL is the semantic link reecting the semantic relationship between the current KRI and other KRIs. With the semantic link, the user of the current KRI can easily navigate to locate other related KRIs. Zhuge [38] dened the types of semantic links between active documents as Similar-to, Sequential, Reference, SubType, Instance, CauseEffective, and Implication, while Chen [6] analyzed the relations between products, roles, projects, processes and tasks in a VE from a knowledge perspective. Based on their work, we dene the semantic links between the classes in a domain ontology for knowledge sharing as one of the following types: sc 0 Subclass, denoted as sc(d, d0 ) or d ! d , where d is a subclass of d0 . The subclass link is neither reexive nor symmetric but transitive, sc 0 sc 00 0 sc 00 i.e., d ! d ; d ! d ) d ! d holds. eq 0 Equivalence, denoted as eq(d, d0 ) or d ! d , where d is an equiva0 lent class or concept to d . The equivalence link is reexive, symeq eq 0 eq 0 0 eq metric and transitive, i.e., d ! d; d ! d ) d ! d; d ! d ; eq 00 0 eq 00 d ! d ) d ! d hold. po 0 Partof, denoted as po(d, d0 ) or d ! d , where d is a part of d0 . The partof link is neither reexive nor symmetric but transitive, i.e., po 0 po 00 0 po 00 d ! d ; d ! d ) d ! d holds. is 0 Intersection, denoted as is(d, d0 ) or d ! d , where d intersects with 0 d . The intersection link is not transitive but reexive and symmetis is 0 0 is ric, i.e., d ! d; d ! d ) d ! d hold. cp 0 Complement, denoted as cp(d, d0 ) or d ! d , where d is a comple0 ment of d . The complement link is neither reexive nor transitive cp 0 0 cp but symmetric, i.e., d ! d ) d ! d holds. it 0 0 Instance, denoted as it(d, d ) or d ! d , where d is an instance of 0 the class d . The instance link is not reexive, symmetric nor transitive. sq 0 Sequence, denoted as sq(d, d0 ) or d ! d , where d should be learned or done after d0 . The sequence link is neither reexive nor sq 0 sq 00 0 sq 00 symmetric but transitive, i.e., d ! d ; d ! d ) d ! d holds. rf 0 0 Reference, denoted as rf(d, d ) or d ! d , where d refers to or further explains d0 . The reference link is neither reexive nor symmetrf rf 0 0 rf 00 00 ric but transitive, i.e., d ! d ; d ! d ) d ! d holds. In a way analogical to that mentioned in Zhuge [38], the properties of the above links and the reasoning rules shown in Table 1 are exploited to infer the implicit semantic links between KRIs. Upon annotating a KRI, its semantic links with other KRIs can be obtained automatically from the domain ontology based on the values of their IDs in the Category dimension. As a result, a KRI can be expressed uniformly by the following template: KRI template { <ID: the coordinate in the knowledge resource space> [Alias: a unique name of string in the knowledge resource space] [SD: the metadata about the KRI through annotation by domain ontology] [SL { <semantic link type, ID of KRI1> ... <semantic link type, ID of KRIn> }] } In the above template, ID must be provided by the owner of the KRI while Alias, SD and SL may be provided selectively by him/her. The expression of a KRI in the form of a KRI template instance is referred to as Conceptual Instance of KRI (CIKRI) and is stored in the knowledge base of the node which owns or knows the KRI.

Table 1 Reasoning rules for implicit semantic links. No. Rule Rule Rule Rule Rule Rule Rule Rule Rule Rule Rule Rule Rule Rule 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Rules sc(d, d0 ), sc(d, d0 ), sc(d, d0 ), sc(d, d0 ), sc(d, d0 ), sc(d, d0 ), sc(d, d0 ), eq(d, d0 ), eq(d, d0 ), eq(d, d0 ), eq(d, d0 ), eq(d, d0 ), eq(d, d0 ), eq(d, d0 ), eq(d0 , d00 ) ) sc(d, d00 ) po(d0 , d00 ) ) po(d, d00 ) is(d0 , d00 ) ) is(d, d00 ) cp(d0 , d00 ) ) cp(d, d00 ) it(d0 , d00 ) ) it(d, d00 ) sq(d0 , d00 ) ) sq(d, d00 ) rf(d0 , d00 ) ) rf(d, d00 ) sc(d0 , d00 ) ) sc(d, d00 ) po(d0 , d00 ) ) po(d, d00 ) is(d0 , d00 ) ) is(d, d00 ) cp(d0 , d00 ) ) cp(d, d00 ) it(d0 , d00 ) ) it(d, d00 ) sq(d0 , d00 ) ) sq(d, d00 ) rf(d0 , d00 ) ) rf(d, d00 )

Rule 15 Rule 16 Rule 17 Rule Rule Rule Rule Rule Rule Rule Rule Rule Rule Rule Rule Rule Rule Rule 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

po(d, d0 ), sc(d0 , d00 ) ) po(d, d00 ) po(d, d0 ), eq(d0 , d00 ) ) po(d, d00 ) po(d, d0 ), sq(d0 , d00 ) ) sq(d, d00 ) is(d, d0 ), is(d, d0 ), is(d, d0 ), is(d, d0 ), cp(d, d0 ), cp(d, d0 ), cp(d, d0 ), cp(d, d0 ), it(d, d0 ), it(d, d0 ), it(d, d0 ), it(d, d0 ), it(d, d0 ), it(d, d0 ), it(d, d0 ), sc(d0 , d00 ) ) is(d, d00 ) eq(d0 , d00 ) ) is(d, d00 ) po(d0 , d00 ) ) is(d, d00 ) it(d0 , d00 ) ) is(d, d00 ) sc(d0 , d00 ) ) cp(d, d00 ) eq(d0 , d00 ) ) cp(d, d00 ) po(d0 , d00 ) ) cp(d, d00 ) it(d0 , d00 ) ) cp(d, d00 )

sc(d0 , d00 ) ) it(d, d00 ) eq(d0 , d00 ) ) it(d, d00 ) po(d0 , d00 ) ) po(d, d00 ) is(d0 , d00 ) ) is(d, d00 ) cp(d0 , d00 ) ) cp(d, d00 ) sq(d0 , d00 ) ) sq(d, d00 ) rf(d0 , d00 ) ) rf(d, d00 )

Rule 33 Rule 34 Rule 35

sq(d, d0 ), eq(d0 , d00 ) ) sq(d, d00 ) rf(d, d0 ), eq(d0 , d00 ) ) rf(d, d00 ) rf(d, d0 ), po(d0 , d00 ) ) rf(d, d00 )

The corresponding KRI can be located easily and rapidly using the value of the location dimension of each CIKRIs ID. As far as implicit knowledge resources are concerned, the personal contact information is provided in the value of the location dimension of each CIKRIs ID. A CIKRI can be transformed into an XML le or stream to be exchanged between network nodes. As Fig. 1 shows, the knowledge resource structure consists of three layers: physical knowledge resource layer, conceptual knowledge resource layer and knowledge sharing layer. The three layers are detailed as follows, starting from the bottom of the gure: Physical knowledge resource layer. At this layer all KRIs are stored on nodes which reside on the same enterprise network or across different enterprise networks. Due to the heterogeneity of knowledge representation in a VE, it is difcult to share KRIs among users directly, especially across different enterprises. Conceptual knowledge resource layer. This layer consists of the knowledge resource space and semantic link network. By annotating KRIs into CIKRIs, all the knowledge resources are mapped into a uniform knowledge resource space. A semantic link network is formed based on the semantic link relationship among KRIs, which can guide users to easily explore, locate and obtain the knowledge resources they want. Knowledge sharing layer. Knowledge searching and sharing are based on CIKRIs from the conceptual knowledge resource layer. With the semantic relationships among CIKRIs stored on each node, the semantic ties among different nodes as well as among different KRIs can be established and exploited to promote knowledge sharing among users in a VE. The detailed mecha-

P. Liu et al. / Knowledge-Based Systems 24 (2011) 427443

431

nism of knowledge searching and sharing will be discussed in Section 4. 3.2. Knowledge sharing community model Service oriented architecture (SOA) has become the mainstream method for integrating business processes, especially those across organizations. Agent societies have been identied as the most promising approach for developing VE management. We believe it is reasonable to deploy agent wrapping tasks (or activities) as services on network nodes to establish a community model. A dynamic VE can be seen as a collection of agents collaborating to achieve a particular goal. Generally, a dynamic VE consists of a core facility (main contractor) and member facilities (sub-contractors) [36], a structure that corresponds to the goal oriented community where, upon receiving a request from customers, a core agent will dene its goal based on its expertise. This goal is then broken down into tasks (sub-goals), and the appropriate agents capable of carrying out the tasks are located by the core agent using optimization methods or constraint satisfaction theory [25]. Upon locating the appropriate agents, the core agent invites them to join the community to accomplish the assigned tasks in a predened sequence. An agent in the community may further break down its task into activities which are generally mapped into services performed by agents (components or individuals). These agents must interact with other agents within the same enterprise or across other enterprises in the VE to obtain the required information and knowledge. While a process-centered view assumes that knowledge is embedded in the business process by associating a central knowledge repository with the business process, we argue that this view can hardly handle the dynamic situation where business undertakers and operation environments are subjected to rapid changes. In dynamic VEs, knowledge is mostly dispersed across agents, especially those interacting with the markets and environments. An agile knowledge provision method needs to be developed to complement, if not replace, the process-centered method. To counter this problem and facilitate knowledge sharing among members of a VE, a knowledge sharing community model is designed. As Fig. 2 shows the knowledge sharing community model is composed of three levels: the physical agent society, the knowledge sharing virtual community and the goal oriented VE. The three levels are detailed as follows, starting from the bottom of the gure:

Physical Agent Society. Organizational structures must be taken into consideration to construct an agent society infrastructure based on the interconnected local area networks of each member of the VE. Centralized security control architecture is usually adopted by the organization to place the access to its core knowledge assets under strict control to protect itself from losing core competences to rival organizations. In our model, a physical agent society, i.e., a multi-agent system (MAS), is constructed for each member of the VE. In each member enterprise of the VE, there is an administration agent that acts as the enterprises gatekeeper responsible for security control and message routing. An agent is free to contact agents within its enterprise. However, when an agent interacts with agents from other enterprises, the message will be routed to the local administration agent who then routes it to the administration agent of the enterprise where the target agent resides. The administration agent of the target enterprise performs the security control at the message level before routing the message to the target agent within its enterprise. The access control at the object level is performed by the administration agent when access to knowledge objects is requested by agents from other enterprises. The role based security control model such as the one proposed by Chen [6] can be adopted to control access at the object level. By implementing security control at both the message and object access levels through each enterprises administration agent, the protection of core competences is guaranteed. The security control mechanism at the physical agent society level remains transparent to the upper two levels. In an enterprise, each agent registers itself with the administration agent who is also responsible for orchestrating tasks and activities as well as keeping the organization memory updated by loading CIKRIs and their corresponding KRIs from agents into the central knowledge repository of the enterprise. Knowledge sharing virtual community. To improve the efciency of knowledge resource discovery, all agents in the VE are self-organized into communities. In our community model, no administration node is adopted. Imitating the personal contact social behavior, agents with similar interests (i.e., with the supply or demand of the same class of knowledge) are clustered into the same community in which specic agents may act as information gatekeepers or directory service providers. This is possible assuming that those agents have enough information on who can provide what knowledge. An agent may reside in none, one, two or more

Fig. 1. Knowledge resource layer structure.

432

P. Liu et al. / Knowledge-Based Systems 24 (2011) 427443

Fig. 2. Knowledge sharing community model.

communities. If all agents reside in no community then no community has been formed yet. If there is more than one community and each agent resides in different communities then all the communities are isolated from each other. If an agent resides in more that one community then those communities in which the agent resides are connected. The detailed method of community formation and knowledge resource discovery is discussed in Section 4. Goal oriented VE. A dynamic VE consists of n enterprises, with Enterprise1, the dominant member of the VE, being the core that will break the goal down into tasks and assign them to members of the VE. As mentioned above, a service oriented approach is adopted by wrapping the relevant business resources as services and mapping tasks to them. Enterprise1 is responsible for coordinating the resulting process and ensuring the quality of service. Each agent in the goal oriented community operates as the gatekeeper for its enterprise. It publishes the available business resources with the gatekeeper of the core enterprise. It also pools the available business resources in its enterprise or forms another VE if business resources from other partners are needed. In each enterprise member of the VE, the gatekeeper coordinates the collaboration of agents to fulll the assigned task. The service providers need to interact with other agents in the VE to obtain the relevant information and knowledge involved in performing their activities. Instead of searching the whole VEs knowledge resource space, a service provider can search relevant communities in which agents with knowledge resources of the same kind or with the same interests are located.

ities of agents that it is connected to, and satises the knowledge needs of those agents by imitating human social behavior in sharing knowledge with each other. Fig. 3 illustrates the architecture of the agent which consists of four levels, namely knowledge sharing space, knowledge base, functional modules and interface. The four levels are described below. 4.1.1. Knowledge sharing space Knowledge sharing space is a specic folder where all explicit knowledge resources are stored, or a human brain where all implicit knowledge resources are located which the agent would like to share with others. The knowledge sharing spaces of all agents constitute a distributed knowledge repository. 4.1.2. Knowledge base Four types of knowledge are stored in the knowledge base. The rst is the domain ontology which will be referred to by the modules of contribution evaluation, semantic matching and semantic annotation. The second consists of the semantic reasoning rules (shown in Table 1) by which the implicit semantic links between KRIs will be inferred. The third is the topic based subscription list which indicates the interests of other agents in certain topics. By subscribing to certain topics on a target agent, the source agents will be informed of any newly obtained CIKRIs or any changes in CIKRIs on those topics. The fourth is made of the CIKRIs which are semantically annotated instances of the local KRIs owned by the agent or remote ones the agent knows. The CIKRI repository in the knowledge base is organized into a tuple space hCIKRI, Provider, Weight, Contributioni. The description of the items that compose the CIKRIs tuple is presented next: CIKRI is the conceptual instance of a KRI which is represented with the KRI template. Provider is the name or address of the agent which provides the information on the current conceptual instance of the knowledge resource. The provider may be the same as the owner of

4. Community framework 4.1. Agent architecture A software agent is deployed on each network node to perform the knowledge sharing functions based on concepts similar to social networks. Each agent understands the preferences and capabil-

P. Liu et al. / Knowledge-Based Systems 24 (2011) 427443

433

the KRI if the agent in which the CIKRI is stored happens to possess the corresponding KRI. Weight is the importance degree of the KRI corresponding to the current CIKRI evaluated by the user. Contribution is the contribution degree of the KRI corresponding to the current CIKRI evaluated by the user. 4.1.3. Functional modules There are six functional modules within the agent, namely Semantic Explorer, Knowledge Recommendation, Access Control, Contribution Evaluation, Semantic Matching and Semantic Annotation. Semantic Explorer (SE) presents the semantic view (which will be elaborated in Section 4.2.2) of the agent to the user. Through SE the user can explore local CIKRIs and their corresponding KRIs as well as the semantic links among those CIKRIs. The user can also search CIKRIs with a certain topic and have access to the corresponding KRIs. SE provides an interface for the user to perform user-machine interactive tasks. Knowledge Recommendation (KR) processes the query for knowledge on certain topics from the user of the current agent or another querying agent, and returns the locally found results to the user or forwards the query to other known agents if the needed results cannot be reached locally. KR supports the mechanism of pulling and pushing knowledge resources wanted by agents as most recommender systems do. With the pulling mechanism the responding agent returns the found knowledge to the querying agent upon request. With the pushing mechanism the responding agent remembers the preferences of the querying agent and actively sends it the knowledge its needs. Access Control ensures that the knowledge is obtained under proper authority by adopting the ontology-based access control model proposed in Chen [6]. When a querying agent visits the objects (i.e., the KRIs) on a target agent, the target agent will consult with its administration agent to check if the querying agent has the rights to access the objects. At the same time the access control at transportation level is exerted by the administration agent of each physical agent society to ensure

only accesses from trusted domains (i.e., the trusted physical agent societies) are allowed. Only when the access to the knowledge at both transportation level and object level is granted, can the KRI on the target agent be obtained by the querying agent. Contribution Evaluation enables a user to evaluate the contribution degree and importance of a KRI to him/her. In the knowledge base each CIKRI has two ratings associated with it: contribution degree and weight. There are ve possible values for the contribution degree: very strong, strong, neutral, weak, and very weak, which are translated by the system into scores of 5, 4, 3, 2, 1, respectively. There are three levels for weight: very important, important, not important, which are translated by the system into scores of 1, 0.5 and 0.1, respectively. The ratings of weight can be given at topic level or CIKRI level. If they are given at topic level, then a new CIKRI will be assigned a default weight corresponding to the topic at the time it is added to the knowledge base. Using the two measures, the contribution in knowledge of one agent to another can be calculated using Eqs. (3) and (4) presented in Section 4.2.3. Semantic Matching calculates the semantic similarity between different knowledge topics, which are the classes in the domain ontology, and nds the CIKRI equivalent or most semantically similar to a given topic. It also calculates the preference correlation between two agents using Eq. (5) presented in Section 4.2.3. Semantic Annotation helps the user insert, update and delete the annotation of local KRIs with the aid of the domain ontology and maintains the semantic links among local CIKRIs. The annotated content has been discussed in Section 3.1. When a CIKRI is deleted from the CIKRI repository, all the semantic links between it and other CIKRIs are deleted simultaneously. Each agent is obligated to annotate its local non-annotated KRIs. If the annotated KRI is in the form of explicit knowledge, the value of both owner dimension and location dimension of ID is set to domain name of its enterprise plus agent identier. Otherwise the value of owner dimension is set to domain name of its enterprise plus personal contact information instead of agent identier. A user

Fig. 3. Architecture of the agent.

434

P. Liu et al. / Knowledge-Based Systems 24 (2011) 427443

can also use agent to annotate semantic descriptions of a KRI, as well as semantic links among different CIKRIs besides those inherited from domain ontology automatically. 4.1.4. Interface Agents communicate with each other through an interface which provides three functions: Register, Query and Response. They are described next: The Register function can be invoked on a random or targeted agent when a new agent wants to join the virtual knowledge sharing community, or when an agent wants to subscribe to or unsubscribe from a certain topic with another agent. When a new agent joins the community, it can choose to subscribe its interests with a random agent because no other agent knows its interests yet. The Register function is also invoked on the administration agent when a new agent wants to register with its agent society. An agent tries to obtain the required knowledge on a certain topic by invoking the Query function of another agent which is most likely to possess the wanted knowledge or know who possesses it. Obtaining the knowledge resource is completed in two steps: (1) the CIKRI with the requested topic is queried; (2) the corresponding KRI, whose location is indicated by the returned CIKRI, is requested. The Response function is invoked on the querying agent by another agent to return the queried knowledge. Depending on the Query, either CIKRI or KRI is returned. The access control is performed on the target agent to ensure the KRI is obtained under proper authority. 4.2. Knowledge sharing mechanism 4.2.1. Rationale The content index and search mechanism play an important role in the realization and efciency of resource discovery in distributed systems. Risson and Moors [28] conducted a thorough survey of search methods that dene robust p2p networks. They pointed out that a p2p index can be classied as local, centralized or distributed; as non-forwarding or forwarding; and as semanticfree or semantic. The knowledge resource space model adopted in our proposed solution provides a semantic context for distributed physical knowledge resources. Each agent not only keeps the indexes of its own knowledge resources, but also those it knows are owned by other agents so that it can forward the query to the known agents when it does not own the queried resources. We therefore opted for a distributed, semantic and forwarding index. As for the querying methods, we imitate the human social behavior by which three kinds of social ties are established, namely agent-to-item, item-to-item and agent-to-agent. The agent-to-item ties indicate the preferences of an agent. The CIKRI repository of an agent formulates its semantic view. By knowing all or part of the semantic view of other agents, an agent may know which two agents are similar in preferences, so knowledge can be recommended using collaborative ltering techniques [26]. The item-to-item ties are reected by the semantic links between the items. Those ties can help an agent navigate easily to the other knowledge items it requires. Finally, the agent-to-agent ties are formed by social behavior rules as follows: The more times an agent obtains knowledge from another agent successfully, the more strengthened the social ties between them should be. The more alike the preferences of two agents are, the more strengthened the social ties between them should be.

An agent has a limited social memory. That is an agent may forget the old social ties as more new ties are established. To reduce network trafc, only a limited time to live (TTL), i.e., a limited number of knowledge resource query transfers from agent to agent, is allowed. The limited TTL is also called allowed hop times. 4.2.2. The semantic view of agent As mentioned above, each conceptual instance of a KRI has a coordinate in the knowledge resource space where the category dimension consists of the classes from the domain ontology. In the domain ontology, the semantic links among those classes are also dened by domain experts. When a KRI is annotated as a CIKRI, the category dimension of the KRI is assigned a value from the domain ontology. By looking up the semantic links in the domain ontology, the semantic links among the CIKRIs can be annotated automatically by the agent. With the semantic links of CIKRIs that an agent stores in its knowledge base, the agent can formulate its local semantic view as follows: Denition 3. A semantic view of an agent is dened as a directed graph G = hV, Ei, where: V is the set of CIKRIs in the knowledge base of the agent, and E is the set of the semantic links among those CIKRIs. 4.2.3. Correlation between agents Correlation between agents is measured with agent contribution degree and agent preference similarity degree. An agents interests in topics are calculated according to the CIKRIs stored in its knowledge base. 4.2.3.1. Calculation of interests in topics. Just as people in social communities are interested in one or more topics, an agent exhibits its interest in one or more topics with its semantic view. The interest of an agent in a given topic is measured by the maximum semantic similarity degree between the topic and its CIKRIs. With the classes and the semantic links between those classes being dened, the domain ontology can also be viewed as a directed graph G = hV, Ei, where V is the set of all the classes and E is the set of the semantic link relations between the classes. For each ei 2 E, a weight is given to measure the semantic similarity degree between two vertexes connected by it in accordance with its semantic link types as follows:

wei

if STei is Equiv alence

a 0 < a < 1; if STei is not Equiv alence

where ST(ei) is the semantic link type of edge ei. Given class ci and class cj, the semantic similarity degree between them in the domain ontology can be calculated using Eq. (1):

sij simci ; cj max


Rl 2R

Y
Rlk 2Rl

wlk

where R is the set of all the paths in the domain ontology through which ci can arrive at cj, Rl is the lth path in R, Rlk is the kth edge in path Rl and wlk is the weight of Rlk. The direction of the edge is not taken into consideration here. Floyds algorithm [29] (discussed in operations research) can be used to nd the path of maximum weight between any two nodes. Given the semantic view of agent a, we can calculate its interest in topic t using Eq. (2):

Iat max simci ; ct


ci 2C a

where Ca is the set of classes (i.e., the values of the Category dimension) of all CIKRIs on agent a, ct is the class of topic t, sim(ci, ct) is calculated using Eq. (1).

P. Liu et al. / Knowledge-Based Systems 24 (2011) 427443

435

4.2.3.2. Agent contribution degree. To measure how successfully agent j obtains knowledge from agent i, the Agent Contribution Degree (ACD) of agent i to agent j is dened using Eq. (3):

ACDij

K X k1

wijk r ijk

where K is the total number of CIKRIs in the CIKRI repository on agent j with the provider being agent i; wijk is the weight of the kth CIKRI agent j rates with its provider being agent i; rijk is the contribution of the kth CIKRI agent j rates with its provider being agent i. Furthermore, given a topic t, the Agent Contribution Degree in Topic t (ACDT) of agent i to agent j is dened using Eq. (4):

ACDT ijt

K X k1

wijk r ijk skt

Remote requests are obviously subject to the verication of access rights. In the case of implicit knowledge, the contact information of the knowledge holder is presented to the user so that the user can communicate with the knowledge holder to obtain the implicit knowledge. In the situation where no knowledge resources of that topic can be found by the semantic explorer, the user can issue a query to the agent to search the knowledge sharing virtual community instead of its own repository. Upon a topic-based request from the user, the querying agent must decide which agent it should send the query to. If the recipient agent has been specied by the user then the query is delivered to that specic agent by the querying agent. Otherwise, the querying agent performs a local search and/or a community search to obtain the knowledge resource. The main program code (part of it is pseudo-code to avoid redundancy) of the knowledge sharing process is given in the appendix. 4.4. Community evolution When the old task is performed and a new task emerges as the changing market demands, the old VE might be dissolved and a new VE established. As knowledge sharing is concerned in such a situation, the knowledge sharing community evolves as VEs go through their lifecycle: pre-creation, creation, operation, and dissolution. The result of the evolution is an infrastructure that can augment knowledge workers and improve organizations collective intelligence [22]. Our approach achieves this result by the community evolution mechanism under the community framework. The community evolution throughout phases of the VEs lifecycle is described as follows: Pre-creation phase. In this phase, enterprises, including the core enterprise and its partners, have not been pooled together and connected with each other to form a dynamic VE yet. Note that the physical agent society of each enterprise exists before the creation of a VE. By annotating the local KRIs, each agent generates corresponding CIKRIs and stores them in the local knowledge base. At the very early stage of bootstrap, each agent has no knowledge about who has what knowledge within its enterprise. However, agents get to know each other gradually after some random search for knowledge resources or pushing knowledge resources based on interests, and virtual communities are formed within an enterprise by the correlation of each agents semantic view. Creation phase. In this phase, the core enterprise selects partners and they connect with each other to form a dynamic VE. After the core enterprise has selected its partners, the administration agent of each partner (called partner administration agent, PAA) is registered with that of the core enterprise (called core administration agent, CAA). Then CAA assigns PAAs the subtasks and sends them the relevant knowledge resources in the form of CIKRIs, which will guide PAAs to obtain corresponding KRIs. At the same time, PAAs are requested to register the necessary knowledge resources concerned with the subtasks in the form of CIKRIs with CAA. After that CAA pools corresponding KRIs in those PAAs knowledge sharing spaces respectively. Each PAA breaks the assigned subtask down into activities which can be performed by members within its enterprise. If this is the rst VE that has ever been created, then no agent of an enterprise, except the CAA and PAAs, has knowledge of those across other enterprises in the VE up to now. Virtual communities evolve with semantic ties being established between CAA and PAAs. Operation phase. In this phase, members of the VE interact with each other to perform the business operations. In the process of business operation, an agent starts a knowledge searching process to obtain the needed KRIs as required by the implementa-

where K, wijk, rijk bear the same meaning as in Eq. (3); skt is the semantic similarity degree between topic t and the topic of the kth conceptual instance with the provider being agent i. skt is calculated using Eq. (1). 4.2.3.3. Agent preference similarity degree. The preferences of an agent are reected by the topics of the CIKRIs it stores. Due to the distributed nature of agent society, there is no central node that is aware of the full preferences of all agents. However, from the CIKRIs it stores, an agent may know that two or more agents show similar preferences. We adopted the method proposed by Pingfeng et al. [26] to calculate the preference similarity degree between agent i and agent j. Suppose that in an agents CIKRI repository there are M conceptual instances with the provider or owner being agent i and that there are N conceptual instances with the provider or owner being agent j. Use sim(ai, aj) to denote the semantic similarity between the preference of agent i and that of agent j. Let sim(ai, aj) = 0. The semantic similarity matrix of the two agents preferences is:

sp11 B sp B 21 SP B . B . @ . spM1

sp12 sp22 . . . spM2

.. .

sp1N sp2N . . .

1 C C C C A

spMN

where spmn = sim(Tm, Tn), calculated using Eq. (1). Tm is the topic of the mth conceptual instance with the provider or owner being agent i while Tn is the topic of the nth conceptual instance with the provider or owner being agent j. We obtain the maximum sgmn from the matrix and then delete the row and column where the maximum sgmn is located. Let sim(pi, pj) = sim(pi, pj) + spmn. We repeat this process until there is no element left in the matrix SP. Finally we obtain the semantic similarity between ai and aj by Eq. (5):

simai ; aj simai ; aj = minM; N


4.3. Knowledge sharing process

If a user wants to explore the knowledge of a certain topic, he/she can use the semantic explorer to display the local semantic view of knowledge resources. A topic based search mechanism is provided by the agent to let the user search and locate knowledge resources of a certain topic by looking up the topics of local CIKRIs. If the target CIKRI is found, the user can issue a request to get the corresponding KRIs from the local knowledge sharing space or from remote sharing spaces as the value of Location dimension of ID in CIKRI indicates.

436

P. Liu et al. / Knowledge-Based Systems 24 (2011) 427443

tion of the assigned activities. As explained in Subsection 3.2, if the wanted KRI cannot be obtained in the local enterprise, the topic-based query of KRI will be transferred to agents across other enterprises by the administration agents of both the querying enterprise and the recipient enterprise. Since PAAs only know CAA right after the creation phase, the queries of PAAs might be transferred to CAA which in turn will transfer the queries to agents in its enterprise or one of the other PAAs depending on the queried topic. With more queries transferred from one PAA to another through the brokering of CAA, PAAs will get to know each other gradually so that some queries will be transferred between them directly. In the same way, agents across enterprises get to know each other with more knowledge queries issued and answered. At the same time implicit knowledge has better chances of being externalized as more communications on implicit knowledge lead to the possibility of it being codied by tapping the potential of social interactions. The agents semantic views evolve dynamically with the knowledge sharing process. So does the knowledge sharing virtual community. Dissolution phase. In this phase a VE is dissolved after the task is performed. However, each agent and the knowledge sharing virtual community formed by its semantic view will not go extinct. When a new VE is created, an agent can still ask other agents in its virtual communities for help. It is obvious that there will be an accumulation effect in knowledge sharing with more ties between agents being established. By sharing knowledge with each other, each agent coevolves with other agents to adapt to the rapidly changing environment, resulting in improved collective intelligence in an enterprise no matter how dynamic a VE may be. 5. Case study 5.1. Background To validate our approach, we conducted a case study at CNBMEEC, which is a Chinese company in the line of undertaking cement-plant-construction projects both domestically and overseas. The company has less than 100 employees although its annual turnover has reached one hundred million US dollars in the last 5 years. The company has established its core competences in coordinating its partners and various resources to satisfy customers needs in cement plant construction. Upon signing a contract, the company pulls its partners together to form a VE to undertake the project. Its partners include designers, suppliers and subcontractors in various elds. Designers are responsible for designing the cement plants. Suppliers provide the equipments and materials required in building cement plants. Subcontractors undertake the subtasks of the project such as installing machinery. With a long standing experience within its industry, the company has formed standard practices to considerably improve its efciency. However, changing environments necessitate the development of new knowledge and skills. Forms of operation for domestic projects cannot be put directly into practice for overseas projects. The progress of projects is too often delayed by improper techniques and operations taken by the company and its partners, while most mistakes can be avoided by sharing past experiences and newlylearned skills with each other in an agile way to quickly adapt to new environments. Evidently, the company is aware that it is vital to share the information, experience and knowledge among members of the VE as they cooperate in executing the various tasks of the project. The approach presented in this paper is taken by CNBMEEC to promote knowledge sharing in the VE. The knowledge sharing agent system is developed with Eclipse (http://www.eclipse.org) based on JADE [41]. Jena [42] is used to query and operate

the ontology. MySQL (http://www.mysql.com) is used as repository for the agents knowledge base. 5.2. Knowledge sharing mechanism 5.2.1. Domain ontology To promote knowledge sharing and to ensure the unambiguous understanding of knowledge among members of the VE, a domain ontology for the companys best practices is developed using Protg [43]. Fig. 4 shows part of the classes developed in the domain ontology. The project consists of subtasks which are subdivided level by level and described with the class Task (see for example OnSite in Fig. 4). Some subtasks must be nished before other subtasks are started, so Sequence relationship is dened between class Task and class Task. Based on the specialties involved, the project is divided into nine areas described by class Major. Each subcontractor, described with the class Organization, has its own specialties in one or several Majors and undertakes one or more subtasks. Part of relationship is dened between class Major and class Organization, as well as between class Task and class Organization. Class EquipmentMaterials describes all the equipment and materials involved in the project. Partof, Intersection or Complement relationship is dened between class EquipmentMaterials and class EquipmentMaterials to show that a piece of equipment/materials may be part of another one, two pieces of equipment/materials have the same part, or one piece of equipment/material is necessary for another one to function normally. Since equipment and/or materials as well as specialties are required to accomplish a subtask, Reference relationship is dened between class EquipmentMaterials and class Task, as well as between class Major and class Subtask. Those semantic links among top level classes in the domain ontology are shown in Fig. 5. 5.2.2. Knowledge sharing process CNBMEEC has knowledge on the specications of the project, subtask assignment, experiences and lessons learned on some subtasks of the projects previously undertaken. Suppliers have knowledge on the supplied equipment and services involved. Each subcontractor has knowledge on the subtask it has undertaken previously and is undertaking currently, as well as expertise in its eld. At the VE creation stage, each PAA registers itself with CAA, the administration agent of CNBMEEC, by invoking the register interface of CAA. CAA then invokes the register interface of each PAA to subscribe its interests in topic Organization to request the knowledge about enterprise capabilities and qualications from each partner. At the time of assigning subtasks to partners, CAA generates, for each partner, a document on the specications of the subtask and annotates it as a CIKRI with the domain ontology before forwarding it to the corresponding partner by invoking the Response interface of PAA. We take one of the subcontractors as an example to explain how our approach works for knowledge sharing in a dynamic VE. This subcontractor is assigned the subtask of LimestoneCrushingTranspoMechanics. PAA of this subcontractor, called PAA1 in the following, further assigns the subtask to agent1 of this subcontractor by forwarding the knowledge on subtask to it. From the developed domain ontology, we can obtain the semantic links involved in the subtask LimestoneCrushingTranspoMechanics as shown in Fig. 6. The subtask of LimestoneCrushingTranspoMechanics consists of GrindingMachineryInstalling, FeedingMachineryInstalling, TransportationMachineryInstalling, FluidMachineryInstalling and DustCollectionMachineryInstalling. So Partof relationship is denoted between each of them and LimestoneCrushingTrans-

P. Liu et al. / Knowledge-Based Systems 24 (2011) 427443

437

Fig. 4. Excerpt from the domain ontology for CNBMEEC.

poMechanics. To nish the subtask, the undertaker needs both the information of machinery itself and the relevant specialties in installing it. So Reference relationship is denoted between Mechanics and LimestoneCrushingTranspoMechanics, as well as between the corresponding subclasses. The Reference relationship is also denoted between subclasses of MechanicalEquipment and corresponding subclasses of LimestoneCrushingTranspoMechanics. At the initiating stage, agent1 has annotated locally two KRIs into CIKRIs categorized under class MechanicsGrindingMachinery and HammerCrusher respectively and those KRIs are learned by the subcontractor from its past operation experience. Agent1 only knows PAA1 with a CIKRI categorized under the class LimestoneCrushingTranspoMechanics with the provider being PAA1. The user of agent1 evaluates the CIKRI with a weight of 1 and a contribution degree of 1. The knowledge searching user interface of agent1 shown in Fig. 7 presents the semantic view of agent1 at this stage. On the left of the user interface are local CIKRIs categorized under different classes. The class names in gray color mean that there is no CIKRI categorized under them or their subclasses yet. On the right of the user interface are the searching frame, the semantic links of CIKRIs categorized under the selected class, as well as ID and SD of the selected CIKRI (in green color). From the subtask specication, agent1 knows that it needs to install the equipments HammerCrusher, PlateFeeder, RubberBelt-

Conveyor, PulsedBagDustCollector and CentrifugalVentilator. Even though there is a description of the abovementioned equipments in the subtask document, agent1 wants more details about them to make sure everything works as planned. Although agent1 has once locally annotated a CIKRI under the category HammerCrusher, it is an instance involved in a subtask undertaken before and the user is not satised with the local searching result. So community searching is launched. The knowledge about HammerCrusher is searched rst. To calculate the semantic similarity between two classes, the weights of different semantic link types need to be given explicitly. In our case study we set those weights according to our experience, as Fig. 8 shows. The ACDT of PAA1 in topic HammerCrusher is calculated using Eq. (4) as follows:

ACDT P1HammerCrusher 1 1 simLimestoneCrushingTranspoMechanics; HammerCrusher 0:7 0:7 0:8 0:7 0:27


Since ACDTP1HammerCrusher P b (b is set to 0.2 in our case study), agent1 adds itself into the transferring list and increases hop times by 1 before it sends the query to PAA1. There are only two CIKRIs residing in PAA1 for the time being. One is categorized under class LimestoneCrushingTranspoMechanics with the provider being CAA, and another is categorized under class Organization with the provider

Fig. 5. Semantic links among top level classes in the domain ontology.

438

P. Liu et al. / Knowledge-Based Systems 24 (2011) 427443

Fig. 6. Semantic links involved in LimestoneCrushingTranspoMechanics.

being itself. PAA1 cannot satisfy the user of agent1 by local searching. So PAA1 launches community searching. The ACDT of CAA in topic HammerCrusher is calculated using Eq. (4) as follows:

ACDT CPHammerCrusher 1 1 simLimestoneCrushingTranspoMechanics; HammerCrusher 0:7 0:7 0:8 0:7 0:27


Since ACDTCPHammerCrusher > b, PAA1 appends itself to the transferring list and increases hop times by 1 before it forwards the query to CAA, which performs access rights verication rst to ensure that only CIKRIs related to the assigned subtask of agent1 are sent

back to it before CAA performs local searching. Since suppliers have already sent information on equipments to CAA, CAA nds at least one CIKRI categorized under the class HammerCrusher which has the highest semantic similarity degree with the queried topic. The CIKRIs found are sent back to agent1 one by one. Agent1 gets one CIKRI categorized under the class HammerCrusher from CAA and the corresponding KRI through the value of the Location dimension of the CIKRI. The user of agent1 rates it by giving it a weight of 1 and a contribution degree of 1 for the corresponding KRI satises his needs. Agent1 informs CAA of the satisfying result and CAA stops searching. PAA1 also stops searching at a success message received from CAA.

Fig. 7. Knowledge searching user interface of agent1.

P. Liu et al. / Knowledge-Based Systems 24 (2011) 427443

439

ACDT P1MechanicsFeedingMachinery 1 1 simLimestoneCrushingTranspoMechanics; MechanicsFeedingMachinery 0:56


Agent1 adds itself to the transferring list before it sends the query to CAA which performs a local search rst. However, the local search results cannot satisfy the users needs. Therefore CAA performs community searching. The ACDT in MechanicsFeedingMachinery of each agent in the CIKRI repository of CAA is calculated using Eq. (4). The calculated results show that an agent of subcontractor5 (referred to as agent5 in the following) has the highest ACDT among the list of agents whose ACDTs in MechanicsFeedingMachinery are no less than b. CAA appends itself to the transferring list and increases hop times by 1, then transfers the query to agent5 through message routing by PAA5 (PAA of subcontractor5). PAA5 performs an access rights check before it routes the query to agent5. Since agent1 is a partner of agent5, agent1 is allowed to query the knowledge on the queried topic. Agent5 performs a local search and returns to agent1 the CIKRIs in the ordered list one by one for which the semantic similarity degree (with the queried topic MechanicsFeedingMachinery) is no less than a. Agent1 then requests the corresponding KRIs and the user of agent1 judges if it is satisfying. Agent1 is lucky to obtain a satisfying KRI corresponding to the second item in the ordered list from agent5. The user of agent1 evaluates the weights and contribution degrees of the newly obtained CIRKI as 1 and 1 respectively. Agent1 adds the CIKRI to its CIKRI repository and informs agent5 of the success. Then agent5 stops searching and sends a success message to CAA, which stops searching. Supposing that no local result of agent5 satises the user of agent1, agent5 will perform community searching. The process continues in a recursive way until agent1 obtains the satisfying result or the hop times has reached the maximum times allowed. The CIKRIs viewing user interface shown in Fig. 9 presents the semantic view of agent1 after the KRIs wanted by agent1 have been obtained. 5.3. Results and discussion Each user across member enterprises of a dynamic VE exploits the knowledge sharing socio-technological mechanism provided by the agent-based solution to offer and obtain the relevant knowledge it needs in performing its tasks. The case study shows that each user can get the wanted knowledge effectively from his/her counterparts both within his/her enterprise or across other enterprises of the dynamic VE. Virtual communities are formed through the connections among agents established during the knowledge sharing process. Some agents, such as CAA, evolve into hub agents that connect different communities and transfer knowledge queries among those communities, as they know more information on who owns what knowledge. However, some users complain that they have to evaluate more KRIs than they want to, before they get the wanted KRI. The reason for this is that there might be many KRIs categorized under the same class. Take the class HammerCrusher as an example. There are instances of it with different specications, such as processing capabilities. When agent1 queries knowledge under class HammerCrusher, CAA sends all the instances it knows one by one to agent1 until the user of agent1 nds the wanted instance or all the instances are evaluated. Users have to evaluate many unwanted KRIs though they are topic-relevant. So a pure topic-based searching cannot guarantee high efciency in an environment where there are many instances categorized under the same class. This can be improved by extending the topic based searching mechanism into a topicand-attribute based searching mechanism, which makes more

Fig. 8. Semantic similarity weights for different semantic link types.

The knowledge about PlateFeeder is then searched. Community searching is launched on agent1 for the same reason stated above. Now agent1 also knows CAA. The ACDT of PAA1 and CAA in topic PlateFeeder are calculated respectively using Eq. (4) as follows:

ACDT P1PlateFeeder 1 1 simLimestoneCrushingTranspoMechanics; PlateFedder 0:7 0:8 0:7 0:39

ACDT C1PlateFeeder 1 1 simHammerCrusher; PlateFedder 0:7 0:8 0:7 0:7 0:8 0:7 0:7 0:11
Since ACDTP1PlateFeeder > b, agent1 adds itself to the transferring list and increases hop times by 1 before it sends the query to PAA1. In the same way as responding to query on topic HammerCrusher, PAA1 transfers the query to CAA. CAA sends the CIKRI of PlateFeeder to agent1. So agent1 gets the corresponding KRI and the user evaluates it by giving it a weight of 1 and a contribution degree of 1. Agent1 informs CAA of the satisfying result, and both CAA and PAA1 stop searching. In the same way, knowledge about equipments RubberBeltConveyor, PulsedBagDustCollector is obtained. But when it comes to obtaining knowledge about equipment CentrifugalVentilator, the process is a little different. For now, the ACDT of CAA in topic CentrifugalVentilator is greater than that of PAA1 for more ties have been established between agent1 and CAA. Agent1 sends a query on topic CentrifugalVentilator to CAA rst. Although the query is routed by PAA1 at the message level, PAA1 does not perform the function of knowledge searching. Agent1 gets satisfying result from CAA and CAA stops searching. Now, agent1 wants to nd the relevant knowledge to solve the problem it runs into when installing the PlateFeeder. The user explores the ontology and expands the class Major and its descendants to nd that the class MechanicsFeedingMachinery should cover the knowledge he needs. Subsequently, a query for knowledge on the topic MechanicsFeedingMachinery is issued by the user. Since no local knowledge can satisfy the needs of the user, a community search is launched. Same as above, a search based on the contribution degree is performed rst. The ACDT of CAA and PAA1 in topic MechanicsFeedingMachinery is calculated respectively using Eq. (4) as follows:

ACDT C1MechanicsFeedingMachinery 1 1 simHammerCrusher;MechanicsFeedingMachinery 1 1 simPlateFeeder;MechanicsFeedingMachinery 1 1 simRubberBeltConv eyor;MechanicsFeedingMachinery 1 1 simPulsedBagDustCollector;MechanicsFeedingMachinery 1 1 simCentrifugalVentilator;MechanicsFeedingMachinery 1:06

440

P. Liu et al. / Knowledge-Based Systems 24 (2011) 427443

Fig. 9. CIKRIs viewing user interface of agent1.

accurate matching and reduces the number of KRIs that need to be evaluated. 6. Conclusions and future work Knowledge sharing among members of a dynamic VE plays a key role in its competence. VEs can be formed or dissolved, but the three kinds of ties, especially the agent-to-agent ties, can be sustained to help users locate and obtain the needed knowledge in an agile way instead of referring to the central knowledge repository. New knowledge may not exist in the central knowledge repository for it takes time to incorporate new knowledge into the organizations memory. Furthermore, the organizations policy may not cope with knowledge sharing across enterprises, which is required for operating dynamic VEs. In dynamic environments such as those of VEs, each individual user is an active knowledge user as well as a knowledge creator. We believe that the concept of social web will change the way of managing knowledge both within and across enterprises just as the Internet has changed the way enterprises interact with each other. This motivated us to take a socio-technological approach to propose a human-centered knowledge sharing solution and architecture in order to promote knowledge sharing in dynamic VEs. In this paper, the problems and characteristics of knowledge sharing in a dynamic VE are analyzed. A knowledge resource space model and a knowledge sharing community based on agent society are proposed to solve those problems and promote the efciency of knowledge sharing in dynamic VEs. By extending the knowledge resource space model proposed in this paper, the KRI template is adopted to represent heterogeneous knowledge resources to provide a uniform conceptual resource layer for the uniform semantic interactions among agents. The knowledge sharing community model comprises three layers: physical agent society, knowledge sharing virtual community and goal oriented VE. Any knowledge required by members to perform the assigned tasks in the goal oriented VE is acquired through the knowledge sharing virtual community. The framework of the knowledge sharing virtual community is elaborated in two aspects. The rst aspect is an agent on each network node to perform the functions of knowledge representation, browsing, searching and sharing, as well as knowledge resource access control. The second is a knowledge resource dis-

covery mechanism. Three kinds of ties (agent-to-item, item-toitem and agent-to-agent) are explored for the knowledge resource discovery process. The agent-to-item ties are reected by the semantic view of the agent. The item-to-item ties are reected by the semantic links among them. The agent-to-agent ties are formed by simulating social behavior. The agent-to-agent ties are measured by preference correlation using two criteria. One is the contribution degree of one agent to another while the other is the preference similarity degree between two agents. The main program code for knowledge sharing process is presented in the appendix. The evolution mechanism of virtual communities both within an enterprise and across other enterprises throughout the lifecycle of a dynamic virtual enterprise is also elaborated. The case study validates our approach. In our future work, the following problems need to be solved to improve the work presented in this paper. Since a pure topic based searching cannot guarantee high efciency in an environment where there are many instances categorized under the same class, we need to develop a topic-and-attribute-oriented searching mechanism to make more accurate semantic matching based on the topic-oriented searching mechanism proposed in this paper. We will also conduct a performance analysis and cross analysis on different parameters such as weights of semantic link types, threshold values for contribution degree and preference similarity. Besides, since trust is always a key issue in information sharing, we need to extend our solution to address it. To ensure that the evolving semantic view of each agent is consistent with its mapped knowledge resources, we also need to improve the evolution mechanism of agents by incorporating the synchronization mechanism of the information on the existing status of knowledge resources into our framework. To improve the efciency of implicit knowledge sharing, we need to integrate instant messaging tools in our framework so that the contact with the implicit knowledge holder can be established easily when a request for implicit knowledge is issued. Last but not least, to take advantage of the benets of both human-centered knowledge sharing and process-centered knowledge sharing, we need to extend the functions of the agent to manage the relation between task and knowledge so that when a member in the VO is assigned a task, the relevant knowledge can be obtained intelligently and navigated quickly by the mapping relationships between tasks and knowledge.

P. Liu et al. / Knowledge-Based Systems 24 (2011) 427443

441

Appendix A The main program code of the knowledge sharing process (note: part of it is pseudo-code to avoid redundancy): /*Function: this method is executed if recipient agent is specied by user for knowledge search Input: strTopic is the queried topic, agDest is the recipient agent which takes over the process of knowledge search. Output: the query result of int type. There are three values: R_SUCCESS, R_NORESPONSE, R_FAILURE.*/ public int Query (String strTopic, KnowAgent agDest) { //return if user does not specify the recipient agent if (isNull (agDest)) return false; /*generate a transferring list, add current agent ID in transferring list, and increase hop times by 1*/ TransferList tList = InitializeTransferList(); //this method invokes the query interface of agDest return SendQuerytoAgent (agDest, strTopic, tList); }

/*perform random search if both local search and community search failed in obtaining the wanted KRI. Only the query initiating agent performs random search to avoid ooded messages.*/ if (isNull (tList))/*Transferring list has not been generated yet, which means that current agent is the query initiating agent*/ nRet = RandomSearch(strTopic); return nRet; } /*Function: Current agent searches CIKRIs stored locally and sends relevant ones to the query initiating agent to get corresponding KRIs till the query initiating agent has obtained a satisfying KRI or the local CIKRIs are exhausted. Input: strTopic is the queried topic, tList is the transferring list which records what agents have been queried and the transferred times among agents, called hop times. Time-toLive (TTL) is the maximum hop times allowed. Output: the query result of int type. There are three values: R_SUCCESS, R_NORESPONSE, R_FAILURE.*/ private int LocalSearch (String strTopic, TransferList tList) { oat fSim; int nResult = R_FAILURE; /*get the minimum valve-value of semantic similarity from environment variables*/ oat fAlpha = getContext().getParameter (SemanticSimilarityValveValue); /*generate sorted CIKRIs in descending order according to their semantic similarity with queried topic*/ for (CIKRI ci: LocalArrayCIKRI)//iterate all the local CIKRIs { /*calculate semantic similarity between local CIKRI and queried topic using Eq. (1)*/ fSim = CalcSimilarity (ci.getClassName(), strTopic); //only consider ci with similarity greater than fAlpha if (fSim P fAlpha) { put ci with its fSim in a collection cCI; } } Sort cCI in descending order according to fSim; //get the query initiating agent KnowAgent agInitiate; if (isNull(tList)) agInitiate = KnowAgent.FromID(getAgentID()); else agInitiate = KnowAgent.FromID (tList.getInitiatingAgentID()); /*send each CIKRI to the query initiating agent until the user of the query initiating agent obtains a satisfying KRI or the ordered collection is exhausted*/ for (CIKRI ci: cCI) { /*send CIKRI to the query initiating agent, which in turn retrieves the corresponding KRI and the user evaluates if he/she is satised with the result.*/ nResult = SendResponsetoAgent(agInitiate, ci); /*stop search if the user of the query initiating agent has got the satisfying result or the query initiating agent has not responded for a long time*/ if (nResult == R_SUCCESS k nResult == R_NORESPONSE) break; } return nResult; }

/*Function: this method implements the query interface of agent. Agent user or other agents invoke this method to get the wanted KRI. Input: strTopic is the queried topic, tList is the transferring list which records what agents have been queried and the transferred times among agents, called hop times. Time-toLive (TTL) is the maximum hop times allowed. Output: the query result of int type. There are three values: R_SUCCESS, R_NORESPONSE, R_FAILURE.*/ public int Query (String strTopic, TransferList tList) { if (!isNull(tList)) /*There is at least one querying agent in the transferring list*/ { /*check if current agent has been in the transferring list. If so, stop further action to avoid endless cycling*/ if (tList.Exists(getAgentID())) return R_FAILURE; /*stop action if the rst agent in the transferring list, called query initiating agent, does not have access rights for queried topic*/ else if (!CheckAccessRights(tList.getInitiatingAgentID(), strTopic)) return R_FAILURE; } //perform local search int nRet = LocalSearch (strTopic, tList); /*stop search if the query initiating agent has obtained a satisfying KRI or the query initiating agent has not responded for a long time*/ if (nRet == R_SUCCESS k nRet == R_NORESPONSE) return nRet; /*perform community search if local search failed in obtaining the wanted KRI*/ nRet = CommunitySearch (strTopic, tList)) /*stop search if the query initiating agent has obtained a satisfying KRI or the query initiating agent has not responded for a long time*/ if (nRet == R_SUCCESS k nRet == R_NORESPONSE) return nRet;

442

P. Liu et al. / Knowledge-Based Systems 24 (2011) 427443

/*Function: search other agents in the community of current agent, i.e., having high ACDT or preference similarity with current agent, till the query initiating agent has obtained a satisfying KRI or the local CIKRIs are exhausted. Input: strTopic is the queried topic, tList is the transferring list which records what agents have been queried and the transferred times among agents, called hop times. Time-toLive (TTL) is the maximum hop times allowed. Output: the query result of int type. There are three values: R_SUCCESS, R_NORESPONSE, R_FAILURE.*/ private int CommunitySearch (String strTopic, TransferList tList) { oat fDgree; boolean bRet = false; int nResult = R_FAILURE; /*Community search can only be performed when hop times in transferring list are no more than TTL*/ if (isNull (tList)) InitializeTransferList(); else if (tList.Timeout())//the hop times has reached the maximum hop times allowed return false; else{ /*add current agent ID in the transferring list and increase hop times by 1*/ tList.AddTransfer(getAgentID()); } /*Start: Search those agents with a high contribution degree in the queried topic.*/ /*get the minimum valve-value of agent contribution degree in a topic ( ACDT) from environment variables*/ oat fBeta = getContext().getParameter (ConributionDegreeValveValue); /*generate sorted providers in descending order according to their ACDT*/ Put the providers of the local CIKRIs in a collection cProvider. for (KnowAgentID kai: cProvider) { /*calculate agent contribution degree in topic strTopic using Eq. (4)*/ fDgree = CalcACDT (kai, strTopic); /*only consider providers with ACDT greater than valve-value*/ if (fDegree P fBeta) { put kai with its fDegree in a collection cKAI; } } Sort cKAI in descending order according to fDegree; /*Issue a query to the agent with the highest ACDT until the user gets the satisfying KRI or the ordered collection is exhausted.*/ for (KnowAgentID kai: cKAI) { KnowAgent agDest = KnowAgent.FromID (kai); //transfer the query to the recipient agent. nResult = SendQuerytoAgent (agDest, strTopic, tList); if (nResult == R_SUCCESS k nResult == R_NORESPONSE) break; } /*stop search if the user of the query initiating agent has got the satisfying result or the query initiating agent has not responded for a long time*/ if (nResult == R_SUCCESS k nResult == R_NORESPONSE)

return nResult; /*End: Search those agents with a high contribution degree in the queried topic.*/ /*Start: Search those agents with high similar preferences.*/ /*get the minimum valve-value of agent preference similarity from environment variables*/ oat fGamma = getContext().getParameter (PrefSimilarityValveValue); /*generate sorted providers in descending order according to their preference similarity with current agent*/ for (KnowAgentID kai: cProvider) { /* calculate preference similarity of each provider with current agent using Eq. (5)*/ fDgree = CalcPrefSim(kai, getAgentID()); /*only consider providers with ACDT greater than valve-value*/ if (fDegree P fGamma) { put kai with its fDegree in a collection cKAI; } } Sort cKAI in descending order according to fDegree; /*Issue a query to the agent with the highest preference similarity until the user gets a satisfying KRI or the ordered collection is exhausted.*/ for (KnowAgentID kai: cKAI) { KnowAgent agDest = KnowAgent.FromID(kai); //transfer the query to the recipient agent. nResult = SendQuerytoAgent(agDest, strTopic, tList); if (nResult == R_SUCCESS k nResult == R_NORESPONSE) break; } /* End: Search those agents with high similar preferences.*/ return nResult; } /*Function: the query initiating agent queries random agents aiming to get the wanted KRI. Input: strTopic is the queried topic Output: the query result of int type. There are three values: R_SUCCESS, R_NORESPONSE, R_FAILURE.*/ private int RandomSearch(String strTopic) { int nResult = R_FAILURE; TransferList tList = InitializeTransferList(); /*search randomly until succeeding or reaching maxTryTimes*/ for (int i = 0; i < maxTryTimes; i++){ //get an agent randomly by Ping-Pong messages KnowAgent agRandom = randomAgent(); //send query to that agent nResult = SendQuerytoAgent (agRandom, strTopic, tList); /*stop search if the query initiating agent has obtained a satisfying KRI or the query initiating agent has not responded for a long time*/ if (nResult == R_SUCCESS k nResult == R_NORESPONSE) break; } return nResult; }

P. Liu et al. / Knowledge-Based Systems 24 (2011) 427443

443

References
[1] L. Beig, A. Ghavamifar, Organizational memory building blocks of virtual organizations, in: 3rd International Conference on Information and Communication Technologies: From Theory to Applications, Publishing, 2008, pp. 16. [2] S. Bergamaschi, G. Gelati, F. Guerra, M. Vincini, An intelligent data integration approach for collaborative project management in virtual enterprises, World Wide Web 9 (2006) 3561. [3] D.J.H. Burden, Deploying embodied AI into virtual worlds, Knowledge-Based Systems 22 (2009) 540544. [4] L. Camarinha-Matos, H. Afsarmanesh, The virtual enterprise concept, in: Proceedings of the IFIP TC5 WG5.3/PRODNET Working Conference on Infrastructures for Virtual Enterprises, Publishing, 1999, pp. 314. [5] L. Camarinha-Matos, H. Afsarmanesh, Virtual enterprise modeling and support infrastructures: applying multi-agent system approaches, Multi-Agent Systems and Applications (2001) 335364. [6] T.-Y. Chen, Knowledge sharing in virtual enterprises via an ontology-based access control approach, Computers in Industry 59 (2008) 502519. [7] A. Cheng Leong, R. Gay, O. Sourina, Data integration for virtual enterprise in cyberworlds, in: 2005 International Conference on Cyberworlds, Publishing, 2005, pp. 395398. [8] H. Fujita, J. Hakura, M. Kurematu, Intelligent human interface based on mental cloning-based software, Knowledge-Based Systems 22 (2009) 216234. [9] Z. Fuqing, H. Yi, Y. Dongmei, A multi-objective optimization model of the partner selection problem in a virtual enterprise and its solution with genetic algorithms, The International Journal of Advanced Manufacturing Technology 28 (2006) 12461253. [10] M. Ganzha, M. Paprzycki, M. Gawinecki, C. Badica, E. Popescu, P. Myon-Woong, Adaptive information provisioning in an agent-based virtual organizationpreliminary considerations, in: 2007 International Symposium on Symbolic and Numeric Algorithms for Scientic Computing, Publishing, 2007, pp. 235 241. [11] H. He, S. Zhongzhi, C. Yong, Q. Lirong, Service-oriented knowledge management on virtual organizations, in: The Fifth International Conference on Computer and Information Technology, Publishing, 2005, pp. 10501054. [12] J.-J. Huang, The evolutionary perspective of knowledge creation a mathematical representation, Knowledge-Based Systems 22 (2009) 430438. [13] Y. Huang, N. Contractor, Y. Yao, CI-KNOW: recommendation based on social networks, in: The 9th Annual International Digital Government Research Conference, Publishing, 2008, pp. 2733. [14] P. Jackson, J. Klobas, Transactive memory systems in organizations: implications for knowledge directories, Decision Support Systems 44 (2008) 409424. [15] T. Jiuyang, Z. Weiming, X. Weidong, T. Daquan, S. Junfeng, Self-organizing service-oriented peer communities, in: Advanced International Conference on Telecommunications/International Conference on Internet and Web Applications and Services, Publishing, 2006, pp. 99103. [16] L. Juan, V. Son, Ontology-based clustering and routing in peer-to-peer networks, in: Sixth International Conference on Parallel and Distributed Computing, Applications and Technologies, Publishing, 2005, pp. 791795. [17] J. Kanet, W. Faisst, P. Mertens, Application of information technology to a virtual enterprise broker: the case of Bill Epstein, International Journal of Production Economics 62 (1999) 2332. [18] C.-H. Kim, Y.-J. Son, T.-Y. Kim, K. Kim, K. Baik, A modeling approach for designing a value chain of virtual enterprise, International Journal of Advanced Manufacturing Technology (2006) 10251030. [19] T. Kim, S. Lee, K. Kim, C. Kim, A modeling framework for agile and interoperable virtual enterprises, Computers in Industry 57 (2006) 204217.

[20] H. Li, R. Xiao, A multi-agent virtual enterprise model and its simulation with Swarm, International Journal of Production Research 44 (2006) 17191737. [21] L. Liu, N. Antonopoulos, S. Mackin, Social peer-to-peer for resource discovery, in: 15th EUROMICRO International Conference on Parallel, Distributed and Network-Based Processing, Publishing, Naples, Italy, 2007, pp. 459466. [22] P. Maglio, J. Bailey, D. Gruhl, Steps toward a science of service systems, Computer 40 (2007) 7177. [23] G.S. Mahalakshmi, T.V. Geetha, Argument-based learning communities, Knowledge-Based Systems 22 (2009) 316323. [24] I. Nonaka, A dynamic theory of organizational knowledge creation, in: E.S. David (Ed.), Knowledge, Groupware and the Internet, Publishing, Boston, 2000, pp. 342. [25] T.J. Norman, A. Preece, S. Chalmers, N.R. Jennings, M. Luck, V.D. Dang, T.D. Nguyen, V. Deora, J. Shao, W.A. Gray, N.J. Fiddian, Agent-based formation of virtual organisations, Knowledge-Based Systems 17 (2004) 103111. [26] L. Pingfeng, N. Guihua, C. Donglin, Exploiting semantic descriptions of products and user proles for recommender systems, in: 2007 IEEE Symposium on Computational Intelligence and Data Mining, Publishing, 2007, pp. 179185. [27] L. Rasmussen, A. Wangel, Work in the virtual enterprise: creating identities, building trust, and sharing knowledge, AI & Society 21 (2007) 184199. [28] J. Risson, T. Moors, Survey of research towards robust peer-to-peer networks: search methods, Computer Networks 50 (2006) 34853521. [29] W. Robert, Algorithm97 (shortestpath), Communication of the ACM 5 (1962) 345. [30] J. Sarkis, S. Talluri, A. Gunasekaran, A strategic model for agile virtual enterprise partner selection, International Journal of Operations and Production Management 27 (2007) 12131234. [31] L. Sheng-Cheng, W. Yu-Min, D.Y. Shee, A conceptual framework of transactive networks system, in: The 41st Hawaii International Conference on System Sciences, Publishing, 2008, pp. 110. [32] R. Vandaie, The role of organizational knowledge management in successful ERP implementation projects, Knowledge-Based Systems 21 (2008) 920926. [33] C.-Y. Wang, H.-Y. Yang, S.-C.T. Chou, Using peer-to-peer technology for knowledge sharing in communities of practices, Decision Support Systems 45 (2008) 528540. [34] J. Wang, K. Gwebu, M. Shanker, M.D. Troutt, An application of agent-based simulation to knowledge sharing, Decision Support Systems 46 (2009) 532 541. [35] Y. Wei-dong, Z. Ming, Research on knowledge management framework based on peer-to-peer computing, in: Third International Conference on Intelligent Information Hiding and Multimedia Signal Processing, Publishing, 2007, pp. 313316. [36] R. Yaman, S. Moussa, Virtually formed manufacturing enterprises, Assembly Automation 26 (2006) 287298. [37] Q. Yang, B. Song, W. Lu, Y. Zhang, Integrating knowledge maps in design process congurations for concurrently engineered product development, Proceedings of the Institution of Mechanical Engineers, Part B: Journal of Engineering Manufacture 221 (2007) 431445. [38] H. Zhuge, Active e-document framework ADF: model and tool, Information and Management 41 (2003) 8797. [39] H. Zhuge, Resource space grid: model, method and platform, Concurrency and Computation Practice and Experience 16 (2004) 13851413. [40] H. Zhuge, Y. Xing, Integrity theory for resource space model and its application, Advances in Web-Age Information Management (2005) 824. [41] Java Agent DEvelopment Framework, March 12, 2009. <http://jade.tilab.com/>. [42] Jena A Semantic Web Framework for Java, March 26, 2009. <http:// jena.sourceforge.net/>. [43] The Protg Ontology Editor and Knowledge Acquisition System, March 23, 2009. <http://protege.stanford.edu/>.

You might also like