Semantic shared space-based complex tasks allocation method for massive MAS Zaki Brahmi URSIIVA Research Unit Tunisia Email:
[email protected] Mohamed Mohsen Gammoudi High School of Statistics and Information Analysis of Tunis Tunisia Email:
[email protected]
Abstract—Task allocation is still a fundamental problem in Multi-Agents System (MAS). It allows coalition formation of agents in order to cooperate together to perform a complex task. In general, the task allocation process includes two steps: i) finding the set of agents that can, potentially, participate to task allocation process, ii) computing the optimal allocation to execute the given task. In this work further attention is given for the first step. Indeed, in the context of massive MAS, characterized by dynamic, heterogeneous and a large number of autonomous agents, an efficient model of communication is required. This implies a need for a scalable and semantic infrastructure which allows: i) agents to be able to easily find each other and ii) semantic interoperability that refers to a common understanding of information communicated between agents. In this work information refers to an announced task. Different models of communication have been proposed, including broadcasting, forwarding, central server and group communication. Most of these approaches do not scale well in the context of massive MAS; when the number of agents grows. In additional, agent communication languages (ACLs), such as the KQML or FIPA ACL divide messages into several layers, and provide a specific syntax and semantics only for the outer layer, but its content is still arbitrary. To deal with these limitations, this paper extends our last task allocation method for massive MAS to shared space mechanism. This mechanism allows agents to find each by providing a logical shared space with temporal and special decoupling properties. To ensure semantic interoperability, we use a Task Ontology language (OWL-T) as a tuple space and a FIPA content message. OWL-T is based on the OWL for formally and semantically defining task in a high-level abstraction. Index Terms—Task Allocation, Massive Multi-Agents System, Communication, Shared space, Ontology, OWL-T
I. INTRODUCTION A major challenge in the field of Multi-Agent Systems is to enable autonomous agents to allocate tasks efficiently. Task allocation is defined as the process by which a group of agents come together and agree to coordinate and cooperate in order to execute one or more tasks which are impossible to perform individually[21]. In this work, we address the problem of task allocation in a cooperative environment. Common goal of agents is to maximize system’s overall profit. This kind of allocation finds its applicability in many areas in the real world such as e-commerce [28], distributed delivery vehicles
[22], grid computing [14], and so on. In particular, we consider the case where each task is divided into several sub-tasks. The achievement of a given task requires the assignment of all its different sub-tasks to appropriate agents having the required capacities. By means of illustration, we consider the web services discovery problem. When there is a large number of web services available and no single service satisfies the given request, multiple web sub-services come together in order to fulfil the user request. These applications involve a large number of interacting agents. Thus, we call this type of MAS, Massive MAS (MMAS). Generally, the process of finding the optimal allocation follows two steps: 1) Locating a set A of potential agents which are able to execute one or many sub-tasks. 2) Computing from set A the optimal group of agents (or allocation) in order to execute an announced tasks. The second step was the goal of our previous work [3]; we proposed a decentralized and scalable tasks allocation method in MMAS. This method is based on the idea of: finding for each sub-task the group of agents that can execute it. For this finality, we group agents based on Formal Concepts Analysis (FCA) approach. Build a hierarchical organization for these groups. Finally we calculate, without computing all possible allocation, the optimal one. In [3], the first step is omitted. We assumed that agents know each other’s and we did not discuss the model of communication used by agents : wchich Task specification used and who locating agents. In this paper we extend this step to shared space mechanism which allows to agents finding each other. A massive MAS is characterized by: •
•
Dynamicity: in open dynamic environment, agents have born and died regularly, as they may change their capabilities and knowledge. Heterogeneity: a MMAS aggregates a large number of independent agents, geographically distributed, with varied skills and knowledge, and exchanging heterogeneous information.
2
•
Scalability: a basic essential characteristic of a MMAS is the large number of agents that form, this feature causes problems such as: controlling the collective behavior of agents, increasing the flow of communication and MAS’s response time.
To deal with these characteristics, an efficient communication model is needed. This implies a need for a scalable and semantic infrastructure which allows to an agent to easily find each other’s and to ensure semantic interoperability. To ensure scalability an efficient model of communication should: i) reduce communication between agents; ii) allow to tasks allocation process to find all agents in the environment and iii) management agents dynamicity. Thus the model should be: asynchronous to anabble decoupled in time and space and associative to allow intercation to be anonymous and based en content rather than addresses or names of agents. Inded, maintaining common knowldege about agents in dynamic MAS environments is infeasible [4]. Since, semantic interoperability refers to a common understanding of information communicated between agents, a semantic language is needed to deal with heterogeneity future. In this work information refers to an announced task. In the context of dynamic and distributed open system like MMAS, these goals become a hard problem. Different models of communication have been proposed including broadcasting, forwarding, central server and group communication. Most of these approaches do not scale well in the context of massive MAS; when the number of agent grows [11]. In addition, they do not recover all agents in environment. Indeed, initiator of allocation process, communicate only with agents which belong to it social network. In the other hand, agent communication languages (ACLs), such as the Knowledge Query and Manipulation Language (KQML) [9] or the Foundation for Intelligent Physical Agents (FIPA) ACL [10], were designed to provide a uniform syntax and semantics for messages with arbitrary content. They divided messages into several layers, and provided a specific syntax and semantics only for the outer layer, which supplied information about the message, its handlers (sender and recipient), its context and the language and ontologies used for the inner content layer which could be in any format or language. One of the popular approaches that scale in a large number of agents is the generative tuple space based communication, where agents interact via a shared space or Linda system [7]. In this model, agents do not interact directly with each other, instead, the interaction is carried out by means of a common space into and from which they may read and write data. This has many benefits; it decouples communication with respect to time, location and space. So, an agent do not need to know each other. These futures motivate the use of this model as communication infrastructure in our task allocation approach [3]. On major shortcomings of the several Tuple Space implementations, tuples are retrieved by employing type-value matching of ordered tuples (e.g. Linda [7]), object-based polymorphic matching (e.g. JavaSpace [12], or XML-style pattern matching (e.g. XMARS [6], XMLSpaces [25]). This is due to no
semantic associated to message published in a space. To deal with these shortcomings, and to ensure semantic interoperability we use Task Ontology language, OWL-T [27], based on the OWL ontology for formally and semantically defining task in a high-level abstraction. Indeed, agents communicate, using FIPA language in which the content of a message is an OWL-T specification. This paper is organized as follows: the following section presents related works to our problem. In section 3 we present the shared space notion. Section 4 details a comparative study between some semantic languages. Setction presents OWL-T language. In section 6 and 7, we will detail our contribution for tasks allocation for MMAS based on semantic tuple space model. Finally, we conclude our work and we give some prospects. II. RELATED WORKS The task allocation in a Multi-Agent System represents a problem which remains until our days of topicality. In fact, several works are interested to solve it, which can be expressed as follows: how to find in a reasonable time, the optimal allocation by reducing the communication between agents [21], [18], and [30]. In this section, we will study related works of task allocation from the communication perspective. Essentially, some of them are interested in regrouping agents according to their common properties, such as the work of [17]. The goal of authors is to minimize the flow of communication between agents by using group communication model. In other works, agents interact through implicit communication, based on their perception space. As example, in the work of [22] authors propose a distributed algorithm for task allocation for MAS. The approach is applicable in the geographical area where agents and tasks are geographically distributed. Indeed, the agent must move to find the task to perform. To minimize communication flow, each agent has a vision circle which represents its perception space. Moreover, an agent performs only a task which belongs to its perception space. As well, in [29] a team of agents is formed to perform a task by implicit communication between the task agents, mediated by the beacons (intelligent stationary agents maintains information about the region). Each task agent enters a region, looks for tasks for whom it’s specialized. Finding one, it communicates with the beacon to register the presence of task. Other works, like [8], are based on social network of agents. Authors propose an algorithm which is a distributed version of Smiths contract-net protocol, where agents are connected in a social. For a given task, agent requests help only for its neighbors. [24] proposes a location mechanism for open Multi-Agent systems to allocate tasks to unknown agents. In this approach, each agent hide a list of agents they know. Other works assume that each agent knows the capabilities of all other. For example, in [15] authors develop an auction protocol that enables agents to form coalitions with time constraints. It assumes that each agent knows the capabilities of all other. [18] Proposes a solution based on the bipartite graph. Nodes of the graph represent agents and sub-tasks.
3
Authors assume that allocator agent knows agents which participate in the task allocation process. In [21], authors are interested in coalition formation in a cooperative environment. They propose an algorithm for coalition forming named DCVC (Distributing Coalitional Value Calculations among cooperating agents). This approach assumes that all agents, who have homogeneous capacities, know each other. To conclude, most proposed solutions have the same shortcomings: 1) Most of them use as infrastructure of communication, the social network model. So agents are strongly coupled and not scale when the number of agents increases. 2) No model recovers all agents situated in the environment. 3) TAsk specification is omitted. To interact together, agents need a communication language. In the context of complex task allocation for MMAS, this language must be able to model a complex task and to ensure semantic interoperability. The most knowing agent communication languages (ACLs) are Knowledge Query and Manipulation Language (KQML) [9] and Foundation for Intelligent Physical Agents (FIPA) ACL [10]. These languages were designed to provide a uniform syntax and semantics for messages with arbitrary content. As presented in the introduction, they only provide the conversation envelope for information exchanged [23]. So, FIPA and KQML content language are in general undecidable and do not assure interoperability. To deal with these limitations, extensions of FIPA are developed, such as [13] and [2]. In these extensions, OWL and OWL-DL language are used for FIPA content language. Their major shortcoming is inability to easy describe a complex task. To overcome these limitations, we use one of the popular approaches as a model of communication, which is the generative tuple space based communication, where agents interact via a logical shared space. To ensure semantic interoperability (between agents) and smenatic tuple space specification, OWL-T and FIPA ACL language are used. III. SHARED SPACE This section introduces the notion of shared space computing and its convenience that motivates it use in our task allocation approach. Shared space concepts have been used to explore applications on distributed systems which are relevant to the area of MAS coordination. It has been widely recognized as a promising communication infrastructure in distributed environment [31], and provides a very flexible and powerful mechanism for supporting extremely dynamic coordination patterns. Indeed, the space-based systems are loosely coupled, in time (data can publish it at any point in time) and space (independent of the knowledge about potential readers), since applications communicate via virtual spaces. Space-based architecture offers a number of desired features such as robustness, scalability, persistency and adaptability. Linda [7] was first introduced in 1982 as a coordination language based on the idea of shared-space infrastructure. The tuple space, similar to a blackboard system in AI parlance, is like a shared space
where agents can put or retrieve information. In the basic Linda, agents use three basic operations to interact: • •
•
Out (tuple) adds a tuple into space. In(template) retrieves a tuple from space. This primitive searches the TS for a tuple that matches the template. When a match is found, the tuple is removed from space and returned to the calling process. Otherwise, the operation blocks until a suitable tuple is returned. rd(template) acts in the same way as in, except that a copy of the tuple is returned to the calling process, without removing the original one from the space.
This small set of operators provides a simple and uniform interface to the tuple space[32]. The tuple space paradigm, which supports an asynchronous associative communication model and provides simple programming abstractions, presents an attractive approach for addressing the issues outlined above. IV. SEMANTIC LANGUAGE Several languages exist in MAS and semantic Web fields, which can be candidate to semantically describe a Task in a high-level abstraction. In this work we focus on a set of languages: WSDL, BPEL, WSCI, OWL-T, Durra, OWL-S, and GDL4WSAC. GDL4WSAC (Goal Description Language for Web Service Automatic Composition) [1] is based on OWL ontology to goal description, which describes users’ requirements in order to solve the semantic gap between goals and implementations. It describes the goals needed to be achieved, relationships within goals and constrains when achieving the goals. A goal can be decomposable on set of atomic goal using iterate, unordered, sequence, and prefer operators. OWL-S for OWL-Services [33] is an ontology for a service meta-model written on OWL. OWL-S based on an (input, output, preconditions, effects) quadruple to semantically describe services. In OWL-S a service can be decomposable into other atomic or composite service. Same control constructs are used to specified such decomposition: sequence, split, iterator and if-then-else. OWL-S Profile is used to describe web services with semantic annotations. BPEL for Business Process Execution Language (WSBPEL) [34] offers the possibility to aggregate web services and define the business logic between each of these service interactions. WSDL is a specification defining how to describe web services as a set of operations, in a common XML grammar. WSDL describes four pieces of data: Interface information describing all publicly available functions, Data type information for all message requests and message responses, Binding information about the transport protocol to be used, and Address information for locating the specified service.
4
Durra is a language originally designed to support PMS-level programming. PMS stands to Processor-MemorySwitch, the name of the highest level in the hierarchy of digital systems introduced by Bell and Newell in [35]. A task specified in Durra includes the following information: ports are the interface to other tasks, attributes can be used to describe non-functional properties of the task, behavior used to specify functional and timing behavior of the task and the internal structure which allows hierarchical task descriptions. OWL-T [27] is a template language based on OWL language for formally and semantically defining task templates that capture business demands at a high-level abstraction. A task can be either simple or complex and requires a set of subtask(section 6 presents more details). A. Comparative study To choose an appropriate language, a comparative study between these langauges based on a set of information needed to describe a task, is required: functional proprieties, nonfunctional proprieties, level of abstraction, semantic specification and task complexity. • Functional proprieties are for describing information needed for a task before and after execution. The basics prosperities needed are Input and output. Input represents information required for performing a task. Output describes information returned after performing a task. • Non-functional proprieties are used to describe nonfunctional aspects of a task, such as name of the task,and other properties like, agent publisher, date, type, etc. • Level of abstraction: In computer science, abstraction is a mechanism and practice to reduce and factor out details so that one can focus on a few concepts at a time. Indeed, a task should be specified at a hight-level abstraction, in order to capture user demand. • Semantic specification: Semantics is the study of meaning in communication. In computer science, semantic reflects the meaning of programs or functions. In linguistics, it is the study of interpretation of signs as used by agents or communities within particular circumstances and contexts. • Task complexity: [36] describes three dimensions of task complexity: Component complexity, coordinate complexity and dynamic complexity. In this work we refer to component complexity which refers to the number of different sub-tasks necessary to perform a task, and coordinate complexity (or task interdependence) refers to Control Flow. Control Flow defines the temporal and logical relationships between sub-tasks. It can be specified via directed graphs, control instructions (parallel, sequential, choice), etc. • Constraint: A constraint is a restriction on the degree of freedom you have in providing a solution [37]. There are three kinds of constraints: resource constraint, security constraint and implementation constraint. These information can be used by other agents to evaluate theire capabilities to performe an annonced task.
The comparative study prensted in Table 1 shows that OWL-T would be the appropriate language fulfilling the criteria below. Thus, we inted to use it as a tuple template and FIPA content message. V. OWL-T: A TASK ONTOLOGY LANGUAGE OWL-T [27] is a template language based on OWL language for formally and semantically defining task templates that capture business demands at a high-level abstraction. Contrary to WSDL language, OWL-T focuses on what a user needs, not how to realize it. In addition, based on semantic technologies, the OWL-T ontology also enhances the interoperability for better sharing and retrieval tasks from space. This has motivated us to use OWL-T as a language for publishing task in shared space. A task specified in the OWL-T reflects an agent need to be done in order to achieve its goal. Task structure in OW L − T is defined by a set of properties related to task ontology, domain ontologies, non-functional properties, and functional properties. Task ontology captures a conceptual structure of problems which closely reflects users’ intensions for solving such problems. Domain ontologies provide necessary concepts and definitions for describing its inputs, outputs, preconditions, preferences, and so forth. A task can be either simple or complex and requires a set of sub-task. VI. SYSTEM ARCHITECTURE Our distributed and scalable task allocation approach is performed on both designed and runtime levels. At the designed stage, agent which needs help to execute a task, publishes it in a shared space in order to locate agents which can potentially participate in task allocation process. At the runtime level, the optimal allocation is computed by sharing the task allocation process among agents. For more details interested readers could refer to our previous work [3]. Figure 2 presents the shared space-based system architecture of our task allocation approach for massive MAS based on shared space. The system is composed of three agent types: administrator space agent, provider ontology agent and other agents. A. Administrator Space Agent (ASA) ASA agent is the responsible of a shared space with a specific domain as a mediator between space and other agents. An ASA agent plays tow basic roles: semantic space manager and semantic matcher. Semantic space manager: this role allows to ASA publishing a task using OWL-T template language, deleting a tuple and organising space. If it has a new task to be published, it contacts firstly agent having a good score to the given task. The question how to use these score in the process of task allocation, outcomes our present work. Semantic matcher: to retrieve a tuple from a space, ASP agent performs a read operation. In order to invoke this
5
BPEL Durra OWL-S
Functional proprieties Invoke
Non-functional proprieties Non
Level of abstraction Technical details
Semantic specification Non
Ports, havior HasParameter, hasInput, hasOutput, hasPrecondition
properties ServiceName, textDescription, contactInformation
Technical details Technical details (grounding)
Non OWL Ontology
abstraction
OWL Ontology
Sequece, iterate, unordred, prefer
High-abstraction
OWL Ontology
OrderedAll, choice, or, Switch, etc.
GDL4WSAC
OWL-T
Input, output
WSDL
Input, outpout, PortType, operation
NonFunctionalProperties
Technical detail
Task complexity
constraint
Sequence, flows, repeat, etc.
Non
Sequence, split, AnyOrder, choice, iterate, etc.
havior Preconditions, conditions
implement, ressources and security Preconfiton, effect, Postcondition
One service
TABLE I Comparative study
C. Other agent Other agent is an agent from the environment that does not administrate a shared space. This means that agent has not a task which need a help from other agents. It can be an ASA if it does not find a shared space to write its message; in this case it creates its own space which has the topic of the message. Another role assigned to each agent in the environment, is the management of an agents list which has helped it to carry tasks. This list, representing the history of task allocation, will be useful to build a confidence score for each agent. These scores are used in the location agent level and the task allocation process level. This architecture allows agents to either create a new virtual shared space or use an existing one, if available. Any agent can access to the data available on spaces. In our case, data is a task that will be executed by other agents. Fig. 1.
Shared space-based system architecture.
operation, a semantic template that matches an agent’s request is passed as input. A semantic template is a specific case of an OWL-T language template, from which non-functional properties are omitted. Indeed, we consider functional aspects as the basic aspect for retrieving a tuple: if a tuple does not provide the functionality requested by an agent, then it cannot execute it, so non-functional aspects are irrelevant.
VII. SYSTEM FUNCTIONALITIES The main functionalities supported by this architecture are publishing tasks and reading them from shared spaces. Agents interact together in order to find the set of agents which will participate in task allocation process in runtime level. To communicate, agents of our system use FIAP language. The shortcoming of this language is the arbitrary contenant of a message. In order to deal with this limitation, the contenant of a message is an OWL-T specification or a Semantic Template Ontology. Indeed, in additional to LUNIDA’s primitives [7], to communicate agents based on FIPA ACL communication primitives:
B. Provider ontology agent (POA) •
An POA agent monitors and helps communication between agents. It knows the ontology used to describe a specific domain. When an administrator space agent receives a request for publishing a task T on its space from an author agent and can’t decide if the topic of task T belongs to its space topic, then it can communicate OWL-T template describing T to POA agent for more information.
•
•
Domain(Tuple): message sends by ASA to POA agent to ask if Tuple belongs to its space topic. Tuple is an OWL-T specification. ReplyD(Tuple,R): sent by a POA agent to an ASA agent. It represents a reply to message Domain(Tuple). R takes the value true if message M belongs to topic of the shared space and the domain of M otherwise. ReplyOut(Tuple,R): sent by an ASA agent to another agent. It represents a reply to message Out(Tuple,D). R
6
takes the value true if message M was published in the shared space and the domain of M otherwise. • ReplyIn(Template,R): sent by ASA to another agent following to its request to retrieve tasks announced to its space. R represents the set of tasks which fulfill the other agent request. A request is a Semantic Tuple Template Ontology. • proposeC({< sub − task, cost >}): this message indicates that an agent proposes the couple < sub − task, cost >, where cost is the one suggested by an agent to perform sub-task. When an agent needs help from other agents in order to perform a task T which is impossible to execute individually, it provides an OWL-T specification for T (OWL-T-Spec) and follows this protocol: 1) If it is an administrator of a shared space, then it publishes its task specification OW L − T − Spec in this space. 2) If not, it sends the message Out(OW L − T − Spec) to all knowing ASA agents in order to ask them if they can publish its task in their space. Each ASA agent, receiving a request to publish a task T , checks if T belongs to the topic of its space based on the ontology defined in OWL-T-Spec specification. If it’s the case, ASA agent publishes task T in its space. Otherwise, ASA agent sends the message ReplyOut(T, T opicT ) to inform the responsible of task T (or the global allocator in [1]) about the topic of T . ASA agent can request for a help from POA agent if it cannot decide whether T can belongs to its space or not. 3) If there is no ASA which administrates a shared space on the topic of a task T , the responsible of T creates its own shared space with the same topic of T . 4) Each agent which read the task T sends to its responsible its proposition, proposeC. 5) The responsible of T build the formal context which represents agents capacity to perform each sub-task. This formal context will be used at runtime to compute the optimal allocation based on our method (presented in [3]). For n tasks and m agents, locating agents to participate in task allocation process needs a number of communication messages which is equal to O(m); if all agents send the message proposeC to the global allocator. VIII. CONCLUSIONS This paper presents an extension of our previous task allocation method for massive MAS to shared space mechanism. This mechanism allows agents to find each other,without needing to know each other, in order to form an agents set which can participate in task allocation process. We propose a flexible semantic shared space-based architecture which: 1) Scale well in the context of massive MAS; when the number of agent grows. 2) Covers all agents situated in the environment. 3) Offers an efficient semantic infrastructure for a distributed and dynamic open system like MAS. Indeed, the assessment of
WOL-T and FIPA-SL as Semantic Language assure a semantic interoperability between agents. R EFERENCES [1] M. Lin, H. Guo, and J. Yin. Goal description language for semantic web service automatic composition. In Proc. of the 2005 Symposium on Applications and the Internet, pages 190196, 2005. [2] U. S. Bernhard Schiemann. OWL-DL as a FIPA ACL content language. In Proceedings of the Workshop on Formal Ontology for Communicating Agents. [3] Z. Brahmi and M. M. Gammoudi. Decentralized method for complex task allocation in massive mas. In Intelligence Systems and Automation: 1st Mediterranean Conference on Intelligent Systems and Automation (CISA’08), volume 1019, pages 287–283, June 2008. [4] J. C. Browne, M. Yalamanchi, K. Kane, and K. Sankaralingam. General parallel computations on desktop grid and p2p systems. In LCR ’04: Proceedings of the 7th workshop on Workshop on languages, compilers, and run-time support for scalable systems, pages 1–8, New York, NY, USA, 2004. ACM. [5] G. Cabri, L. Leonardi, and F. Zambonelli. Reactive tuple spaces for mobile agent coordination. In MA’98: Proceedings of the Second International Workshop on Mobile Agents, pages 237–248, London, UK, 1999. Springer-Verlag. [6] G. Cabri, L. Leonardi, and F. Zambonelli. XML dataspaces for mobile agent coordination. In SAC’00: Proceedings of the 2000 ACM symposium on Applied computing, pages 181–188, New York, NY, USA, 2000. ACM. [7] G. David. Generative communication in linda. ACM Trans. Program. Lang. Syst., 7(1):80–112, 1985. [8] M. de Weerdt, Y. Zhang, and T. Klos. Distributed task allocation in social networks. In AAMAS’07: Proceedings of the 6th international joint conference on Autonomous agents and multiagent systems, pages 1–8, New York, NY, USA, 2007. ACM. [9] T. Finin, R. Fritzson, D. Mckay, and R. Mcentire. KQML as an agent communication language. MIT Press, 1994. [10] FIPA. FIPA ACL Message Structure Specification. FIPA, 2001. [11] H. Jafarpour, N. Yazdani, and N. Bazzaz-zadeh. A scalable group communication mechanism for mobile agents. J. Netw. Comput. Appl., 30(1):186–208, 2007. [12] J.Waldo. Javaspace specification - 1.0. Technical report, Sun Microsystems, 1998. [13] S. Khalique, M. Jamshed, H. Suguri, H. F. Ahmad, and A. Ali. Assessment of OWL and FIPA-SL as semantic language. In EEE 2005 International Conference on Emerging Technologies, pages 536–541, Pakistan, 2005. [14] S. U. Khan and I. Ahmad. Non-cooperative, semi-cooperative, and cooperative games-based grid resource allocation. In 20th International Parallel and Distributed Processing Symposium(IPDPS 2006), Rhodes Island, Greece, 25-29 April 2006. IEEE. [15] S. Kraus, O. Shehory, and G. Taase. Coalition formation with uncertain heterogeneous information. In AAMAS’03: Proceedings of the second international joint conference on Autonomous agents and multiagent systems, pages 1–8, New York, NY, USA, 2003. ACM. [16] T. J. Lehman, S. W. McLaughry, and P. Wycko. Tspaces: The next wave. In Proceedings of the Hawaii International Conference of System Science: HICSS, 1999. [17] E. MALVILLE. L’auto-organisation de groupes pour l’allocation de tˆaches dans les Syst`emes Multi-Agents : Application a` CORBA. PhD thesis, Universit´e de Savoi, 25 mars 1999. [18] E. Manisterski, E. David, S. Kraus, and N. R. Jennings. Forming efficient agent groups for completing complex tasks. In AAMAS’06: Proceedings of the fifth international joint conference on Autonomous agents and multiagent systems, pages 834–841, New York, NY, USA, 2006. ACM. [19] A. Omicini and F. Zambonelli. Coordination for Internet application development. Autonomous Agents and Multi-Agent Systems, 2(3):251– 269, sep 1999. Special Issue: Coordination Mechanisms for Web Agents. [20] T. Rahwan and N. R. Jennings. Distributing coalitional value calculations among cooperative agents. American Association for Artificial intelligence, 171(8-9):152–157, 2005. [21] T. Rahwan and N. R. Jennings. An algorithm for distributing coalitional value calculations among cooperating agents. Artif. Intell., 171(89):535–567, 2007. [22] P. V. Sander, D. Peleshchuk, and B. J. Grosz. A scalable, distributed algorithm for efficient task allocation. In AAMAS’02: Proceedings of the first international joint conference on Autonomous agents and multiagent systems, pages 1191–1198, New York, NY, USA, 2002. ACM.
7
[23] M. Schalk, T. Liebig, T. Illmann, and F. Kargl. Combining FIPA ACL with DAML-OIL - a case study. In Proceedings of the Second International Workshop on Ontologies in Agent Systems (OAS’02), 2002. [24] O. Shehory. A scalable agent location mechanism. In In Proc. Lecture Notes in Artificial Intelligence, Intelligent Agents VI, pages 162–172. Springer-Verlag, 1999. [25] R. Tolksdorf and D. Glaubitz. Coordinating web-based systems with documents in xmlspaces. In CooplS’01: Proceedings of the 9th International Conference on Cooperative Information Systems, pages 356–370, London, UK, 2001. Springer-Verlag. [26] P. Tosic and G. Agha. Maximal clique based distributed coalition formation for task allocation in large-scale multi-agent systems. MMAS’04, post-proceedings springer-verlag lnai series vol. 3446, pp. 104-120, 2005. [27] V. X. Tran and H. Tsuji. OWL-T: An ontology-based task template language for modeling business processes. Software Engineering Research, Management and Applications, ACIS International Conference on, pages 101–108, 2007. [28] M. Tsvetovat and K. Sycara. Customer coalitions in the electronic marketplace. In AGENTS’00: Proceedings of the fourth international conference on Autonomous agents, pages 263–264, New York, NY, USA, 2000. ACM. [29] B. Viswanathan and M. desJardins. A model for large-scale team formation for a disaster rescue problem. AAMAS-05 Workshop on the Coordination of Large-Scale Multi-Agent Systems (LSMAS 2005). [30] D. Weyns, N. Bouck´e, and T. Holvoet. Gradient field-based task assignment in an agv transportation system. In AAMAS ’06: Proceedings of the fifth international joint conference on Autonomous agents and multiagent systems, pages 842–849, New York, NY, USA, 2006. ACM. [31] H. Yongqiang and G.-M. Hector. Publish/subscribe in a mobile environment. Wirel. Netw., 10(6):643–652, 2004. [32] L. Zhen. Scalable, Decentralized Coordination Infrastructure for Grid Environments. PhD thesis, New Brunswick Rutgers, The State University of New Jersey, May 2007. [33] Ankolenkar, A., Paolucci, M., Srinivasan, N., Sycara, K., Solanki, M., Lassila, O., McGuinness, D., Denker, G., Martin, D., Parsia, B., Sirin, E., Payne, T., McIlraith, S., Hobbs, J., Sabou, M., and McDermott D. OWLS: Semantic Markup for Web Services (Version 1.0). OWL Services Coalition. 2003. [34] Andrews, T., Curbera, F., Dholakia, H., Goland, Y., Klein, J., Leymann, F., Liu, K., Roller, D., Smith, D., Thatte, S., Trickovic, I., and Weerawarana, S. Business Process Execution Language for Web Services, Version 1.1. BEA Systems, IBM Corp., Microsoft Corp., SAP AG, Siebel Systems. 2003. [35] M.R. Barbacci and J.M. Wing. Durra: A Task-Level Description Language. Technical report, CMU/SEI-86-TR-3 (DTIC: ADA178975), Software Engineering Institute, Carnegie Mellon University, December, 1986. [36] Wood, R.E. Task complexity : Definition of the construct. Organizational Behavior and Human Decision Processes, 37, 60-82, 1986. [37] Scott W. Ambler. The Object Primer: Agile Model-Driven Development with UML 2.0. Cambridge university press, 3th edition, 2004.