There are two main strands of work to which our
research is related, i.e., work on formal modeling of
agent systems, and work on role-based methodology
for development of multi-agent systems. Previous
work on formal modeling of agent systems has been
based on formalisms, such as Z, temporal logic, and
Petri nets, to specify agent systems or agent
behaviors. Luck and d’Inverno tried to use the
formal language Z to provide a framework for
describing the agent architecture at different levels
of abstraction (Luck and d’Inverno, 1995). They
proposed a four-tiered hierarchy comprising entities,
objects, agents and autonomous agents. Fisher’s
work on Concurrent M
ETATEM used temporal logic
to represent dynamic agent behavior (Fisher, 1995).
Xu and Shatz proposed the agent-oriented G-nets,
which is a high-level formalism of Petri net, to
model and verify multi-agent behaviors by using
existing Petri net tools (Xu and Shatz, 2003). More
recently, a formalism called OZS, which is a
combination of Object-Z and statecharts, is used to
specify multi-agent systems (Hilaire et al., 2004).
With this approach, Object-Z is used to specify the
transformational aspects, and statecharts are used to
specify the reactive aspects of an MAS.
In summary, formal methods are typically used
for specification of agent systems and agent
behaviors. Existing work in this direction either does
not directly use role modeling for agent design, or
uses role modeling simply as conceptual guidelines
for agent development during the analysis phase. In
contrast, we propose our formal role-based open
multi-agent system framework, where role classes
can be explicitly instantiated, and role instances can
be taken or released by agents at run time.
A second strand of related work is to propose
role-based methodologies for development of multi-
agent systems. Typical examples of such efforts
include the Gaia methodology (Wooldridge et al.,
2000) and Multiagent Systems Engineering (MaSE)
methodology (DeLoach et al., 2001). The Gaia
methodology models both the macro (social) aspect
and the micro (agent internals) aspect of the multi-
agent system. The methodology covers the analysis
phase and the design phase. Specifically, in the
analysis phase, the role model and interaction model
are constructed. Based on the analysis models, in the
design phase, three models, i.e., the agent model,
service model and acquaintance model, are
constructed during the initial design of the system,
and then are refined during the detailed design phase
using conventional object-oriented methodology.
Similarly, the MaSE methodology is a specialization
of more traditional software engineering
methodologies. During the analysis phase of the
MaSE methodology, a set of roles are produced,
which describes entities that perform some function
within the system. In MaSE, each role is responsible
for achieving, or helping to achieve specific system
goals and subgoals. During the design phase, agent
classes are created from the roles defined in the
analysis phase. In other words, roles are the
foundation upon which agent classes are designed,
and thus, the design of agent classes depends on role
specifications. In our proposed approach, agent
components and role components are loosely
coupled, where agents take or release roles at run
time without having the knowledge of the internal
structure of role instances. Consequently, role
classes and agent classes can be designed at the
same time. Thus, the specification and design of
agent classes can be significantly simplified.
The rest of this paper is organized as follows:
Section 2 presents a role-based MAS specification
using Object-Z formalism. It describes a three
layered system model for development of open
MAS. The three layers are role organization, role
space and agent society. Section 3 first presents the
design of role organization in terms of role
relationships, then it summarizes a development
process for role-based open MAS, and discusses
how agents from an agent society take or release
roles in a corresponding role space, and how to build
up agent interaction relationships using the A-R
mapping mechanism. Finally, in Section 4, we
provide conclusions and our future work.
2 ROLE-BASED SPECIFICATION
2.1 An Organizational Approach
To facilitate the design of open MAS, we explicitly
separate the concepts of role organization and role
space that consist of conceptual roles and role
instances, respectively. A role organization is
defined at a conceptual level, in which roles have
relationships such as inheritance, aggregation,
association and incompatibility. On the other hand, a
role space consists of role instances, which are
concrete implementations of conceptual roles, and
can be taken or released by agents at run time. A
three-layered general model of role-based open
multi-agent systems is illustrated as in Figure 1.
As shown in Figure 1, the role organization
defines a set of conceptual roles and their
relationships. For example, role_B and role_C are
defined as subclasses of role_A. Role_D is defined
as a part of role_C, which implies that role_C views
role_D’s responsibilities and capabilities as part of
its own. Role_D and role_E have an association
relationship, where role_D and role_E may be
responsible for providing certain information to each
A METHODOLOGY FOR ROLE-BASED MODELING OF OPEN MULTI-AGENT SOFTWARE SYSTEMS
247