0% found this document useful (0 votes)
34 views11 pages

Agent Modeling Language AML A Comprehensive Approa

The document describes the Agent Modeling Language (AML), a visual modeling language for specifying and documenting multi-agent systems. AML extends UML 2.0 with new constructs for modeling agent-oriented concepts. It aims to provide a comprehensive, expressive, and standardized modeling language for developing multi-agent system software solutions. AML is specified through a metamodel extension of UML and can also be extended further for specific domains or platforms through its extensibility mechanisms.

Uploaded by

Oussama Risy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views11 pages

Agent Modeling Language AML A Comprehensive Approa

The document describes the Agent Modeling Language (AML), a visual modeling language for specifying and documenting multi-agent systems. AML extends UML 2.0 with new constructs for modeling agent-oriented concepts. It aims to provide a comprehensive, expressive, and standardized modeling language for developing multi-agent system software solutions. AML is specified through a metamodel extension of UML and can also be extended further for specific domains or platforms through its extensibility mechanisms.

Uploaded by

Oussama Risy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/220166332

Agent Modeling Language (AML): A comprehensive approach to modeling


MAS

Article · November 2005


Source: DBLP

CITATIONS READS

139 2,154

2 authors:

Ivan Trenčanský Radovan Červenka


Whitestein Technologies Whitestein Technologies
27 PUBLICATIONS 326 CITATIONS 23 PUBLICATIONS 315 CITATIONS

SEE PROFILE SEE PROFILE

All content following this page was uploaded by Radovan Červenka on 03 February 2015.

The user has requested enhancement of the downloaded file.


Informatica 29 (2005) 391–400 391

Agent Modeling Language (AML): A Comprehensive Approach to Modeling


MAS

Ivan Trencansky and Radovan Cervenka


Whitestein Technologies, Panenska 28, 811 03 Bratislava, Slovakia
Tel +421 (2) 5443-5502, Fax +421 (2) 5443-5512
E-mail: {itr,rce}@whitestein.com

Keywords: agent, multi-agent system, modeling language, agent-oriented software engineering

Received: May 6, 2005

The Agent Modeling Language (AML) is a semi-formal visual modeling language for specifying, mod-
eling and documenting systems that incorporate features drawn from multi-agent systems theory. It is
specified as an extension to UML 2.0 in accordance with major OMG modeling frameworks (MDA, MOF,
UML, and OCL). The ultimate objective of AML is to provide software engineers with a ready-to-use,
complete and highly expressive modeling language suitable for the development of commercial software
solutions based on multi-agent technologies. This paper presents an overview of AML. The scope of the
language, its structure and extensibility mechanisms are discussed, and the core AML modeling constructs
and mechanisms are introduced and demonstrated by examples.
Povzetek: Opisana je vizualizacija agentnega jezika za modeliranje.

1 Introduction tecture, or technology, or (5) mutually incompatible, or (6)


insufficiently supported by CASE tools.
The Agent Modeling Language (AML) [3, 5, 4] is a semi- The objective of this paper is to present the approach
formal1 visual modeling language for specifying, modeling applied to specification of AML, and a brief overview of
and documenting systems that incorporate concepts drawn the various modeling constructs AML provides to model
from Multi-Agent Systems (MAS) theory. MASs. Due to limitations in paper length, a comprehen-
The most significant motivation driving the development sive description of AML abstract syntax, semantics, and
of AML was the extant need for a ready-to-use, com- notation is not provided.
prehensive, versatile and highly expressive modeling lan- The rest of the paper is structured as follows: Section 2
guage suitable for the development of commercial software presents the approach applied to specification of AML
solutions based on multi-agent technologies. To qualify and the available extensibility mechanisms. Section 3 ex-
this more precisely, AML was intended to be a language plains the AML fundamental entities and their features,
that: (1) is built on proved technical foundations, (2) in- sections 4, 5, 6, 7 and 8 present an overview of AML ap-
tegrates best practices from agent-oriented software engi- proach to modeling different aspects of agents and MASs,
neering (AOSE) and object-oriented software engineering like social aspects, different kinds of interactions, capabil-
(OOSE) domains, (3) is well specified and documented, ities, mobility, and mental attitudes. In the end the conclu-
(4) is internally consistent from the conceptual, semantic sions are drawn.
and syntactic perspectives, (6) is versatile and easy to ex-
tend, (7) is independent of any particular theory, software
development process or implementation environment, and 2 The AML Approach
(8) is supported by Computer-Aided Software Engineering
(CASE) tools. Toward achieving the stated goals and overcoming the de-
Given these requirements, AML is designed to address ficiencies associated with many existing approaches, AML
the most significant deficiencies with current state-of-the- has been designed as a language, which:
art and practice in the area of MAS oriented model-
ing languages, which are often: (1) insufficiently docu- – incorporates and unifies the most significant concepts
mented and/or specified, or (2) using proprietary and/or from the broadest set of existing multi-agent theo-
non-intuitive modeling constructs, or (3) aimed at model- ries and abstract models (e.g. DAI [24], BDI [17],
ing only a limited set of MAS aspects, or (4) applicable SMART [9]), modeling and specification languages
only to a specific theory, application domain, MAS archi- (e.g. AUML [1, 11, 12], TAO [18], OPM/MAS [20],
1 The term “semi-formal” implies that the language offers the means to AOR [23], UML [15], OCL [14], OWL [19], UML-
specify systems using a combination of natural language, graphical nota- based ontology modeling [7], methodologies (e.g.
tion, and formal language specification. MESSAGE [10], Gaia [25], TROPOS [2], PASSI [6],
392 Informatica 29 (2005) 391–400 I. Trencansky et al.

Prometheus [16], MaSE [8]), agent platforms (e.g. elements. It is thus a non-conservative extension of UML,
Jade, FIPA-OS, Jack, Cougaar) and multi-agent driven and therefore an optional part of the language. However,
applications, the extensions contained within are simple and can be eas-
ily implemented in most existing UML-based CASE tools.
– extends the above with new modeling concepts to ac- Upon the AML Metamodel and Notation two UML pro-
count for aspects of multi-agent systems thus far cov- files of AML are specified: UML 1.* Profile for AML
ered insufficiently, inappropriately or not at all, (based on UML 1.*) and UML 2.0 Profile for AML (based
– assembles them into a consistent framework specified on UML 2.0). The primary objective of these profiles is to
by the AML meta-model (covering abstract syntax enable implementation of AML into existing UML 1.* and
and semantics of the language) and notation (cover- UML 2.0 based CASE tools, respectively.
ing the concrete syntax), and
– is specified as an extension to UML in accordance 2.2 Extensibility of AML
with the OMG modeling frameworks (MDA, MOF, AML is designed to encompass a broad set of relevant the-
UML, and OCL). ories and modeling approaches, it being essentially impos-
sible to cover all inclusively. In those cases where AML is
2.1 The Language Definition insufficient, several mechanisms can be used to extend or
customize it as required:
AML is built upon the Unified Modeling Language (UML)
2.0 Superstructure [15], augmenting it with several new – Metamodel extension offers first-class extensibility (as
modeling concepts appropriate for capturing the typical defined by MOF [13]) of the AML metamodel and
features of multi-agent systems (see Fig. 1). notation.
The main advantages of this approach are:
– AML profile extension offers the possibility to adapt
– Reuse of well-defined, well-founded, and commonly AML for a given domain, platform or development
used concepts of UML. method by means of UML Profiles, without the need
– Use of existing mechanisms for specifying and ex- to modify the underlying AML Metamodel and Nota-
tending UML-based languages (metamodel exten- tion.
sions and UML profiles).
– Concrete model extension allows to employ alterna-
– Ease of incorporation into existing UML-based CASE tive MAS modeling approaches as complementary
tools. specifications to the AML model.

The abstract syntax, semantics and notation of the lan-


guage are defined at the AML Metamodel and Notation 3 Modeling MAS Entities
level. The AML Metamodel is further structured into two
main packages: AML Kernel and UML Extension for AML. In general, entities are objects that can exist independently
of others. In order to maximize reuse and comprehensi-
UML 1.* Profiles UML 2.0 Profiles AML Profile Extensions bility of the metamodel AML defines several auxiliary ab-
Extending AML Extending AML
stract metamodeling concepts called semi-entities and their
UML 1.* Profile of AML UML 2.0 Profile of AML AML Profiles types. Semi-entity types are specialized UML classes used
to specify coherent set of features, logically grouped ac-
AML

AML Metamodel AML AML Metamodel


UML Extension for AML AML Kernel Notation and Notation cording to particular aspects of MASs. They are used to
specify features of other types of modeling elements.
UML 2.0 Superstructure UML Language

3.1 AML Semi-entities


Figure 1: Levels of AML definition AML defines the following semi-entities:
Behaviored semi-entities represent elements, which can
The AML Kernel is a conservative2 extension of UML own capabilities, observe and/or effect their environment
2.0, comprising specification of all the AML modeling ele- by means of perceptors and effectors, provide and use ser-
ments. It is logically structured into several packages, each vices, and can be (de)composed into behavior fragments.
of which contains specification of modeling elements ded- Socialized semi-entities represent elements, which can
icated for modeling specific aspect of MAS. form societies, can participate in social relationships and
The UML Extension for AML package adds some meta- can own social properties.
properties and structural constraints to the standard UML Mental semi-entities represent elements which can be
2 A conservative extension of UML is an extension of UML which re- characterized in terms of their mental attitudes, e.g. which
tains the standard UML semantics in unaltered form [22]. information they believe in, what are their objectives,
AGENT MODELING LANGUAGE. . . Informatica 29 (2005) 391–400 393

needs, motivations, desires, what goal(s) they are commit- 3DObject object
shape
ted to, when and how a particular goal is to be achieved, *
3DPlacement
which plan to execute, etc. Motion *
position
3DSpace
space

3DObject 3DSpace

3.2 AML Fundamental Entities Person Ball Goal Pitch


goal:Goal[2] ball:Ball

The fundamental entities that compose MASs are: agents,


resources, and environments. AML therefore defines three
modeling concepts, which can be used to model the above Figure 2: Example of entities, their relationships, service
mentioned fundamental entities at both type and instance provision and usage
levels:
Agent type is used to specify the type of agents, i.e. self
contained entities that are capable of interactions, observa- 4 Modeling Social Aspects
tions and autonomous behavior within their environment.
MASs are commonly perceived as systems comprised of a
Resource type is used to model the type of resources
number of autonomous agents, situated in a common envi-
within the system, i.e. physical or informational en-
ronment, and interacting with each other in order that the
tities with which the main concern is their availability
desired functionality and properties of the systems could
(in terms of its quantity, access rights, conditions of us-
emerge. These properties of MAS are not always derivable
age/consumption, etc.).
or representable solely on the basis of properties and capa-
Environment type is used to model the type of a system’s bilities of individual agents, but are usually given also by
inner environment3 , i.e. the logical or physical surround- their mutual relationships, interactions, coordination mech-
ings of entities which provide conditions under which the anisms, social attitudes, etc. Such aspects of MASs are
entities exist and function. commonly referred to as social aspects.
In AML, all the aforementioned entity types are special- From the social perspective the following aspects of
ized UML classes, and thus can utilize all the features de- MAS are commonly considered in MAS models (for de-
fined for UML classes, i.e. can be instantiated, can own taisl see [4]):
structural and behavioral features, behaviors, can be struc-
tured into parts and ports, participate in interactions, can – Social structure concerning mainly with the identifi-
participate in various kinds of relationships (e.g. associa- cation of societies which can evolve within the sys-
tions, generalizations, dependencies), etc. The instances of tem, specification of their properties, structure, identi-
the entity types (called entities) can be modeled by means fication of comprised roles, individual entities that can
of UML instance specifications classified according to the participate in such societies, what roles they can play,
corresponding types. their mutual relationships, etc.
Furthermore, all the AML fundamental entity types in-
herit features of behaviored semi-entities, and in addition – Social behavior covering such phenomena as social
to these, agent and environment types are also socialized dynamics (i.e. the ability of a society to react to inter-
and mental semi-entities. nal and external events), norms (i.e. rules or standards
of behavior shared by members of a society), social
Fig. 2 shows an example of a definition of an abstract interactions (how individuals and/or societies interact
class 3DObject that represents spatial objects, charac- with others in order to exchange information, coordi-
terized by shape and position, existing inside a containing nate their activities, etc.), and social activities of in-
space. An abstract environment type 3DSpace represents dividual entities and societies (e.g. how they change
a three dimensional space. This is a special 3DObject their attitudes, roles they play, social relationships),
and as such can contain other spatial objects. 3DSpace etc.
provides a service Motion to the objects contained within
(for details about services see Sect. 5.4). Three con- – Social attitudes addressing the individual and/or com-
crete 3DObjects, an agent type Person, a resource mon tendencies (usually expressed in terms of moti-
type Ball and a class Goal are defined as specialized vations, needs, wishes, intentions, goals, beliefs, com-
3DObjects. 3DSpace is further specialized into a con- mitments, etc.) to anything of a social value.
crete environment type Pitch representing a soccer pitch
containing two goals and a ball.
In this section the focus is on modeling social structure
of multi-agent systems. AML modeling constructs which
3 Inner environment is that part of an entity’s environment that is con- can be used to model social behavior and social attitudes
tained within the boundaries of the system. are outlined in the subsequent sections, mainly 5, 6, and 8.
394 Informatica 29 (2005) 391–400 I. Trencansky et al.

In order to accommodate special needs for modeling so- semi-entity type. Entity role types are used to model ab-
cial aspects, AML utilizes concepts of: organization units, stractions of coherent set of features, capabilities, behav-
social relationships, entity roles, and role properties. iors, observations, relationships, participation in interac-
tions, and services offered or required by entities partici-
pating in a particular context. Each entity role type should
4.1 Organization Units
be realized by a specific implementation possessed by an
Organization unit type is a specialized environment type, entity that can play that entity role type. An instance of an
and thus inherits features of behaviored, socialized and entity role type is called entity role and exists only while
mental semi-entity types. They are used to specify the type some behavioral entity plays it.
of societies that can evolve within the system from both the For modeling the ability of an entity to play an entity
external as well as internal perspectives. role type, AML provides role properties. Role property is a
From an external perspective, organization units repre- specialized UML property, used to specify that an instance
sent coherent autonomous entities, which can be character- of its owner (i.e. a behavioral entity) can play one or several
ized in terms of their mental and social attitudes, can per- roles of a particular entity role type. The role property can
form behavior, participate in different kinds of (social) rela- be used either in the form of a role attribute or as the end of
tionships, can observe and interact with their environment, a play association.
offer and use services, play roles, etc. Their properties and One entity can at each time play several entity roles.
behavior are both (1) emergent properties and behavior of These entity roles can be of the same as well as of dif-
all their constituents, their mutual relationships, observa- ferent types. The multiplicity defined for a role property
tions and interactions, and (2) the features and behavior of constraints the number of entity roles of given type the par-
organization units themselves. ticular entity can play concurrently. Additional constraints
For modeling organization units from external perspec- which govern playing of entity roles can be specified by
tives, in addition to features defined for UML classes UML constraints.
(structural and behavioral features, owned behaviors, rela- To allow explicit manipulation of entity roles in UML
tionships, etc.), also all the features of behaviored, social- activities and state machines, AML defines a set of actions
ized, and mental semi-entities can be utilized. for entity role creation and disposal, particularly create role
From an internal perspective, organization units are action and dispose role action.
types of environment that specify the social arrangements Fig. 3 (a) contains the diagram depicting an agent of
of entities in terms of structures, interactions, roles, con- type Person which can play entity roles of type Player,
straints, norms, etc. Captain, Coach, and Referee. The possibility of
For this purpose organization unit types usually utilize playing entity roles of a particular type is modeled by
the possibilities inherited from UML structured classifier, play associations. Fig. 3 (b) depicts an organization unit
and model their internal structure by contained parts and SoccerMatch, which comprises three referees (of
connectors, in combination with entity role types used as the Referee entity role type) and two teams (of the
types of the parts. SoccerTeam organization unit type). The SoccerTeam
For an example of an organization unit see Fig. 3 (b). itself consists of one to three coaches, and eleven to
fifteen players of which one is the captain. The
4.2 Social Relationships players are peers to each other (the cooperate con-
nector), and subordinates to the coaches (the manage
Social relationship is a particular type of connection be- connector), and the captain (the lead connector). The
tween social entities related to or having dealings with each referees are superordinate to the both SoccerTeams
other. For modeling such relationships, AML defines a spe- (the control connector).
cial type of UML property, called social property. The so- Fig. 4 shows the instantiation of the previously defined
cial property can be used either in the form of an owned types in a model of a system’s snapshot, where the agent
social attribute, or as the end of a social association, and Lampard, of type Person, plays the entity role player, and
can specify its social role kind4 . the agent Terry, also of type Person, plays the entity role
For an example of modeling social relationships see captain and leads Lampard. The agent Mourinho, play-
Fig. 3. ing the entity role coach manages both players Lampard
and Terry.
4.3 Roles and Role Properties
Roles are used to define a normative behavioral repertoire 5 Modeling Interactions
of entities, and thus provide the basic building blocks of
MAS societies. For modeling roles, AML provides entity To support modeling of interactions in MAS, AML pro-
role type, a specialized behaviored, socialized and mental vides a number of UML extensions, which can be logi-
4 AML predefines peer, subordinate and superordinate social role cally subdivided into: (1) generic extensions to UML in-
kinds, but this set can be extended as required. teractions, (2) speech act based extensions to UML inter-
AGENT MODELING LANGUAGE. . . Informatica 29 (2005) 391–400 395

(a)
{xor}
Person ification of the behavior invoked on the side of the receiver.
name:String
The decision of which behavior should be invoked when
player 0..1 captain 0..1 0..1 coach 0..1 referee
Player Captain Coach Referee the decoupled message is received is up to the receiver what
active:Boolean allows to preserve its autonomy in processing messages.
(b) SoccerMatch Attribute change is a specialized UML interaction frag-
team:SoccerTeam[2] ment used to model the change of attribute values (state)
coach:Coach[1..3] of interacting entities induced by the interaction. Attribute
manage manage change thus enables to express addition, removal, or mod-
captain:Captain player:Player[10..15] ification of attribute values, and also to express the added
lead cooperate attribute values by sub-lifelines. The most likely utiliza-
control tion of attribute change is in modeling of dynamic change
referee:Referee[3] of entity roles played by behavioral entities represented by
lifelines in interactions, and the modeling of entity inter-
actions with respect to the played entity roles (i.e. each
Figure 3: Example of social structure modeling sub-lifeline representing a played entity role can be used
to model interaction of its player with respect to this entity
Mourinho:Person role).
coach Subset is a specialized UML dependency between event
:Coach occurrences owned by two distinct (superset and subset)
manage manage
lifelines used to specify that since the event occurrence on
:Captain :Player
captain player the superset lifeline, some of the instances it represents
lead

Terry:Person Lampard:Person
(specified by the corresponding selector) are also repre-
sented by another, the subset lifeline.
Similarly, join dependency is also a specialized UML de-
Figure 4: Example of the entity role instantiation and play- pendency between two event occurrences on lifelines (sub-
ing set and union ones), used to specify that a subset of in-
stances, which have been until the subset event occurrence
represented by the subset lifeline, is after the union event
actions, (3) observations and effecting interactions, and (4) occurrence represented by the ŞunionŤ lifeline. The union
services. lifeline, thus after the union event occurrence represents the
union of the instances it has been representing before, and
the instances specified by the join dependency.
5.1 Generic Extensions to UML Interactions Send decoupled message action is a specialized UML
Generic extensions to UML interactions provide means to send object action used to model the action of dispatch-
model: (1) interactions between groups of entities (multi- ing a decoupled message, and accept decoupled message
message and multi-lifeline), (2) dynamic change of object’s action is a specialized UML accept event action used to
attributes to express changes in internal structure of orga- model reception of a decoupled message action that meets
nization units, social relationships, or played entity roles, the conditions specified by the associated decoupled mes-
etc., induced by interactions (attribute change), (3) model- sage trigger.
ing of messages and signals not explicitly associated with A simplified interaction between entities taking part in
the invocation of corresponding methods and receptions a player substitution is depicted in Fig. 5. Once the main
(decoupled message), (4) mechanisms for modification of coach decides which players are to be substituted (p1 to
interaction roles of entities (not necessary entity roles) in- be substituted and p2 the substitute), he first notifies player
duced by interactions (subset and join dependencies), and p2 to get ready and then asks the main referee for per-
(5) modeling the actions of dispatch and reception of de- mission to make the substitution. The main referee in
coupled messages in activities (send and decoupled mes- turn replies by an answer. If the answer is “yes”, the
sage actions, and associated triggers). substitution process waits until the game is interrupted. If
Multi-message is a specialized UML message which is so, the coach instructs player p1 to exit and p2 to enter.
used to model a particular communication between (unlike Player p1 then leaves the pitch and joins the group of in-
UML message) multiple participants, i.e. multiple senders active players and p2 joins the pitch and thereby the group
and/or multiple receivers. of active players.
Multi-lifeline is a specialized UML lifeline, used to rep- Fig. 6 shows an example of the communicative inter-
resent (unlike UML lifeline) multiple participants in inter- action in which the attribute change elements are used to
actions. model changes of entity roles played by agents. The dia-
Decoupled message is a specialized multi-message used gram realizes the scenario of a captain change caused by
to model the asynchronous dispatch and reception of a mes- the original captain (player2) substitution.
sage payload without (unlike UML message) explicit spec- At the beginning of the scenario the agent
396 Informatica 29 (2005) 391–400 I. Trencansky et al.

sd PlayerSubstitution Interaction protocol is a parametrized communicative


coach[main]
:Coach
referee[main]
:Referee
player[active]
:Player[7..11]
player[not active]
:Player[11..15]
interaction template used to model reusable templates of
Select communicative interactions.
p1 and p2 [is p2]
prepareForSubstitution()
requestSubstitution(p1, p2)
reply(answer)
5.3 Observations and Effecting Interactions
opt [answer == yes]
{game interrupted} exit() [is p1]
[is p2]
AML provides several mechanisms for modeling observa-
enter()
tions and effecting interactions in order to (1) allow model-
par <<join>> [is p1]
ing of the ability of an entity to observe and/or to bring
<<join>> [is p2]
about an effect on others (perceptors and effectors), (2)
specify what observation and effecting interactions the en-
tity is capable of (perceptor and effector types and perceiv-
ing and effecting acts), (3) specify what entities can ob-
Figure 5: Example of a communicative interaction serve and/or effect others (perceives and effects dependen-
cies), and (4) explicitly model the actions of observations
player2 is captain (modeled by its role prop- and effecting interactions in activities (percept and effect
erty captain). During the substitution, the main actions).
coach gives the player2 order to hand the cap- Observations are in AML modeled as the ability of an
tainship over (handCaptainshipOver() message) entity to perceive the state of (or to receive a signal from)
and the player1 the order to become the captain an observed object by means of perceptors, which are spe-
(becomeCaptain() message). After receiving these cialized UML ports. Perceptor types are used to specify
messages, the player2 stops playing the entity role (by means of owned perceiving acts) the observations an
captain (and starts playing the entity role of ordinary owner of a perceptor of that type can make.
player) and the player1 changes from ordinary Perceiving acts are specialized UML operations which
player to captain. can be owned by perceptor types and thus used to specify
what perceptions their owners, or perceptors of given type,
coach[main] player1:Person player2:Person can perform.
:Coach player captain The specification of which entities can observe others, is
handCaptainshipOver() modeled by a perceives dependency. For modeling behav-
becomeCaptain()
{has been substituted}
ioral aspects of observations, AML provides a specialized
percept action.
captain player
Different aspects of effecting interactions are modeled
analogously, by means of effectors, effector types, effecting
acts, effects dependencies, and effect actions.
Figure 6: Example of a social interaction with entity role An example is depicted in Fig. 8 (a) which shows an
changes entity role type Player with two eyes–perceptors called
eye of type Eye, and two legs–effectors called leg of
type Leg. Eyes are used to see other players, the pitch and
the ball, and to provide localization information to the in-
5.2 Speech Act Specific Extensions to UML ternal parts of a player. Legs are used to change the player’s
Interactions position within the pitch (modeled by changing of internal
state implying that no effects dependency need be placed
Speech act specific extensions to UML interactions com- in the diagram), and to manipulate the ball.
prise modeling of speech-acts (communication message),
speech act based interactions (communicative interac-
tions), patterns of interactions (interaction protocols), and 5.4 Services
modeling the actions of dispatch and reception of speech-
act based messages in activities (send and accept commu- The AML support for modeling services comprises (1) the
nicative message actions, and associated triggers). means for the specification of the functionality of a service
Communication message is a specialized decoupled and the way a service can be accessed (service specification
message used to model communicative acts of speech act and service protocol), (2) the means for the specification of
based communication within communicative interactions what entities provide/use services (service provision, ser-
(a specialized UML interaction) with the possibility of ex- vice usage, and serviced property), and (if applicable) by
plicit specification of the message performative and pay- what means (serviced port).
load. Both the communication message and communica- A service is a coherent block of functionality provided
tive interaction can also specify used agent communication by a behaviored semi-entity, called service provider, that
and content languages, ontology and payload encoding. can be accessed by other behaviored semi-entities (which
AGENT MODELING LANGUAGE. . . Informatica 29 (2005) 391–400 397

can be either external or internal parts of the service 6 Modeling Capabilities and
provider), called service clients.
Behavior
Service specification is used to specify a service by
means of owned service protocols, i.e. specialized inter- AML extends the capacity of UML to abstract and decom-
action protocols extended with the ability to specify two pose behavior by another two modeling elements: capabil-
mandatory, disjoint and nonempty sets of (not bound) pa- ity and behavior fragment.
rameters, particularly: provider and client template param- Capability is an abstract specification of a behavior
eters. which allows reasoning about and operations on that spec-
The provider template parameters of all contained ser- ification. Technically, a capability represents a unification
vice protocols specify the set of the template parame- of the common specification properties of UML’s behav-
ters that must be bound by the service providers, and the ioral features and behaviors expressed in terms of their in-
client template parameters of all contained service proto- puts, outputs, pre- and post-conditions.
cols specify the set of template parameters that must be Behavior fragment is a specialized behaviored semi-
bound by the service clients. Binding of these complemen- entity type used to model a coherent re-usable fragment of
tary template parameters specifies the features of the par- behavior and related structural and behavioral features. It
ticular service provision/usage which are dependent on its enables the (possibly recursive) decomposition of a com-
providers and clients. plex behavior into simpler and (possibly) concurrently ex-
ecutable fragments, as well as the dynamic modification of
Service provision/usage are specialized dependencies an entities behavior in run-time. The decomposition of a
used to model provision/use of a service by particular enti- behavior of an entity is modeled by owned aggregate at-
ties, together with the binding of template parameters that tributes of the corresponding behavior fragment type.
are declared to be bound by service providers/clients. Fig. 8 (a) shows the decomposition of the Player
Fig. 7 shows a specification of the Motion service entity role type’s behavior into a structure of behavior
defined as a collection of three service protocols. The fragments. In part (b) two fragments, Mobility and
CanMove service protocol is based on the standard FIPA BallHandling, are described in terms of their owned
protocol FIPA-Query-Protocol5 [21] and binds the capabilities (turn, walk, catch, etc.).
proposition parameter (the content of a query-if
message) to the capability canMove(what, to) of (a) Player <<perceives>>

a service provider. The participant parameter of <<perceives>>


Pitch
the FIPA-Query-Protocol is mapped to a service lo:Localization eye:Eye[2]
<<perceives>>
provider and the initiator parameter to a service leg:Leg[2]
pr:PlayerReasoning mo:Mobility Ball
client. The CanMove service protocol is used by the ser- <<effects>>

vice client to ask if an object referred by the what parame- bh:BallHandling


ter can be moved to the position referred by the to param- (b)
Mobility BallHandling
eter. The remaining service protocols Move and Turn are
turn(angle) catch(ball)
based on the FIPA-Request-Protocol [21] and are walk(to)
run(to)
receive(ball, from)
lead(ball)
used to change the position or direction of a spatial object. stop() pass(ball, to)
shoot(ball,position)

Binding of the Motion service specification to the


provider 3DSpace and the client 3DObject is depicted
in Fig. 2. Figure 8: Example of behavior fragments, observations and
effecting interactions

Motion
participant
initiator

7 Modeling MAS Deployment and


sd CanMove:FIPA-Query-Protocol <proposition->canMove(what, to)>

participant

sd Move:FIPA-Request-Protocol <action_spec->move(what, to)>


initiator
Mobility
participant
initiator
sd Turn:FIPA-Request-Protocol <action_spec->turn(what, angle)> The means provided by AML to support modeling of MAS
deployment and agent mobility comprise: (1) the support
for modeling the physical infrastructure onto which MAS
Figure 7: Example of service specification entities are deployed (agent execution environment), (2)
what entities can occur on which nodes of the physical in-
frastructure and what is the relationship of deployed enti-
ties to those nodes (hosting property), (3) how entities can
get to a particular node of the physical infrastructure (move
5 The AML specification of the interaction protocol can be found in [3]. and clone dependencies), and (4) what can cause the en-
398 Informatica 29 (2005) 391–400 I. Trencansky et al.

tity’s movement or cloning throughout the physical infras- can be composed.


tructure (move and clone actions). Mental constraint is a specialized UML constraint used
Agent execution environment type is a specialized UML to specify properties of owning beliefs, goals and plans
execution environment used to model types of execution which can be used within reasoning processes of mental
environments within which MAS entities can run. While it semi-entities. Supported kinds of mental constraints are
is a behaviored semi-entity type, it can explicitly, for exam- pre- and post-conditions, commit conditions, cancel condi-
ple, also specify a set of services that the deployed entities tions and invariants.
can use or should provide at run time. Contribution is a specialized UML relationship used to
Agent execution environment can also own hosting prop- model logical relationships between goals, beliefs, plans
erties, which are used to classify the entities which can be and their mental constraints. The manner in which the
hosted by the owning agent execution environment. The specified mental constraint (e.g. post-condition) of the con-
hosting property’s hosting kind specifies the relation of the tributor influences the specified mental constraint kind of
referred entity type to its owning agent execution environ- the beneficiary (e.g. pre-condition) as well as the degree of
ment (i.e. either resident of visitor). the contribution can also be specified.
Hosting association is a specialized UML association Actions to model commitments to and de-commitments
used to specify hosting property in the form of an asso- from goals within activities are also provided.
ciation end.
Move is a specialized UML dependency between two SoccerTeam Player
<<mental>>
hosting properties used to specify that the entities repre- <<mental>> <<mental>>
1 0..1 0..1
sented by the source hosting property can be moved to the +0.5 ++
ScoringChance
instances of the agent execution environments owning the
WinMatch ScoreGoal
destination hosting property. Likewise the clone depen-
dency is used. ++
Move and clone actions are specialized UML add struc- {match.isOver and
team.scoredGoals > team.concededGoals}
tural feature actions used to model actions that cause move-
ment or cloning of an entity from one agent execution envi-
ronment to another one. Both the actions thus specify: (1)
which entity is being moved or cloned, (2) the destination Figure 9: Example of a mental model
agent execution environment instance where the entity is
being moved or cloned, and (3) the hosting property where Fig. 9 shows an example of a snapshot of the mental
the moved or cloned entity is being placed. model of a soccer team (represented by the SoccerTeam
organization unit type) and its players (Player entity
role type). The soccer team has the goal to win a
match (modeled by the WinMatch goal). The goal
8 Modeling Mental Aspects WinMatch is accomplished, when the soccer match is
over and the team has scored more goals than conceded.
Mental semi-entities can be characterized in terms of their
This is expressed by the sufficient contribution of the be-
mental attitudes, i.e. motivations, needs, wishes, inten-
lief {match.isOver and team.scoredGoals >
tions, goals, beliefs, commitments, etc. To allow modeling
team.concededGoals} to the postcondition of the
all the above, AML provides: goals, beliefs, plans, con-
goal WinMatch. The soccer team players may have
tribution relationships, mental properties and associations,
goals to score a goal (ScoreGoal) which it is feasi-
mental constraints, and commit/cancel goal actions.
ble to commit to, when they are in a scoring chance.
Goal is a specialized UML class used to model goals, i.e.
This is expressed by the necessary contribution of the be-
conditions or states of affairs with which the main concern
lief ScoringChance to the precondition of the goal
is their achievement or maintenance. Goals can thus be
ScoreGoal.
used to represent objectives, needs, motivations, desires,
etc.
Belief is a specialized UML class used to model a state 9 Conclusion
of affairs, proposition or other information relevant to the
system and its mental model. The limitation in paper length has not allowed to present
The attitude of a mental semi-entity to a belief or com- all the modeling elements and mechanisms AML provides
mitment to a goal is modeled by the belief or the goal (e.g. support for ontologies, contexts, etc.). Nevertheless,
instance being held in a slot of the corresponding mental we believe that from what has been presented in this pa-
property (owned by the mental semi-entity, or a mental as- per, it is evident that AML provides a rich set of mod-
sociation relating the belief or the goal to the mental semi- eling constructs for modeling applications that embody
entity). and/or exhibit characteristics of multi-agent systems. It
Plan is a specialized UML activity used to model: prede- integrates best modeling practices and concepts from ex-
fined plans, or fragments of behavior from which the plans isting agent oriented modeling and specification languages
AGENT MODELING LANGUAGE. . . Informatica 29 (2005) 391–400 399

into a unique framework built on foundations of UML 2.0 Agent Systems. In IEEE/WIC Conference on Intelli-
and OCL 2.0. The structure of the language definition to- gent Agent Technology (IAT’03), pages 539–544, Hal-
gether with the MDA/MOF/UML “metamodeling technol- ifax, Canada, 2003.
ogy” (UML profiles, first-class metamodel extension, etc.,
gives AML the advantage of natural extensibility and cus- [7] S. Cranefield, S. Haustein, and M. Purvis. UML-
tomization. AML is also supported by CASE tools. Based Ontology Modelling for Software Agents.
We feel confident that AML is sufficiently detailed, com- In IProceedings of the Workshop on Ontologies in
prehensive and tangible to be a useful tool for software ar- Agent Systems, 5th International Conference on Au-
chitects building systems based on, or exhibiting character- tonomous Agents, 2001.
istics of, multi-agent technologies. In this respect we antic- [8] S.A. DeLoach. Multiagent Systems Engineering:
ipate that AML may form a significant contribution to the A Methodology and Language for Designing Agent
effort of bringing about widespread adoption of intelligent Systems. In Agent-Oriented Information Systems ’99
agents across varied commercial marketplaces. (AOIS’99), Seattle, WA, 1999.

[9] M. d’Inverno and M. Luck. Understanding Agent Sys-


Acknowledgement
tems. Springer-Verlag, Berlin, 2001.
The authors are indebted to Stefan Brantschen, Monique
Calisti, and Dominic Greenwood, for their support and [10] R. Evans, P. Kearny, J. Stark, G. Caire, F. Garijo, J.J.
fruitful comments which have inspired many ideas and thus Gomez-Sanz, F. Leal, P. Chainho, and P. Massonet.
substantially influenced the current version of AML. MESSAGE: Methodology for Engineering Systems
of Software Agents. Technical Report P907, EU-
RESCOM, 2001.
References [11] J. Odell, H.V.D. Parunak, and B. Bauer. Extend-
ing UML for Agents. In G. Wagner, Y. Lesper-
[1] B. Bauer, J.P. Muller, and J. Odell. Agent UML:
ance, and E. Yu, editors, Proceedings of the Agent-
A Formalism for Specifying Multiagent Interac-
Oriented Information Systems Workshop at the 17th
tion. In P. Ciancarini and M. Wooldridge, editors,
National conference on Artificial Intelligence, pages
Agent-Oriented Software Engineering, pages 91–103.
3–17, Austin, Texas, 2000.
Springer-Verlag, Berlin, 2001.
[12] J. Odell, H.V.D. Parunak, M. Fleischer, and
[2] P. Bresciani, P. Giorgini, F. Giunchiglia, J. My-
S. Brueckner. Modeling Agents and their Environ-
lopoulos, and A. Perini. TROPOS: An Agent-
ment. In F. Giunchiglia, J. Odell, and G. Weiss, edi-
Oriented Software Development Methodology. Au-
tors, Agent-Oriented Software Engineering III: Third
tonomous Agents and Multi-Agent Systems, 2(3):203–
International Workshop, AOSE 2002, pages 16–31.
236, 2004.
Springer-Verlag, Berlin, 2002.
[3] R. Cervenka and I. Trencansky. Agent Modeling Lan-
[13] OMG. Meta Object Facility (MOF) Specification.
guage: Language Specification. Version 0.9. Techni-
Version 1.4, formal/2002-04-03, april 2002.
cal report, Whitestein Technologies, 2004.
[14] OMG. UML 2.0 OCL Specification. ptc/03-10-14,
[4] R. Cervenka, I. Trencansky, and Calisti. Modeling October 2003.
Social Aspects of Multiagent Systems: The AML
Approach. In J.P. Muller and F. Zambonelli, edi- [15] OMG. Unified Modeling Language: Superstructure
tors, The Fourth International Joint Conference on version 2.0. ptc/03-08-02, 2003.
Autonomous Agents & Multi Agent Systems (AAMAS
05). Workshop 7: Agent-Oriented Software Engineer- [16] L. Padgham and M. Winikoff. Prometheus: A
ing (AOSE), pages 85–96, Universiteit Utrecht, The Methodology for Developing Intelligent Agents. In
Netherlands, 2005. F. Giunchiglia, J. Odell, and G. Weiss, editors,
Agent-Oriented Software Engineering III: Third In-
[5] R. Cervenka, I. Trencansky, M. Calisti, and D. Green- ternational Workshop, AOSE 2002, pages 174–185.
wood. AML: Agent Modeling Language. Toward Springer-Verlag, Berlin, 2002.
Industry-Grade Agent-Based Modeling. In J. Odell,
P. Giorgini, and J.P. Muller, editors, Agent-Oriented [17] A.S. Rao and M.P. Georgeff. Modeling Rational
Software Engineering V: 5th International Workshop, Agents within a BDI-Architecture. In J.F. Allen,
AOSE 2004, pages 31–46. Springer-Verlag, Berlin, R. Fikes, and E. Sandewall, editors, Knowledge Rep-
2005. resentation and Reasonning (KR&R-91): Principles
of Knowledge Representation and Reasoning, pages
[6] M. Cossentino, L. Sabatucci, and A. Chella. A Possi- 473–484. Morgan Kaufmann Publishers, San Mateo,
ble Approach to the Development of Robotic Multi- California, 1991.
400 Informatica 29 (2005) 391–400 I. Trencansky et al.
View publication stats

[18] V. Silva, A. Garcia, A. Brandao, C. Chavez, C. Lu-


cena, and P. Alencar. Taming Agents and Objects
in Software Engineering. In A. Garcia, C. Lucena,
J. Castro, A. Omicini, and F. Zambonelli, editors,
Software Engineering for Large-Scale Multi-Agent
Systems: Research Issues and Practical Applications,
volume LNCS 2603, pages 1–25. Springer-Verlag,
Berlin, 2003.
[19] M.K. Smith, D. McGuinness, R. Volz, and
C. Welty. Web Ontology Language (OWL),
Guide Version 1.0, W3C Working Draft. URL:
http://www.w3.org/TR/2002/WD-owl-guide-
20021104, 2002.
[20] A. Sturm, D. Dori, and O. Shehory. Single-Model
Method for Specifying Multi-Agent Systems. In Pro-
ceedings of the second international joint conference
on Autonomous agents and multiagent systems, pages
121–128. ACM Press, New York, NY, 2003.
[21] The Foundation for Intelligent Physical
Agents. FIPA Specifications Repository. URL:
http://www.fipa.org/repository/index.html, 2004.

[22] W.M. Turski and T.S.E. Maibaum. The Specification


of Computer Programs. Addison-Wesley, London,
1987.
[23] G. Wagner. The Agent-Object-Relationship Meta-
model: Towards a Unified View of State and Behav-
ior. Information Systems, 28(5):475–504, 2003.

[24] G. Weiss. Multiagent Systems–A Modern Approach to


Distributed Artificial Intelligence. MIT Press, Cam-
bridge, MA, 3rd edition, 2001.
[25] F. Zambonelli, N.R. Jennings, and M. Wooldridge.
Developing multiagent systems: the Gaia Methodol-
ogy. ACM Transactions on Software Engineering and
Methodology, 12(3):317–370, 2003.

You might also like