Coordination and Composition in Multi-Agent Systems (CoCoMAS)

Principal Investigator:Mehdi Dastani

Summary

Agent-oriented development methodology is a promising software engineering paradigm that aims at developing multi-agent systems for complex distributed applications. A typical example of such an application area is incident management. In incident management, different organizations are involved, such as police, fire, and ambulance departments, whose behaviors are coordinated by means of social/organizational structures. Each of these organizations can in turn consist in coordinating other organizations or individual agents. Each individual agent has to coordinate the different roles it can play.

The main problem addressed in this project is how to design and develop executable coordination models at various levels within multi-agent systems and how to integrate these models. We distinguish three main levels of coordination in multi-agent systems.

The executable coordination models at these levels and their integration allow the development of compositional executable models for multi-agent systems. Our approach will be inspired by component-based software engineering, which advocates the principle of construction of software systems through composition of coordination of autonomous components. This general principle provides a promising perspective on the formal description of the organizational structures of multi-agent systems in terms of exogenous coordination models. Unlike endogenous coordination models, exogenous coordination models reside outside the entities that they coordinate. The most significant benefit of the development of such models is that these respect the general software engineering principle called separation of concerns. In our case, the separation of concern is between coordination and behavior, that is, between deliberation and roles within agents at the intra-agent level, between organizational structures and agents at the inter-agent level, and between organizational structures and multi-agent systems at the multi-agent level.

In this project we focus on the development and implementation of integrated programming languages for exogenous coordination of roles, individual agents, and multi-agent systems. The context of this project is given by an integration and implementation of extensions of the existing agent-oriented programming language 3APL [1,2,3,40] and the exogenous coordination language REO [4,5]. As a test case and metric for the validation of our ideas we plan to model the organizational structures in the incident management application and, using these models, to participate in the RoboCupRescue Simulation League competition [41,42,43]. Such an implementation can be used for simulation and evaluation of incident management.

Composition of the Research Team

Research Schools

Description of the Proposed Research

The development in software engineering has been through increasingly powerful and natural high-level abstractions to model and implement complex systems [11]. Multi-agent systems is an advance in abstraction which can be used by software developers to naturally model and develop systems for complex applications such as incident management, social simulations, manufacturing applications, electronic auctions, e-institutions, and business to business applications.

The main focus of the existing computational multi-agent approaches has been on the coordination of individual agents [12,13,14,24]. On the other hand and as recognized by non-computational approaches [7,8,16,36], many applications require coordination of multi-agent systems. For example, applications such as incident management involve coordination of different organizations such as police, fire, and ambulance departments in calamity situations. Each of these organizations can in turn consist in coordinating other organizations or individual agents. For example, a police department consists in coordinating subdepartments such as the detective and the administration department, or individual agents such as police officers. At the level of individual agents, a police officer, for example, needs to coordinate different roles such as street patrolling and house searching to find criminal evidence.

In this project, we aim at developing compositional executable models for multi-agent systems. In our view, multi-agent systems coordinate either other multi-agent systems or, at the lowest level of composition, individual agents. In such compositional models, the behavior of constituting multi-agent systems or individual agents is coordinated by means of social/organizational structures, which are themselves defined in terms of a variety of social concepts and relations like norm, trust, power, delegation of tasks, responsibilities, access to resources, and communication protocols [7,8,11,15,16,22]. In particular, the coordination of constituting multi-agent systems will be established through composition of their social/organizational structures. Moreover, the executable models of individual agents consist of the roles that the agents can play and a deliberation process that coordinates the roles. The coordination of roles involves many dynamic issues such as role adoption, role activation, and role changes. For example, a fireman who has successfully enacted its role of extinguishing fire may need to change his role to the first aid role and start helping the injured people.

This compositional view of multi-agent systems is illustrated in Figure 1. The difference between this and other existing compositional executable models of multi-agent systems [17,30], such as DESIRE, is explained in section Related Work.


Figure 1: At the lowest level, Coord1 and Coord2 coordinate agents (squares) involved in multi-agent system mas1 and mas2. The agents deliberate to coordinate their roles. Multi-agent system mas3 coordinates multi-agent systems mas1 and mas2 by means of Coord3 that composes Coord1 and Coord2.

In general, we can distinguish the following three principal levels of organization that involve coordination in multi-agent systems.

The main problem addressed in this project is how to design and develop executable coordination models for different levels and how to model their integration.

Our overall approach will be inspired by component-based software engineering which advocates construction of software systems through composition of coordinated autonomous components. Significant benefits of this approach include software reuse, simpler and faster construction, enhanced reliability, and dramatic reductions in the complexity of construction of provably correct critical systems [4,5]. As such, component-based software engineering provides a promising perspective on the formal description of the organizational structure of multi-agent systems in terms of exogenous coordination models. In such models, and in contrast to endogenous coordination models, the primitives that cause and affect the coordination of an entity with others reside outside the entity. The most significant benefit of exogenous coordination in multi-agent systems is the separation of concerns it provides between deliberation and roles within an agent at the intra-agent level, between organizational structures and agents at the inter-agent level, and between organizational structures and multi-agent systems at the multi-agent level. Consequently, coordination at the intra-agent level corresponds to agent deliberation while coordination at the inter-agent and multi-agent level corresponds to the organizational structure of multi-agent systems.

In our approach, we focus on the following main research goals:

The focus on role dynamics [3,10] is crucial in modelling multi-agent systems which involve run-time assignment of roles to agents and run-time coordination of multi-agent systems and strategic team work.

Methodology

Our methodology to realize the main research goals mentioned in the previous section is to study and analyze the organizational structures that are involved in incident management in order to identify and formally define the basic computational concept of a role and the basic social relations between roles. This initial investigation forms the basis of an integration of extensions of the agent-oriented programming language 3APL for describing the coordination of roles within an agent, and extensions of the coordination language REO for describing the organizational structure of multi-agent systems. The realistic and practical nature of these concepts, their computational definitions, and the resulted integrated languages will be tested by means of participation in the RoboCupRescue simulation contest [41,42,43].

IM: Incident Management

In this research project, we consider incident management as the main case-study. An important issue in this domain is the run-time composition and coordination of several multi-agent systems in calamity situations. Based on an analysis of the domain of incident management, and on a study of the available literature on social and organizational theory and work in the multi-agent community [7,8,15,16,19,20,21,22,23,24,27,32,33,34,35,36,37,38], the relevant basic social concepts and relations such as role, responsibility, and norm will be identified, described, and their formal and computational definitions will be provided. We also have access to the data of projects of the consortium of Cybernetic Incident Management, in which CWI is also involved (see also section Scientific Context).

3APL: An Abstract Agent Programming Language

The agent programming language 3APL is developed at the Intelligent Systems Group of Utrecht University [1,2,3,9,26,28,29,31,40]. It provides programming constructs to implement the mental attitudes and the reasoning engine (also called deliberation process) of an agent. The mental attitudes of agents are described by their beliefs, goals, actions, plans, and certain rules which capture the dynamics of these mental attitudes. In 3APL, the beliefs are implemented as logical formulas that can describe the information of an agent about itself and its environment, including other agents, the organization of the system it participates in, and the external world. The goals are also implemented as logical formula, but unlike beliefs, they are interpreted as denoting the situation the agent wants to realize. The plans are programs which are means to achieve goals. These programs consist of actions which either update the beliefs of agents, affect the external world, or send messages to other agents. 3APL involves various types of rules such as goal and plan revision rules which modify goals and plans at run-time. The reasoning engine, which determines how the mental state of an agent evolves through time, is specified in terms of operations such as observation of the environment, selecting and planning goals, and executing plans [2,3,31]. We have already developed and implemented a platform that supports the development, implementation, and execution of 3APL multi-agent systems. 3APL is successfully applied to implement various applications such as different auctions, the control of mobile Pioneer robots, and small applications on mobile devices.

REO: a channel-based coordination model

The channel-based coordination model REO, which is developed at the software engineering group from CWI, forms a paradigm for composition of software components [4,5,6]. It is an exogenous coordination model in which complex coordinators, also called connectors or REO circuits, are compositionally built out of simpler ones. The simplest connectors are a set of channels with well-defined behavior supplied by users. REO's notion of channel is far more general than its common interpretation and allows for any communication medium with exactly two ends: one sink and one source end. The sink is the channel end on which agents can perform write operations and the source is the channel end on which agents can perform read operations. In order to be able to read and write, first a connection has to be established by a connect operation. As such, REO allows an arbitrary mix of channels with different synchronous and/or asynchronous behavior to be composed to construct a connector circuit. REO can be used as a language for coordination of concurrent processes or agents, or as a glue language for compositional construction of connectors that orchestrate component instances in a component-based system. The emphasis of REO is on connectors and their compositions, not on the entities that connect to, communicate and cooperate through those connectors. The interface between coordinated entities and the REO connectors consists of normal plain input/output primitive operations. While these entities attempt to perform their I/O operations, the REO connector circuits coordinate them from the outside and without their knowledge (exogenous coordination). The implementation of REO, including its real-time aspects as described in [5] and corresponding tools which support a visual style of `connector programming', are currently under development.

Integration of 3APL and REO

The integration of extensions of 3APL and REO will be structured along three levels of coordination in multi-agent systems. We next describe these three levels and their integrations in more detail.

Intra-agent level: coordination of roles within agents
This coordination level is based on an agent-oriented definition of role which could be considered to be related to the concepts of encapsulation and inheritance in object-oriented programming. In our previous work [3,18,20,22], a role is defined to include a specification of knowledge, goals, tasks, and interaction rules. The knowledge indicates the information provided to and required from the agent that plays the role. For example, the first aid role requires some basic information about diagnosis and provides user manuals about the first aid facilities. The goals indicate the general objectives and functionality of a role, and the tasks indicate the activities to be performed. Finally, the interaction rules describe interaction patterns with other agents or organizations. In this project, we aim at evaluating this definition of role based on our case study and extending it accordingly. Moreover, in order to model the integration of this level with the inter-agent coordination modeled as REO networks, the definition of role will be extended to include information about the channels it uses. These channels will be used in corresponding operations such as read, write, and connect that will be integrated in the action language of an agent.

Given a formal definition of roles, we aim at development and implementation of extensions of the agent-oriented programming language 3APL with programming constructs to represent roles and to capture their basic dynamics [3,10]. Existing multi-agent programming languages neither have explicit programming constructs to implement roles that an agent can play nor do they capture the basic role dynamics. Such constructs should describe, for example, the actions performed on channels, the enactment of a role to instantiate and internalize it, the activation of a role to involve it in an agent's behavior, and the synchronization between the roles [3,10]. In the resulting extension of 3APL, the deliberation process will thus involve, not only the coordination of goals and plans, but also the run-time coordination of roles. The design of programming constructs for describing the dynamics of roles and their integration into 3APL will be formalized by an operational semantics which forms the formal basis for the implementation.

Inter-agent level: coordination of agents
In this project we focus on computational coordination mechanisms between agents that implement their organizational structures. The organizational structures involve computational versions of social and organizational concepts such as norms, responsibility, delegation of task, and power. For example, responsibility is one of the main social relations involved in strategic team work which is at the very heart of incident management. As an example, many notions of responsibility in the context of autonomous agents involve the concept of an undesired result or error: in case of an error the responsibility of an associated agent is invoked. We envisage a rich variety of possible extensions and generalizations of various existing exception-handling and event-based mechanisms for modelling various basic interaction patterns which involve such a notion of responsibility. For example, we can define an interaction pattern between two agents A and B by specifying certain actions of A that will be triggered by errors generated by certain actions of B for which A is responsible. Such basic interaction patterns will be modeled by appropriate channel types in REO. More complex interaction patterns will be implemented compositionally by a REO network of channels. Another important aspect at this level of coordination is the dynamic reconfiguration of the coordination mechanisms, i.e., the dynamic reconfiguration of organizational structures. We aim at capturing and defining these dynamics using event-generation and event-handling mechanisms.

In order to integrate the coordination model at this level with the intra-agent coordination model, the social concepts used to introduce new channel types at the inter-agent level should be in accordance with the concepts and constructs used in the definition of roles and deliberation at the intra-agent level. For example, we aim to develop mechanisms in REO [4,5] at the inter-agent level for restricting access and use of channels by means of roles at the intra-agent level.

Multi-agent level: coordination of multi-agent systems
Exploiting the compositional nature of REO networks, we aim at compositional construction of executable models of organizations. More specifically, given two multi-agent systems consisting of their agents and REO networks, which describe their internal coordination, the exogenous coordination of these multi-agent systems can be modeled by a third REO network connecting the other two networks [4,5,6]. The use of the same coordination model at inter-agent and and multi-agent levels facilitates the integration of these coordination models.

It is worthwhile to explain that REO is not based on a set of pre-defined channels and allows the introduction of channel types which, in our case, can be specific to the coordination of multi-agent systems. Moreover, REO networks consist of nodes that can be distinguished into internal nodes and interface nodes. The interface nodes have two functions. They can be used by components for their coordination, or they can be used to compose two REO networks.

A main research goal at this coordination level is to define appropriate channel types and possibly new kind of connectors in REO for modelling typical interaction patterns between multi-agent systems. Incident management will be studied to identify and define interaction patterns between agent organizations. Another important research goal is related to the composition of multi-agent systems. The fact that the interface nodes are the only nodes that allow both the interaction between agents and REO networks as well as the composition of REO networks, suggests that the composition of multi-agent systems requires a procedure to add interface nodes to the existing once in order to make further compositions possible. This problem, which is formulated in our previous work [39], should be investigated in this project to allow the composition of multi-agent systems.

RoboCupRescue: A Test Case

In order to test the developed ideas, we will participate in the RoboCupRescue Simulation League [41,42,43]. The RoboCupRescue project is built upon the success of the RoboCupSoccer project. The main goal of the RoboCupRescue project is to promote research and development in the socially significant domain of disaster rescue at various levels involving multi-agent team work coordination, physical robotic agents for search and rescue, information infrastructures, personal digital assistants etc., that are all integrated into a comprehensive system in future.

The RoboCupRescue Simulation League competition is an international evaluation conference for the RoboCupRescue Simulation Project research. The main purpose of the RoboCupRescue Simulation Project is to provide emergency decision support by integration of disaster information, prediction, planning, and human interface. A generic urban disaster simulation environment was constructed based on a computer network. Heterogeneous intelligent agents such as fire fighters, commanders, victims, volunteers, etc. conduct search and rescue activities in this virtual disaster world.

The focus of our RoboCupRescue implementation will be on coordination. For the implementation of lower level issues such as path planning, we will use existing techniques. Participating in the competition will provide a means to compare our implementation to other implementations which generally do not make use of explicit coordination models. Besides participating in the competition, we aim to use the RoboCupRescue simulation platform to experiment with different coordination models, and to compare these against one another.

Planned Research results

This research project involves the following research questions and planned results:

Scientific relevance

Until now, the main focus of multi-agent systems community has been on the development of informal and formal concepts, tools, and techniques to analyze, specify, and design multi-agent systems. Less attention has been paid to developing concepts, tools, and techniques for the implementation of multi-agent systems. Therefore, there is an indispensable need to develop programming languages which can effectively support the implementation of multi-agent systems. The success of multi-agent systems is not guaranteed unless we have a better understanding of multi-agent systems and can bridge the gap between their analysis and implementation, and so develop powerful and general purpose programming languages such that the specification and design of multi-agent systems can be easily and directly implemented.

Another important and related aspect of this research proposal is the problem of construction of compositional executable models of multi-agent systems. Since multi-agent systems are software systems, we believe that their executable models should be compositional. Our approach aims at achieving this goal by proposing coordination models that can be constructed compositionally. In this respect, the construction of compositional executable models for multi-agent systems is a major contribution in the field of agent-oriented software development methodology.

Scientific Context

The general context of this project is given by a cooperation between the Intelligent System group of Utrecht University and the Theme on Coordination Languages of the cluster of Software Engineering of the CWI.

This research proposal will be a natural continuation of the successful research project Methodology for Agent-Oriented Software Design, which was funded by NWO and performed at the Intelligent Systems group of Utrecht University. The project has resulted in, besides many international and national publications [1,2,3,18,19,20,21,22,40], a multi-agent software development methodology based on the 3APL implementation language, and the implementation of a multi-agent system platform that supports implementation and execution of multi-agent systems (see http://www.cs.uu.nl/3apl/).

Another research project at the intelligent system group is related to the PhD research of Wieke de Vries [25]. In this work programming constructs together with their operational semantics based on a blend of concurrent constraint programming are proposed to coordinate group formation and group task execution in multi-agent systems.

The project is also related to work on organizational interactions performed at the Intelligent Systems group, which resulted in a formal model to describe agent interactions in a multi-agent system from an organizational perspective [3,18,20,23,25,27]. We have studied the enacting and deacting of organizational roles by independent agents. The project can be seen as a continuation of this work on organizational interactions to work on inter-organizational interactions.

The CWI is also involved in a number of research projects that are related to this proposal. The Cybernetic Incident Management (CIM) is such a project. It consists of both industrial and academic partners. Almende B.V., Group 4 Falck, and CMotions B.V., constitute the industrial partners in CIM. The Dutch National Research Institute for Mathematics and Computer Science (CWI), Technical University Delft, and Vrije Universiteit Amsterdam, constitute the academic partners in CIM. The project CIM provides information about our incident management application.

Another related project in which CWI is involved is the C-Quattro project. The main goal of this project is to develop an operational semantics based on a calculus of component connectors, as the foundation for further development of practical tools and programming environments for the actual deployment of REO. These tools and environments will be used in our project for simulation of our models of incident management.

Related Work

There are two groups from the University of Bologna that work on coordination languages. The first group is from the department of computer science and is lead by Paolo Ciancarini. The group is working on coordination languages for distributed systems and internet applications [12]. Our proposal differs from the work in this research group by emphasizing on socially motivated coordination mechanisms and by applying it to multi-agent systems in order to model their organizational structures.

The second group is from the faculty of engineering lead by Andrea Omicini [12,13,14]. Although the research in this group, in particular the research on role-based access control in multi-agent systems (RBAC) [24], emphasizes social relations and structures, they are not concerned with coordination and composition of multi-agent systems. They consider primarily the coordination of individual agents. This aspect is an essential part of our proposal as we aim at modelling multi-agent systems such that the organizational structure of a multi-agent system is an entity that is composed from simpler ones.

Our research proposal is related to the research on multi-agent development methodologies such as Gaia [16], Tropos [15], AUML [10], and those that are based on meta models for the analysis and design of organizations in multi-agent systems [7,8]. These methodologies, which provide social and organizational concepts to deign multi-agent systems, are not concerned with executable models of multi-agent systems and do not aim at introducing programming languages to implement multi-agent systems.

Finally, other multi-agent approaches [17,30] aim at developing compositional executable models of multi-agent systems. However, these approaches do not to distinguish models for individual agents from models of multi-agent systems. In our view, agents are essentially different computational entities than multi-agent systems. The agent entities should have the capability to deliberate and reason to decide how to act, while multi-agent systems as one holistic entity do not need such reasoning capabilities. The other way around, multi-agent systems involve organizational concepts which are irrelevant for modelling individual agents. For the sake of separation of concerns and intuitive modelling of complex applications, we thus make a fundamental distinction between models of individual agents, on the one hand, and models of multi-agent systems, on the other hand.

Project Planning

Below we describe the work plan for two PhD students. The PhD student PhD1 will focus on extension of 3APL, whereas the PhD student PhD2 will focus on extension of REO. The intelligent system group at the Utrecht university hosts PhD1 and the software engineering group from CWI will host PhD2.

The PhD students become members of the SIKS and IPA research schools. These research schools organize and provide special courses for PhD students. The intelligent system group is also a member of AgentLink organization which provides yearly international summer schools for PhD students. Both research institutes have weekly colloquia to which the PhD students will attend.

[t0-t6]: Literature study on 3APL agent programming language, channel-based coordination model REO, and social/organizational studies. Also, the incident management application and the data of the consortium of Cybernetic Incident Management projects, in which CWI is involved, should be studied and analyzed. This task involves cooperation of both PhD students in the form of meetings to discuss the literature.

[t6-t12]: Identification and formalization of the roles and social relations. This task involves cooperation of both PhD students. The formalization itself will be tested on the incident management case-study.

[t12-t24]: This period involves two main tasks:

The results of both tasks will be tested on the incident management case-study.

[t24-t36]: The last task concerns the further integration and implementation of extensions of 3APL and REO as results of the previous tasks. As part of this stage, an implementation of agents and coordination models for participation in the RoboCupRescue competition will be provided. This task involves both PhD1 and PhD2.

[t36-t48]: The research project should be concluded in terms of two PhD theses by PhD1 and PhD2.

Literature

1- M. Dastani, B. van Riemsdijk, F. Dignum, J.J. Meyer, A Programming Language for Cognitive Agents: Goal Directed 3APL, Proceedings of the First Workshop on Programming Multiagent Systems: Languages, frameworks, techniques, and tools (ProMAS03), Mehdi Dastani, Jurgen Dix, Amal El Fallah-Seghrouchni (eds.), LNAI 3067, Springer, Berlin, 2004.

2- M. Dastani, F. de Boer, F. Dignum, J.J. Meyer, Programming Agent Deliberation: An Approach Illustrated Using the 3APL Language, Proceedings of the Second International Conference on Autonomous Agents and Multiagent Systems (AAMAS'03), Melbourne, July 2003, ACM Press, 2003.

3- Dastani, M. , van Riemsdijk, B., Hulstijn, J., Dignum, F., Meyer, J-J. Ch., Enacting and Deacting Roles in Agent Programming, Proceedings of Agent-Oriented Software Engineering (AOSE), New York, 2004.

4- F. Arbab, F. de Boer, J. Rutten, C. Baier Modeling and Temporal Logics for Timed Component Connectors, 2nd IEEE International Conference on software engineering and formal methods, Beijing - China 26 - 30 September, 2004.

5- F. Arbab, Reo: A Channel-based Coordination Model for Component, Composition Mathematical Structures in Computer Science, Vol. 14, No. 3, pp. 329-366, June 2004.

6- F. Arbab, Abstract Behavior Types: A Foundation Model for Components and Their Composition, LNCS, Springer-Verlag, Vol. 2852, pp. 33-70, September 2003.

7- J. Ferber, O. Gutknecht, and F. Michel. From agents to organizations: An organizational view of multi-agent systems, In P. Giorgini, J. P. Müller, and J. Odell, editors, Agent-Oriented Software Engineering IV, 4th International Workshop, AOSE 2003, Melbourne, Australia, July 15, 2003, Revised Papers, LNCS, pages 214–230. Springer Verlag, 2003.

8- J. Ferber, O. Gutknecht, A Meta-Model for the Analysis and Design of Organizations in Multi-Agent Systems, In Proceedings of the Third International Conference on Multi-Agent Systems (ICMAS98), 1998.

9- K. Hindriks, F. de Boer, W. van der Hoek, and J.-J. Meyer, Agent programming in 3APL, Autonomous Agents and Multi-Agent Systems, 2(4):357–401, 1999.

10- J. Odell, H. V. D. Parunak, S. Brueckner, and J. Sauter, Temporal aspects of dynamic role assignment, In P. Giorgini, J. P. M¨uller, and J. Odell, editors, Agent- Oriented Software Engineering IV, 4th International Workshop, AOSE 2003, Melbourne, Australia, July 15, 2003, Revised Papers, LNCS, pages 201–213. Springer Verlag, 2003.

11- M. J. Wooldridge and N. R. Jennings. Intelligent agents: Theory and practice. The Knowledge Engineering Review, 10(2):115–152, 1995.

12- P. Ciancarini, A. Omicini, and F. Zambonelli. Multiagent system engineering: The coordination viewpoint. In N. R. Jennings and Y. Lesperance, editors, Intelligent Agents VI. Agent Theories, Architectures, and Languages, volume 1757 of LNAI, pages 250–259. Springer-Verlag, 2000.

13- A. Ricci, A. Omicini, and E. Denti. Activity Theory as a framework for MAS coordination. In P. Petta, R. Tolksdorf, and F. Zambonelli, editors, Engineering Societies in the Agents World III, volume 2577 of LNCS, pages 96–110. Springer-Verlag, Apr. 2003.

14- A. Omicini, A. Ricci, M. Viroli, C. Castelfranchi, L. Tummolini, Coordination Artifacts: Environment-based Coordination for Autonomous Agents, Proceedings of the Third International Joint Conference on Autonomous Agents and Multi Agent Systems (AAMAS'04), 2004.

15- J. Castro, M. Kolp, and J. Mylopoulos. Towards requirements-driven information systems engineering: the TROPOS project. Information Systems, 27:365–389, 2002.

16- F. Zambonelli, N. Jennings, and M. Wooldridge. Organizational abstractions in the analysis and design of multi-agent systems. In First International Workshop on Agent-Oriented Software Engineering at ICSE. 2000.

17- Brazier, F. M. T., Jonker, C. M., and Treur, J., Compositional Design and Reuse of a Generic Agent Model, Applied Artificial Intelligence Journal, vol. 14, 2000.

18- M. Dastani, V. Dignum, F. Dignum, Role-Assignment in Open Agent Societies, Proceedings of the Second International Conference on Autonomous Agents and Multiagent Systems (AAMAS'03), Melbourne, July 2003, ACM Press, 2003.

19- Dastani, M., Jonker, C.M., and Treur, J., A Requirement Specification Language for Configuration Dynamics of Multi-Agent Systems, International Journal of Intelligent Systems, vol 19. In press, 2004.

20- M. Dastani, V. Dignum, F. Dignum, Organizations and Normative Agents, In Proceedings of The First Eurasian Conference on Advances in Information and Communication Technology (EurAsia ICT 2002). LNCS, Springer, 2002.

21- L. van der Torre, J. Hulstijn, M. Dastani, and J. Broersen, Specifying Multiagent Organizations, Proceedings of the Seventh Workshop on Deontic Logic in Computer Science (Deon'2004), Madeira, Sprnger, LNAI 3065, 243-257, 2004.

22- Dastani, M., Hulstijn, J., Dignum, F. Meyer, J-J. Ch., Issues in Multiagent System Development, Proceedings of the Third International Joint Conference on Autonomous Agents and Multi Agent Systems (AAMAS'04), 2004.

23- Dignum, V. A Model for Organizational Interaction, 2004.

24- Ricci, A., Viroli, M., Omicini, A., Role-Based Access Control in MAS using Agent Coordination Contexts, Proceedings of the International workshop on Agent organizations: Theory and Practice, 2004.

25- F.S. de Boer, W. de Vries, J.-J. Ch. Meyer, R.M. van Eijk and W. van der Hoek, Process Algebra and Constraint Programming for Modelling Interactions in MAS, AAECC (Applicable Algebra in Engineering, Communication and Computing) 16, Springer, 2005, pp. 113-150.

26- M. Birna van Riemsdijk, Mehdi Dastani, John-Jules Ch. Meyer, Semantics of Declarative Goals in Agent Programming. In Proceedings of the Fourth International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS'05). Utrecht, July, 2005.

27- D. Grossi, F. Dignum, M. Dastani, L. Royakkers, Foundations of Organizational Structures in Multi-Agent Systems. In Proceedings of the Fourth International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS'05). Utrecht, July, 2005.

28- J. Kwisthout, M. Dastani, Modelling Uncertainty in Agent Programming, In Proceedings of the third International Workshop on Declarative Agent Languages and Technologies (DALT 2005), Utrecht, July, 2005.

29- L. Winkelhagen, M. Dastani, J. Broersen, Beliefs in Agent Implementation, In Proceedings of the third International Workshop on Declarative Agent Languages and Technologies (DALT 2005), Utrecht, July, 2005.

30- G. Boella and L. van der Torre, Groups as Agents with Mental Attitudes. Proceedings of the Third International Joint Conference on Autonomous Agents and Multi Agent Systems (AAMAS'04), 964-971, 2004.

31- M. Dastani and L. van der Torre, Programming BOID Agents: a deliberation language for conflicts between mental attitudes and plans. Proceedings of the Third International Joint Conference on Autonomous Agents and Multi Agent Systems (AAMAS'04), 706-713, 2004.

32- Castelfranchi C. The theory of social functions: challenges for computational social science and multi-agent learning. Cognitive Systems Research 2(1), 5-38, 2001.

33- Castelfranchi, C. Social power: a missed point in DAI, MAS and HCI. In: Demazeau, Y., and Muller, J. P. (Eds.), Decentralized AI, vol. 1, 49–62, 1991.

34- Castelfranchi, C. Modelling social action for AI agents. Artificial Intelligence 103, 157–182, 1998.

35- Conte, R., and Gilbert, N. Introduction: computer simulation for social theory. In: Gilbert, N., and Conte, R. (Eds.), 1–15, 1995.

36- Giddens, A. The constitution of society, Polity, Cambridge, 1984.

37- Gilbert, N., and Conte, R. (Eds.). Artificial societies. The Miller, G., Galanter, E., and Pribram, K. H. Plans and the computer simulation of social life, UCL, London, 1960.

38- Prietula, M. J., Carley, K. M., and Gasser, L. (Eds.). Simulating organisations: computational models of institutions and groups, AAAI–MIT Press, Menlo Park, CA, 1998.

39- M. Dastani, F. Arbab, F. de Boer, Coordination and Composition in Multi-Agnet Systems. In Proceedings of the Fourth International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS'05). Utrecht, July, 2005.

40- M. Birna van Riemsdijk and W. van der Hoek and John-Jules Ch. Meyer, Agent programming in Dribble: from beliefs to goals using plans. In Proceedings of the second international joint conference on autonomous agents and multiagent systems (AAMAS'03), 393--400, 2003.

41- RoboCupRescue Simulation League,Osaka, Japan, http://kaspar.informatik.uni-freiburg.de/~rcr2005/, 2005.

42- RoboCup, Bremen, Germany, http://www.robocup2006.org, 2006.

43- Alexander Kleiner and Michael Bremer and Tobias Bräuer and Christian Dornhege and Moritz Göbelbecker and Mathias Luber and Johann Prediger and Jörg Stückler, ResQ Freiburg: Team description and evaluation, http://www.informatik.uni-freiburg.de/~rescue, 2004.