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