Coordination and Composition in Multi-Agent Systems (CoCoMAS)
Principal Investigator:Mehdi
Dastani
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.
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.
In general, we can distinguish the following three principal levels
of organization that involve coordination in multi-agent systems.
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:
Intra-agent level: coordination of roles within agents 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 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 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.
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.
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.
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.
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.
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:
[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. 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.
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.
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.

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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 results of both tasks will be tested on the incident management case-study.
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.