=Paper=
{{Paper
|id=None
|storemode=property
|title=Controlling Multi-Party Interaction within Normative Multi-Agent Organizations
|pdfUrl=https://ceur-ws.org/Vol-627/coin_2.pdf
|volume=Vol-627
|dblpUrl=https://dblp.org/rec/conf/mallow/BoissierBB10
}}
==Controlling Multi-Party Interaction within Normative Multi-Agent Organizations==
Controlling multi-party interaction within
normative multi-agent organizations
Olivier Boissier1 , Flavien Balbo2,3 , and Fabien Badeig2,3
1
Ecole Nationale Supérieure des Mines,
158 Cours Fauriel, 42100 Saint-Etienne, France
Olivier.Boissier@emse.fr
2
Université Paris-Dauphine - LAMSADE,
Place du Maréchal De Lattre de Tassigny,F-75775 Paris 16 Cedex, France
balbo@lamsade.dauphine.fr
3
INRETS - GRETIA,
2, Rue de la Butte Verte,93166 Noisy Le Grand, France
badeig@inrets.fr
Abstract. Multi-party communications taking place within organiza-
tions lead to different interaction modes between agents (e.g. (in)direct
communication between roles, (in)direct communication restricted to a
group, etc). Fully normative organisations need to regulate and control
those modes as they do for agents’ behaviors. This paper proposes to ex-
tend the normative organization model Moise in order to specify such
interaction modes between autonomous agents participating to an orga-
nization. This specification has two purposes: (i ) to make the multi-agent
organization able to monitor the interaction between the agents, (ii) to
make the agents able to reason on these modes as they can do on norms.
The paper is focused on the first point. We illustrate with a crisis man-
agement application how this extension has been implemented thanks to
a specialization of the Easi interaction model.
1 Introduction
In a Multi-Agent System (MAS), interaction and organization play key and
essential roles. A MAS is often described as composed of agents situated in a
shared environment interact directly or indirectly with each other to execute and
cooperate in a distributed and decentralized setting according to an organization.
The Easi model4 [7] proposes a multi-party environment based interaction model
and is therefore able to support the complexity of the interaction within an
organization. On one hand, agents are able to send messages to other agents
situated in the environment and, on the other hand, any agent situated in the
environment is able to perceive the exchanged message. It is thus possible to
consider, for the same message, direct, indirect and overhearing communications.
If needed, the Easi model preserves the privacy of the interaction, more details
are given in [7].
4
Environment as Active Support for Interaction
17
However, it is not possible to make the agents aware of this interaction set-
tings. There is no declarative representation usable at the agent level.
Agents in a MAS are often structured along one organization that helps
and/or constraints their cooperation schemes. Current proposals offer modeling
languages usable either by agents either by an organization management sys-
tem dedicated to the regulation and supervision of the agents within the defined
organization. The Moise model [5] is one of these proposals. Its organization
modeling language is composed of two dimensions – structural and functional
- connected to each other by a normative specification. Such a feature makes
it possible to easily extend the model with new dimensions. Currently, there
doesn’t exist any dimension dedicated to the definition of interaction modes
within the organization. It is thus not possible to govern the agents interac-
tion modes resulting from the multi-party communications offered in the Easi
framework.
In this paper, our aim is to propose a unified model for interaction and orga-
nization. To reach this objective we propose the enrichment of the Moise orga-
nization modeling language with a new and independent dimension connected
to the other ones by the normative specification. This way it is thus possible to
make the agents able of reasoning on their use of the interaction modes offered in
the Easi platform. The next step will be to develop such reasoning capabilities
in the agents. In this paper we focus on the presentation of the unified model
and how it is translated to be monitored by the facilities offered by the Easi
platform. The MAS designer will be able to use the resulting specification of
both the organization and the interaction and to get the corresponding support
environment.
The paper is organized as follows. In section 2, we present the background of
the proposal and motivate our choices. In section 3, we expose how Moise orga-
nization modeling language has been extended to specify the interaction modes
proposed by Easi. The section 4 describes how this specification is mapped to
the Easi model. In section 5, we show the expressing capabilities of the pro-
posal with different examples issued of a crisis management application. Before
conclusion, we compare our proposal to the current related approaches.
2 Background
In this paper, we consider a crisis management application where different dedi-
cated emergency services must be coordinated in order to solve a crisis situation.
The main difficulty in the modeling of such an application consists in the defini-
tion of the interaction constraints between those services, given that each service
has the possibility to decide on its own which interaction mode to use. We use
this application all along the paper to illustrate the components of our pro-
posal. In the following sections, we specify parts of the multi-agent organization
governing this application thanks to the models Moise and Easi.
18
2.1 Moise
The Moise framework [4] is composed of an organization modeling language,
an organization management infrastructure and organization based reasoning
mechanisms at the agent level. In this paper, we focus on the organization mod-
eling language. Our aim is to use it with the Easi platform in order to specify
and regulate the different interaction modes available on this platform (see next
section).
The organization modeling language considers the specification of an orga-
nization along three independent dimensions5 : structural (SS), functional (F S)
and normative (N S). Whereas SS and F S are independent, N S defines a set of
norms binding elements of both specifications. The aim is that the agents enact
the behaviors specified in N S when participating to the organization. The orga-
nization modeling language is accompanied by a graphical language (cf. Fig. 1,
2) and XML is used to store the organizational specifications.
Structural Dimension: The structural dimension specifies the roles, groups, and
links of an organization. It is defined with the following tuple: �R, �, rg� with
R set of the roles, �, inheritance relation between roles, rg organization root
group specification. The definition of this group gives the compatibility relations
between roles, the maximal and minimal cardinality of agents that can endorse
roles within the group, the links connecting roles to each other (communication,
authority, acquaintance) and sub-groups. In N S, the role is used to bind a set of
constraints on behaviors that the agent commits to satisfy as soon it endorses
the role.
In the crisis application, we define (cf. Fig. 1) two main groups which cor-
respond to the tactical spheres used in a crisis management: decision-making
sphere (Decision-making) and operational sphere (Operational). For each of them,
we define the roles manager and operator inheriting the generic role role-player.
These roles are specialized respectively in coordinator, leaderD for the group Decision-
making and leaderS for the subgroups of group Operational. The role coordinator
(resp. leaderD ) can be played by only and only one agent - 1..1 - (resp. several
agents - 1..* -). A compatibility link connects the role leaderD to leaderS mean-
ing that any agent playing leaderD will be able to play also the role leaderS . Six
communication links (cf. l1 to l6 ) have been defined between these roles (e.g. l1
communication link between coordinator and leaderD ).
Functional Dimension: The functional dimension is defined by �M, G, S� with
M set of missions, consistent grouping of collective or individual goals. A mission
defines all the goals an agent commits to when participating in the execution of
a social scheme by the way of the roles that they endorse. G is the set of the
collective or individual goals to be satisfied and S is the set of social schemes,
tree-like structurations of the goals into plans.
5
In this paper, we will provide the only necessary details in order to globally un-
derstand the model as well as the proposed extensions. For further details, readers
should refer to http://moise.sourceforge.net/.
19
role-player
operator
l2
l5 l6
l3 leader
leaderS member team
manager
1..1 1..1
traffic
l4 regulator
coordinator leaderD
1..1 1..n
l1 DDE CIGT SAMU Firefighter
team team team team
1..p 1..p 1..p 1..p
DDE CIGT SAMU Firefighter
0..g1 0..g2 0..s1 0..s3
Traffic Network Rescue
Manager Unity
0..1 0..1
Decision-making Operational
1..1 1..1
Crisis
inheritance intra-group inter-group
composition communication
role
compatibility
group
Fig. 1. Partial graphical view of the structural specification for the crisis management
application
The Fig. 2 illustrates a social scheme of F S expressing the collective plan for
deciding within the crisis management application. According to it, agents should
aggregate the different information in relation to the crisis situation Refining crisis
perception, Safeguarding zone by executing one of the two social schemes (scheme 1
or scheme 2 that are not detailed here) and execute the scheme 3. The different
goals are organized into missions.
Normative Dimension: The normative dimension N S defines a set of norms as:
�id, c, ρ, dm, m� with id norm identifier, c activation condition of the norm6 , ρ
role concerned by the deontic modality, dm deontic modality (obligation or per-
mission), m mission. A normative expression can be read as : “when c holds,
any agent playing role ρ has dm to commit on the mission m”. Within this lan-
guage, norms are either a permission, either an obligation for a role to commit
to a mission. Goals are indirectly connected to roles since a mission is a set of
goals. Interdictions are supposed to exist by default: if the normative specifica-
tion doesn’t have any permission or obligation for a couple mission, role, any
agent playing the role is forbidden to commit to mission. A norm becomes in
the active state (resp. inactive) as soon as the condition c holds (resp. doesn’t
6
Predicates bearing on the current organization state (e.g. plays, committed, etc)
and/or bearing on particular configurations of the application.
20
b1 : Managing crisis
m1
m1 , m2 , m3 m4 , m5
b2 : Refining Triggering scheme
crisis perception
m4 m5
Safeguarding zone Rescuing casualty
(scheme 3)
m4.1 m4.2
sequence choice parallelism
scheme 1 scheme 2
Fig. 2. Graphical view of the social scheme for decision within the crisis management
application. Goals are the nodes of the tree. Missions to which the goals are assigned
are in red.
hold). When the norm is active, the deontic expression attached to the norm can
be verified. The norm can thus becomes fulfilled or unfulfilled.
For instance, in the crisis management application, the norm obliging agents
playing the role leaderS in the group Traffic Network Management (TNM) to safe-
guard the zone where the accident took place (mission m4 ) is: �n1 , c1 , leaderS ,
obligation, m4 � where c1 is plays(bearer, leaderS , T N M ). The term bearer refers
to the agent that will play the role “bearer” in the context of the obligation
issued from the instantiation of the norm in the organization entity (see be-
low) and plays is a predicate satisfied when the agent plays the leaderS in an
instance of group TNM. When the zone is secured, the agents playing the same
role within the context of the group Rescue Unity (RU) deploys the intervening
scheme (mission m5 ) following the norm: �n2 , c2 , leaderD , obligation, m5 � where c2
is plays(bearer, leaderS , RU ).
Organizational Entity: An organizational entity (OE) is defined from the or-
ganizational specification OS and a set of agents A by the following tuple:
�OS, A, GI, SI, O� where GI is the set of concrete groups of the organization,
i.e. groups dynamically created from the group specification of the OS, SI is
the set of concrete social schemes dynamically created in the OE from the social
schemes specification in the OS and O is the set of obligations issued from the
norms N S attached to agents of A whose conditions are satisfied [6].
2.2 Easi
The multi-party interaction model Easi supports the management of direct,
indirect and overhearing communications in a MAS [7]. For cognitive agents, the
common point between all these communication modes consists in the routing
of the messages by identifying which agent should obtain which message and in
which context. Solving this problem requires taking into account both sides of
the sender and potential receivers. To this aim, Easi manages meta-informations
on the MAS (agents, messages, context) in the communication environment and
use them to help the agents to interact. The interaction model Easi is thus
21
defined by �Ω, D, P, F� with Ω = {ω1 , ..., ωm } the set of entities (A ⊂ Ω and
M SG ⊂ Ω - A set of agents and M SG set of messages -), D = {d1 , ..., dm } set
of domain descriptions of the properties, P = {p1 , ..., pn } set of properties, and
F = {f1 , ..., fk } set of filters.
Entity: The entities are the meta-information on the MAS that Easi manages.
An entity ωi ∈ Ω is defined by �er , ed � where er is a reference to an element of
the MAS and ed is the description of that element. An element of the MAS can
be agents (A), messages (M SG) and a reference is its physical address on the
platform or other objects such as URL, mailbox, .... The description ed is defined
by a set of couples �pi , vj � where pi ∈ P and vj is the value of the property for
this entity. Any agent of the MAS has its own processing and knowledge settings.
It is connected to the communication environment by the way of its description
that it stores and updates in this environment. This description ed is used for
the routing of the informations to the reference er .
Property: A property gives an information on an entity. A property pi ∈ P :
Ω → dj ∪ {unknown, null} is a function whose description domain dj ∈ D can
be quantitative, qualitative or a finite set of data. The unknown value is used
when the value of the property cannot be set, and null is used to state that the
property is undefined in the given description. In order to simplify the notation,
only the value of the description domain is given to specify a property.
For instance, in the crisis management application, the properties attached
to agents and messages are id, role, position, subject, sender with:
– id : Ω → N ,
– role : Ω → {coordinator, leaderS },
– position : Ω → N x N ,
– subject : Ω → {alert, demand},
– sender : Ω → N .
An agent a can have the following description {�role, coordinator�} and an
agent b {�role, leaderS �, �position, (10, 20)�} and a message m {�subject, alert�,
�position, (15, 20)�}.
Filter: The filter identifies the entities according to their description (ed ) and
realizes the interaction between the concrete objects (er ). A filter fj ∈ F is a
tuple fj = �fa , fm , [fC ], nf � with nf filter name. The assertion fa : A → {T, F }
identifies the receiving agents (which agent), the assertion fm : M SG → {T, F }
identifies the concerned messages (which message), and fC : P(Ω) → {T, F } is an
optional set of assertions identifying other entities of the context (which context).
Each agent ?r (� ?� preceedings a letter denotes a variable) whose description
validates fa receives in its mailbox the message ?m that satisfies fm if there
exists a set of entities in the ?c such that fC is true.
A filter is therefore valid for any tuple �?r ∈ A, ?m ∈ M SG[, ?c ⊂ Ω]�
For instance, in the crisis management application, the filter F e sets the
routing of the communication as follows (� =� is the comparison operator):
22
– The agents with the role leaderD that are situated in the crisis origin:
fa : [role(?r) = leaderD ] ∧ [position(?r) = (0, 0)]
– should receive the alert messages:
fm : [subject(?m) = alert] ∧ [sender(?m) =?ide]
– of the agent playing the role coordinator:
fC : [id(?e) =?ide] ∧ [role(?e) = coordinator]
In this example, the description of the message sender (?e) that is identified
thanks to the property sender in the message belongs to the context. Agents
wishing to send or receive a message, update their description in the commu-
nication platform and add/retract dynamically in/from the environment filters
that involve them. Thus the environment supports simultaneously direct inter-
action (including dyadic, broadcast multi-cast and group communication) and
indirect interaction (including mutual-awareness and overhearing). If the filter is
added by the future receiver of the message then the interaction is indirect: the
depositary agent defines which message it wants to receive. If the filter is added
by the future message sender then the interaction is direct: the depositary agent
defines which agent it wants to contact.
According to the state of the different descriptions within the environment,
the triggered filter will enable the routing of the messages in the different inter-
action modes towards the corresponding targets.
Even if Easi offers an advanced communication management by identifying
precisely the interaction context, it cannot be used by the agents in order to rea-
son on the causes of the interaction. For instance, the filter F e will permit the
routing of messages but the reasons of this requirement is not expressed within
Easi. For the filter F e, the choice of the communication mode may depend
on the relations between the roles coordinator and leaderD : the coordinator sends
messages to leaders (direct mode) for dedicated messages whereas the leaders
listen to all the messages issued from the coordinator (indirect mode). Using this
knowledge, an agent could reason on the current interactions. For instance, the
coordinator may choose a direct interaction to handle certain informations and
indirect interaction for others. The leaders can deduce the importance to the
informations according to the filter used to receive informations. The specifica-
tion of communications within an organizational model would help the agents
to relate communication filters to the reasons that cause the use of such a com-
munication channel.
3 Extending Moise for Easi
In order to clearly specify the interaction modes used in Easi, we are going to
enrich and extend the organization modeling language of Moise with a new di-
mension. This new dimension is called communication mode specification (noted
CS). It is dedicated to expressing the communication modes that will be used
within the organization. As the other Moise dimensions, we keep it independent
of SS and F S. We use the same principle to connect it to the other dimensions
and enrich the normative specification accordingly. The aim is to be able to
23
connect the communication modes to the structure and functioning of the orga-
nization by the way of norms. Those norms will be made accessible to the agents
when interacting with other agents of the organization.
The organization specification is thus enriched into the following 4-uple:
�SS, F S, CS, N S� with CS communication modes specification and N S the mod-
ified normative specification. We detail these two components in what follows.
3.1 Communication modes specification
The specification CS is composed of the set of communication modes cm ∈ CS
considered in the organization.
A communication mode is defined as: �type, direction, protocol� with type,
the type of the communication mode (direct or indirect), direction, the message
transmission direction (unidirectional or bidirectional ), protocol, the interaction
protocol that is used. The values of this last variable correspond to the name
of the different interaction protocols that the designer wishes to be used and
deployed in the organization (e.g. F IP AREQU EST , P ublish Subscribe, ...).
As we will see below, a communication mode qualifies the communication
link defined in the structural specification between roles. The communication
link is directed from the initiator of the communication - source of the link - to
the participant - target of the link -. Therefore, a link can be considered as:
– a unidirectional channel, letting circulate messages in only one direction,
– a bidirectional channel, letting circulate messages in both directions from
the initiator to the participant and inversely.
Orthogonal to these two directions, we consider the direct and indirect interac-
tion models proposed within Easi.
In the crisis management application, we define, for instance, the two follow-
ing communication modes cmd,b and cmi,u :
cmd,b : �direct, bidirectional, F IP AREQU EST �
cmi,u : �indirect, unidirectional, P ublishSubscribe�
where cmd,b is used to directly ask for information whereas cmi,u is used to
provide informations to agents that will consult it when they want.
3.2 Communication Norms
In order to bind communication link and communication mode as defined in CS
by making explicit the deontic modalities attached to their use, we generalize the
writing of the norms described in the Moise initial version: �id, c, ρ, dm, object�
where id is norm identifier, ca the activation condition, ρ the role on which
the deontic modality bears, dm the deontic modality (obligation or permission),
object the subject of the norm.
24
Object of a norm: The object of a norm object is defined as the two following
expressions:
– do(m) in the case where a mission m has to be executed - case initially
considered in Moise,
– use(l, cm, α) in the case where the communication mode cm should be used
for the link l in the context α.
Context: The context α defines the constraints bearing on the descriptions ed
of the entities ωi ∈ Ω (cf. Sec. 2.2) involved in the interaction using this com-
munication link: sender, receiver, message. It is also possible to add additional
descriptions issued from other entities of the MAS (e.g. requirements of the
agent, ...). It is thus possible to use a mission as context of use of the link or
a particular goal as context of use of this link. We will define in the following
section the way we express these constraints when describing how Easi has been
specialized to handle Moise. When α’s status is T (true), the link is usable in
any situation.
Let’s consider the communication link l1 used by the agents playing the role
coordinator towards agents playing the role leaderD (eg. Fig. 1) in the crisis man-
agement application. Given the normative specification that we have defined, it
is possible to bind to it the communication mode cmi,u defined above, by writ-
ing the following norm: n1 �n1 , c1 , coordinator, obligation, use(l1 , cmi,u , T )� with c1
: committed(m1 ) to express that l1 ought to be used by agents playing the role
coordinator when they are committed to the mission m1 . No particular context is
attached to the use of the communication mode cmi,u .
We can also attach to this link another communication mode cmd,b , by defin-
ing a new norm n2 : �n2 , c2 , coordinator, obligation, use(l1 , cmd,b , α2 )� with c2 :
committed(m4 ) by specifying a context α2 (cf. following section for the syntax)
stating that the communication on the link l1 takes place for the sending of mes-
sages to agents belonging to group CIGT (Center of the Ingineering and Manage-
ment of the Traffic). The link l1 can also be bound to the same constraints but for
communication in the context α3 stating the sending of messages from thea gent
playing role coordinator to agent belonging to group TNM: �n3 , c2 , coordinator,
obligation, use(l1 , mcd,b , α3 )�.
In the following, we will need to access to the different features of a com-
munication link from the structural specification. We will use pointed notation
lj .initiator (resp. lj .participant) to access to the source role (resp. target) of
the link lj , and lj .group to access to the group in which lj is defined.
4 Specializing Easi for Moise
Our objective is to generate filters for the communication environment from the
specifications defined in the organization modeling language. These filters use
informations on the organization. These informations should be stored in the
description of the entities that are managed by the communication environment
25
in order to be accessible to the filters. In this section, we identify and define
the necessary properties for describing the agents and messages in the com-
munication environment. Then we describe a generic filter generated from the
communication norms that we just defined in the previous section.
4.1 Properties
In order to connect organization and interaction, it is necessary to give a minimal
description of an agent, of a message while incorporating this new dimension in
them. Given the definition of an entity in section 2.2, we define the following
properties that are accessible in the environment for each type of entity.
Agent Properties: The description of an agent is at least composed of the id and
org properties, where:
– id returns the identifier of the agent (id : A → IDA with IDA set of agent
identifiers),
– org returning the subset of organizational descriptions coming from the par-
ticipation of the agent to the organization (org : A → P(OC) with OC set of
organization descriptions).
An organization description oci ∈ OC is defined by: oci = �ig : g, r, m, go� with
ig ∈ IG, g ∈ {rg} ∪ rg.subgroups, r ∈ R, m ∈ M , go ∈ G. ig is a concrete group
created from the group specification g defined in the SS of the organization. The
parameter rg and the sets R, M , G are defined in the organization specification
(cf. Sec. 2.1).
For instance, in the crisis management application, the agent a described by
org(a) = {�g1 : Decision making, leaderD , m2 , b2 �, �g2 : DDE, leaderS , m1 , b1 �},
belongs to the group g1 of type Decision-making and to a group g2 of type DDE,
in which it plays respectively role leaderD , committed to mission m2 , trying to
achieve goal b2 and the role leaderS , committed to the mission m1 trying to achieve
the goal b1 .
This description of an agent is minimal. We defined two management modes.
Being related to the organization, these properties can be managed without
being intrusive: management by the organization management infrastructure.
However, if this set is complemented by specific properties related to the internal
state of the agents, their management is ensured by the agents themselves. For
instance, a property availability returning the availability of the agent has a
value that is related to the choice of the agent itself.
Message Properties: In the same way, we specialize the description of a message
with the following set of minimal properties sender, receiver, subject, rc, sc where:
– sender : M SG → IDA ,
– receiver : M SG → P(IDA ) ∪ {unknown},
– subject : M SG → Dsubject ∪ {unknown}, with Dsubject = G ∪ R ∪ {expression},
expression is a string,
26
– rc : M SG → OC ∪ {unknown} being the reception context,
– sc : M SG → OC ∪ {unknown} being the sending context.
Using these properties, the sender gives informations on the organizational
context in which the interaction takes place. For a message, each of these prop-
erties can receive a value or the value unknown. The more the sender specifies
values of properties, the more precise will be the filter that can be used for the
routing. We impose that the property sender doesn’t get a value unknown in
order to avoid anonymous messages.
Given these different properties, we have now the possibility of a routing
ranging from indirect interaction, based on only the identifier of the sender, to
one, focused on a subset of receivers (receiver) in a particular organizational
context (rc), with a sender being in a given organizational context (sc) and the
message with a particular content (subject).
The sender can also decide to define patterns for conditioning the routing
along different organizational contexts. To this aim, it can use the symbol � � as
value for an element of the organizational context. This symbol denotes that the
value is not a constraint in the choice of the tuples.
For instance, in the crisis management application, the expression � : DDE,
, m2 , � defines an organizational pattern of OC such that the concrete group
must be of type DDE and the mission is m2 whatever are the values for roles and
goals. The message mes1 described below means that the sender whose identifier
is a1 and having the goal b2 (sending context) sends a message to the agents a2
and a4 . In this case, the processing of the message is not constrained by the
organizational states of the participating agents. They only have to be trying
to achieve the organizational goal b2. ��sender, a1 �, �receiver, {a2 , a4 }�, �subject,
demand�, �rc, � : , , , b2 ��, �sc, � : , , , b2 ���
For the sender, these are only possibilities since the routing of the message
depends on the filters that are installed in the communication environment.
In fact, according to the filters that are installed in it, the routing of the
message can lead to different situations: interaction as intended by the sender,
no interaction or interaction not intended by the sender. For instance, the agent
a2 can receive the message although it doesn’t have the goal b2 in the case there
exists a filter enabling the reception of messages from the agent a1 , whatever are
the values for the properties of the message.
In each message is stored the organizational context of its sending in order to
enable the agents to filter them. An agent can thus choose to receive messages or
to route them according to their organizational contexts without being imposed
their use. Moreover, this definition of messages enables to consider the evolution
of the organization state. Thus, a message kept in the environment can still be
received by an agent in case of change of the organization state. For instance,
an agent can be interested by any message whose receiving context concerns a
role that it just endorsed. It is useful to keep an history of the past interaction
27
to better understand the current situation. Another advantage is to avoid that
a message is missed because it has been sent before the agent has endorsed the
role. In order to avoid a risk of confusion between messages, a property related
to the time value of there emission or related to there life time can be added to
the message description. This choice belongs to the system designer and is out
of the scope of this paper.
4.2 From Communication Norms to Environment Filters
The activation of a norm for a communication link leads to the generation and
addition of a filter in the environment. This filter is called normative filter. It
corresponds to the exact translation of the norm as it is instantiated by the orga-
nization management system. Thanks to the organization management system,
the agents are aware of the norm activation. Besides to the normative filters,
the communication environment contains also filters set by the agents according
to their activity in the system. In case of direct interaction, the sender knows
that it can reach the agents identified as receiver in the norm. In case of indi-
rect interaction, the receiver knows that it can receive messages identified in the
norm.
A normative filter uses all the possible informations coming from the organi-
zational specification and routes a message according to its sc and rc properties.
The property receiver is not used in the generation process of a normative filter
since it requires that the sender knows the identifiers of the agents. This is a too
strong hypothesis. The same way, since the routing comes from the activation
of a norm, the filter cannot constrain the subject of the message (subject) ex-
cept additional conditions in the norms (context α of the object of the norm).
The filter identifies a state of the context corresponding to the interaction. It is
identical in the direct and indirect cases. We then propose a generating pattern
that will be specialized for each activated communication norm.
Access to the organizational specification: The normative filter is created when
the norm is activated as follows.
Let’s first define the functions initiator and participant that access to the
agents involved in the communication link defined in the object of the norm.
initiator : O → A participant : O → A
These functions return, for an instantiated norm, the agent (initiator), who
initiates, or the one (participant), who participates, to the interaction. From
these two functions, we express constraints on the descriptions of the agents.
For instance org(initiator(nj )) makes possible to access to the organizational
context attached to the description of the agent initiating the communication in
the context of the instantiated norm nj in which it is involved.
Let’s define the predicate achievesα that is automatically generated from the
constraints expressed in the context α of the object of a norm. This predicate
checks that the context is satisfied given the initiator, participant, message and
entity descriptions in the environment, given α :
achievesα : A × M SG × A × P(Ω) :→ {T, F }
28
Given the previous definitions, we are able now to express the generic nor-
mative filter fnk (?p, ?m, {?i, C}) for the receiver ?p of the message ?m sent by ?i
in the context C. This filter has been generated from the activation of the norm
nk . The object of the norm bears on the communication link lj . It is composed
of assertions fa that identifies the receiver of the message ?p according to its
organizational context, fm that identifies the message ?m according to its orga-
nizational context and fc that identifies the organizational context of the sender
and the constraints α of the norm nk .
fa : �[org(?p) � �?x : lj .group, lj .participant, , �]
fm : �[sender(?m) = id(?i)] ∧ [sc(?m) = �?y : lj .group, lj .initiator, , �] ∧ [rc(?m) =
�?x : lj .group, lj .participant, , �]
fC : �[org(?i) � �?y : lj .group, lj .initiator, , �] ∧ achievesα (?p, ?m, ?i, C)�
Let’s consider again the norm n2 of the crisis management application: �n2 ,
committed(m4 ), coordinator, obligation, use(l1 , cmd,b , α2 )� with α2 : [� : CIGT , , , � ∈
org(participant(n2 ))]. The interaction is a direct and bidirectional one (cf. cmd,b
of n2 ). The sending agent deposits the first message. The two necessary filters
have been generated and added thanks to the activation of n2 .
The normative filter generated for n2 for the interaction from initiator to
participant is fn2 (?p, ?m, {?i, C}) : where :
fa : �[org(?p) � � ?x : Decision making, leaderD , , �]
fm : �[sender(?m) = id(?i)] ∧ [sc(?m) = �?y : Decision making, coordinator, , �] ∧
[rc(?m) = �?x : Decision making, leaderD , , �]
fC : �[org(?i) � �?y : Decision making, coordinator, , �] ∧[org(?p) � � : CIGT, , , �]�
The normative filter from the participant to the initiator is fn2 (?i, ?m, {?p, C}) :7 ,
where:
fa : �[org(?i) � �?x : Decision making, coordinator, , �]
fm : �[sender(?m) = id(?p)]∧[sc(?m) = �?y : Decision making, leaderD , , �]∧[rc(?m) =
�?x : Decision making, coordinator, , �]
fc : �[org(?p) � �?y : Decision making, leaderD , , �] ∧ [org(?p) � � : CIGT, , , �]�]�
This way, for two agents participating to the same concrete group, the mes-
sage sent by the initiator agent a1 processed by the filter fn2 will have the fol-
lowing description: ��sender, id(a1 )�, �rc, �g1 : Decision making, coordinator, , ��,
�sc, �g1 : Decision making, leaderD , , ���
The message sent by the participant agent a2 , processed by fn2 will have the
following description: ��sender, id(a2 )�, �rc, �g1 : Decision making, leaderD , , ��,
�sc, �g1 : Decision making, coordinator, , ��, �
With these two filters, a communication channel has been created between
agents having the roles coordinator and responsible in the group CIGT. The
interaction model Easi has make possible to elaborate these filters. The Moise
model has made possible its use.
7
we continue to use the variable ?p for the participant in the interaction and ?i for
the initiator given that the agent which is identified by the variable ?i who receives
the message sent by ?p.
29
5 Example
In this section, we illustrate and discuss the expressing capabilities of our pro-
posal going back to the interaction modes attached to the communication link
l1 issued of the communication norms n1 , n2 , n3 in the crisis management ap-
plication described in the paper.
– �n1 , c1 , coordinator, obligation, use(l1 , cmi,u , T )� with c1 : committed(m1 )
– �n2 , c2 , coordinator, obligation, use(l1 , cmd,b , α2 )� with c2 : committed(m4 )
and α2 : � : CIGT , , , � ∈ org(participant(n2 ))
– �n3 , c3 , coordinator, obligation, use(l1 , cmd,b , α3 )� with c3 : committed(m4 )
and α3 : � : T N M , , , � ∈ org((participant(n3 ))
On these three norms, the differences bear on the activation conditions of the
norm cx , the communication mode cmx,y and the communication context spec-
ified in the object.
The norm n1 whose activation condition bears on the management of the
crisis (mission m1 ) is activated during all the crisis management. The norms n2
and n3 are not active since the agents on which the norms bear are committed
on the mission m4 .
The predicate achievesα of the normative filter fn1 generated from the norm
n1 is always true (α1 = T ). According to this norm, all the agents playing the
role leaderD (target of link l1 ) must consult the informations set available by any
agent playing the role coordinator. The norm n2 imposes a direct interaction in
the context of mission m4 so that the coordinator is able to get informations
on the state of the transportation network. According to this norm, any agent
playing the coordinator role can reach any agent playing the role leaderD (target
of link l1 ) and being a member of concrete group of type CIGT. The normative
filter fn2 described in the previous section expresses these constraints. For the
same mission m4 , the coordinator requires information on the available ressources
in the services TNM. The normative filter fn3 resulting from the activation of
norm n3 , enables the coordinator to reach any leader of each traffic network
management service (TNM).
In our example, if the missions m1 , m4 are under examination, the norma-
tive filters corresponding to the three norms are simultaneously present in the
environment. From the point of view of the agent playing the role coordinator,
it means that it can route messages directly to the agents who are leaderD in
groups of type CIGT (n2 ) and broaden their demand to agents playing the role
leaderD in the groupes of type TNM (n3 ) given its needs.
Let’s turn to the agents playing the role leaderD in the group Decision-making.
If involved in the role leaderS within the groups CIGT and TNM (let’s notice that
this situation is possible thanks to the compatibility link between both roles),
the agents will receive the requests from the agent playing the role coordinator and
will be able to know that this is a direct interaction issued from the coordinator.
The agents will be able to answer to this agent by using the normative filter
created in case of bidirectionnal interaction. Thanks to norm n1 , every agent
playing the role leaderD will receive the messages sent by the agents playing
30
the role coordinator via the filter fn1 , building a common and shared knowledge
(indirect interaction). According to their processing activity, the agents will be
more or less aware of these messages.
This short example that we can’t detail more, shows the richness of expres-
siveness of the interaction modes made possible by combining Easi and Moise
as described in this paper.
6 Related work
To our knowledge, there doesn’t exist a similar support to interaction enabling,
for the same communication, to consider simultaneously the direct and indirect
interaction modes.
Considering related works to the indirect interaction, the general principle
consists in the use of a shared data space that is integrated or not to the en-
vironment [8]. In this approach, the tuples that are deposit by the sender in
the shared space are compared to patterns expressing the needs of the receivers.
These works are focused on the accompanying coordination language and don’t
consider, at any moment, the organization or the state of the agents.
Dealing with the direct interaction model, several works propose to use an or-
ganizational structure in order to manage the communications. In [1], the agents
are organised in a hierarchy where each level knows the skills of the agents be-
longing to the lower level in order to make possible for the sender, a routing of
the messages according to the skills. However, it is not an organizational model
that is usable by the agents. In the AGR model [3], the organization constrains
the interactions according to the groups to which the agents participate. It sup-
ports a routing of the message according to the organizational model (group,
role). However, the only interaction mode is the direct one and the agents don’t
have access to an explicit description of the different specifications.
Normative organization models have been proposed in the literature in order
to regulate and control the communication between agents. However the specifi-
cations address the interaction protocols, i.e. the coordination of the interaction
instead of interaction modes. The only considered interaction mode is the di-
rect one (e.g. ISLANDER [2]). They don’t consider the interaction at the level
addressed in this paper.
7 Conclusions
In this paper, we have proposed a specification of interaction modes between
agents within an organization. For that aim, we have extended and enriched the
organization modeling language of the Moise framework. We have also shown
how the specifications have been used to generate and to configure dynamically
the communication environment supported by the Easi platform. We have il-
lustrated the use of this proposal in a crisis management application.
In the future, we intend to extend the considered interaction modes to over-
hearing. We will also consider the communication between groups by extending
31
the scope of communication to groups by enriching and modifying the structural
specification of Moise. Thanks to these new primitives in the organization spec-
ification, we can turn to the development of reasoning mechanisms at the agent
level to make agents able to reason on the interaction modes that they can use
within the organization.
Acknowledgement
We would like to thank D. Trabelsi, H. Hadioui and J.F. Hübner for the fruitful
discussions about the content of this paper.
References
1. N. Bensaid and P. Mathieu. A hybrid architecture for hierarchical agents. In Proc.
of ICCIMA’97, pages 91–95, 1997.
2. M. Esteva, J. A. Rodriguez-Aguiar, C. Sierra, P. Garcia, and J. L. Arcos. On the
formal specification of electronic institutions. In Frank Dignum and Carles Sierra,
editors, Proceedings of the Agent-mediated Electronic Commerce, LNAI 1191, pages
126–147, Berlin, 2001. Springer.
3. J. Ferber and O. Gutknecht. A meta-model for the analysis and design of or-
ganizations in multi-agents systems. In Y. Demazeau, editor, Proceedings of the
3rd International Conference on Multi-Agent Systems (ICMAS’98), pages 128–135.
IEEE Press, 1998.
4. J. F. Hübner, O. Boissier, R. Kitio, and A. Ricci. Instrumenting Multi-Agent Organ-
isations with Organisational Artifacts and Agents. Journal of Autonomous Agents
and Multi-Agent Systems, 20(3), 2010.
5. J. F. Hübner, J. S. Sichman, and O. Boissier. A model for the structural, functional,
and deontic specification of organizations in multiagent systems. In G. Bittencourt
and G. L. Ramalho, editors, Proceedings of the 16th Brazilian Symposium on Ar-
tificial Intelligence (SBIA’02), volume 2507 of LNAI, pages 118–128, Berlin, 2002.
Springer.
6. Jomi Fred Hübner, Olivier Boissier, and Rafael H. Bordini. Normative programming
for organisation management infrastructures. COIN Workshop at MALLOW, 2009.
7. J. Saunier and F. Balbo. Regulated multi-party communications and context aware-
ness through the environment. Journal on Multi-Agent and Grid Systems, 5(1):75–
91, 2009.
8. L. Tummolini, C. Castelfranchi, A. Ricci, M. Viroli, and A. Omicini. ”exhibitionists”
and ”voyeurs” do it better: A shared environment approach for flexible coordina-
tion with tacit messages. In Proc. of Workshop on Environments for Multi-Agent
Systems, LNAI 3374, pages 215–231. Springer Verlag, 2004.
32