2COMM: A commitment-based MAS architecture Matteo Baldoni, Cristina Baroglio and Federico Capuzzimati Dipartimento di Informatica Università degli Studi di Torino c.so Svizzera 185, I-10149 Torino (Italy) Email: {matteo.baldoni,cristina.baroglio,federico.capuzzimati}@unito.it Abstract—Social expectations and social dependencies are with legacy, non agent-based systems. It concerns two of the a key characteristic of interaction, which should be explicitly four main phases of the standard software development cycle: accounted for by the agent platform, supporting the coordination the analysis phase and the design phase. of the involved autonomous peers. To this aim, it is necessary to provide a normative characterization of coordination and Following [4], we rely on a form of indirect communication give a social meaning to the agents’ actions. We focus on one among agents that envisages the use of artifacts: commitment- of the best-known agent platforms, Jade, and show that it is based communication artifacts implement interaction protocols possible to account for the social layer of interaction by exploiting as well as monitoring functionalities for the verification that commitment-based protocols, by modifying the Jade Methodology the on-going interaction respects the protocol, for detecting so as to include the new features in a seamless way, and by relying on the notion of artifact, along the direction outlined in violations and violators, and so forth. Artifacts, therefore, the Mercurio proposal. encode the social layer of the multi-agent system: as a pro- grammable communication channel an artifact contains what This is a light revision of a paper presented a EMAS 2013. in the terminology of commitment protocols is called “the social state”, and captures it as an interaction session among I. I NTRODUCTION AND M OTIVATION the parties. Artifacts also supply agents the social actions Interaction creates social expectations and dependencies that are necessary to the interaction – that is, actions that in the involved partners [38], [18], [34], [23]. These should allow agents to enter into and to comply with commitments be explicitly accounted for by the agent platform to allow – together with their social meaning. As a consequence, they the coordination of autonomous entities. In order to create capture the coordination rules of the protocol. The reification social expectations on the agents’ behavior, it is necessary to of commitment protocols allows agents to act on them, e.g. introduce a normative characterization of coordination and give to examine them (for instance, to decide whether to play a social meaning to the agents’ actions. An agent that under- one of the foreseen roles), use them (which entails that they stands such a specification and that publicly accepts it (i.e. that explicitly accept the corresponding regulation), negotiate their declares it will behave according to it) allows reasoning about construction, specialize them, and compose them. The advan- its behavior [21]. This is the key to the development of open tage of relying on indirect communication is that it allows environment systems, made of autonomous and heterogeneous more variegated ways of interacting, not hindering message components. exchange when necessary. By not supplying such abstractions, current platforms do In this paper we show that our proposal can be inte- not supply agents the means for observing or reasoning about grated seamlessly within the JADE Methodology, simply by the social expectations involved by interaction, and do not substituting the selection of JADE FIPA protocols with the supply the designers the means to explicitly express and selection/construction of appropriate communication artifacts. characterize them when developing an interaction model. An We also use the methodology to show the differences between important example is JADE [10], [11], which is a well- these two alternatives with the help of an example from a established development environment for multi-agent systems, financial setting. FIPA-compliant, actually used for industrial applications, and Section II reports the relevant background, necessary to which notoriously does not provide of a social and observa- understand the proposal. Section III is the core of the paper, tional semantics. containing the original proposal. Section IV applies the con- One proposal for filling this gap is provided by the Mercu- cepts to an illustrative example, from a financial setting. A rio framework [4], [3], where commitments and commitment- discussion also involving related works ends the paper. based protocols, which are well-known for featuring a social and observational semantics [34], [35], [41], are introduced II. BACKGROUND in JADE. Mercurio, however, is an abstract proposal. In this work, we describe an implementation of a system along the We briefly report the technical, methodological and theo- lines proposed in Mercurio. Our starting point for introduc- retical background required for our work. We use the proposal ing commitment-based protocols inside JADE is the JADE in [4] as a high-level reference architecture. In this work, the Methodology [30]. This methodology is particularly interesting authors outline the basic ideas for an interaction-oriented agent because it is intrinsically agent-oriented – it is not the adapta- framework, grounding the social semantics of interaction on tion of an object-oriented methodology, and it combines a top- commitments, and proposing the A&A (Agents and Artifacts) down approach with a bottom-up one, allowing the integration Metamodel as a means to obtain a form of indirect, observable communication. Let us, then, explain the fundamental bricks to CArtAgO provides an API to program artifacts that agents build our architecture, whose overview is reported in Figure 1. can use, regardless of the agent programming language or the agent framework used. This is possible by means of the agent a) JADE framework.: JADE is a popular and indus- body metaphor: CArtAgO provides a native agent entity, which try adopted agent framework. It offers to developers a Java allows using the framework as a complete MAS platform as middleware 100% FIPA-compliant (Foundation for Intelligent well as it allows mapping the agents of some platform onto Physical Agents, [1]) plus a set of command-line and graphical the CArtAgO agents, which, in this way, becomes a kind of tools, supporting development and debugging/testing activities. “proxy” in the artifacts workspace. The developed agent is Its robustness and well-proven reliability makes JADE a pre- the mind, that uses the CArtAgO agent as a body, interacting ferred choice in developing MAS. It is currently used in many with artifacts and sensing the environment. An agent interacts research and industrial projects jointly with its most popular with an artifact by means of public operations. An operation and promising extension, WADE [17]. A JADE-based system can be equipped with a guard: a condition that must hold is composed of one or more containers, each grouping a set so that the operation will produce its effects. It is not an of agents in a logical node and representing a single JADE execution condition: when the guard does not hold the action runtime. The overall set of containers is called a platform, is performed anyhow but without consequences. and can spread across various physical hosts. The resulting architecture hides the underlying layer, allowing support for different low-level frameworks (JEE, JSE, JME, etc.). The III. R EIFYING C OMMITMENT P ROTOCOLS WITH platform reference container is called main container, and A RTIFACTS represents the entry point to the system. JADE provides communication and infrastructure services, allowing agents, Artifacts naturally lend themselves to provide a suitable deployed in different containers, to discover and interact with means for realizing mediated communication channels among each other, in a transparent way from the developer’s logical agents. To this aim, it is necessary to encode inside a commu- point of view. nication artifact a normative characterization to the actions it offers to agents and that allow them to interact. We propose b) Commitment Protocols.: Agents share a social state to interpret commitment protocols as environments, within that contains commitments and other literals that are relevant which agents interact. The public interface of artifacts allows to their interaction. A commitment C(x, y, r, p) denotes a agents to examine the encoded interaction protocol. As a contractual relationship between a debtor x and a creditor y: x consequence, the act of using an artifact can be interpreted commits to y to bring about the consequent condition p when as a declaration of acceptance of the coordination rules. This the antecedent condition r holds. A commitment, when active, will generate social expectations about the agent’s behavior and functions as a directed obligation from a debtor to a creditor. agrees with the characterization of norms in [21]. Moreover, However, unlike a traditional obligation, a commitment may the fact that the behavior of agents on artifacts is observable be manipulated, e.g., delegated, assigned, or released [37]. and that interaction only occurs through artifacts, agrees with Importantly, commitments have a regulative value: the social the view that regulations can only concern observable behavior expectation is that agents respect the commitments which [22]. The resulting programmable environment provides a flex- involve them and, in particular, the debtor is considered respon- ible communication channel that is suitable for realizing open sible of realizing the consequent condition. Thus, the agents’ systems. Notice that the use of a programmable environment behavior is affected by the commitments that are present in does not entail that the social state will be centralized because the social state. A commitment protocol usually consists of a an artifact can be composed by a distributed network of set of actions, whose semantics is shared (and agreed upon) artifacts. by all of the interacting agents [41], [40], [20]. The semantics of the social actions is given in terms of operations which Figure 1 sketches the way in which we propose to use modify the social state by, e.g., adding a new commitment, CArtAgO so as to account also for social commitments in- releasing another agent from some commitment, satisfying a side JADE. We named this first realization of the Mercurio commitment, see [41]. architecture 2COMM (standing for “Communication & Com- mitment”)1 . 2COMM realizes mediated interaction by means c) CArtAgO.: CArtAgO is a framework based on the of communication artifacts, which, in our proposal, replace A&A model. It extends the agent programming paradigm with the JADE-based FIPA protocols and which reify commitment- the first-class entity of artifact: a resource that an agent can based protocols [4]. At the bottom level, the JADE framework use, and that models working environments ([32]). In order supplies standard agent services: message passing, distributed to properly model a MAS, CArtAgO proposes to explicitly containers, naming and yellow pages services, agent mobility. model the environment where pro-active agents live, work, act When needed, an agent can enact a certain protocol role, thus and communicate. It provides a way to define and organize using a communication artifact by CArtAgO. This provides workspaces, logical groups of artifacts, that can be joined by a set of operations by means of which agents participate in agents at runtime and where agents can create, use, share a mediated interaction session. Each artifact (protocol enact- and compose artifacts to support individual and collective, ment) maintains a social state, that is, a collection of social cooperative or antagonistic activities. The environment is itself facts and commitments involving the roles of the corresponding programmable as a dynamic first class abstraction, it is an protocol, following Yolum and Singh’s commitment protocol active part of a MAS, encapsulating services and functionali- model [40]. ties. The A&A model decouples the notion of agent from the notion of environment. The overall engineering of the MAS 1 The source files of the system and examples are available at the URL results more flexible, easy to understand, modular and reusable. http://di.unito.it/2COMM. SOCIAL STATES requirements. Commitments Commitments [1…*] [1…*] Commitments [1…*] Communication artifacts realize a kind of mediated inter- action that is guided by commitment-based protocols. Figure 2 Social Facts [0…*] Social Facts [0…*] Social Facts [0…*] shows the UML schema of the super-type of communica- tion artifacts implementing specific interaction protocols (e.g., CARTAGO Contract Net, Net Bill, Brokering): the CommitmentCommu- nicationArtifact. We call an instance of an artifact of type CommitmentProtocol CommitmentProtocol ARTIFACT A ARTIFACT B CommitmentProtocol ARTIFACT C CommitmentCommunicationArtifact an interaction session. It represents an on-going protocol interaction, with a specific Role x Role y Role z Role h Role m Role n social state that is observable by the interacting agents, that Role w play the protocol roles. The CommitmentCommunicationArti- fact presents an observable property, enactedRoles, that is the enacts collection of the roles of the protocol (definitional dependence JADE [13], [14]). Actions have a social effect only when they are Agent Agent Agent executed by the role they are assigned to, but actions are not Agent 1 2 3 4 defined at this super level, rather they are provided by the instantiations of the CommitmentCommunicationArtifact, i.e. by artifacts implementing specific protocols. Each protocol ac- tion is implemented as a public operation, which is associated to a specific role (institutional empowerment [13], [14]): the Fig. 1. A sketch of 2COMM. fact that the action was executed is registered in the social state together with its meaning. An action can have some << Artifact >> additional guards, implementing context preconditions: such a CommitmentCommunicationArtifact Role Observable Properties condition specifies the context in which it makes sense that socialState: SocialState 1 * # id: RoleId enactedRoles: Role [1…*] # agent: AID the action produces the described social effect. An artifact Artifact Operations # artid: ArtifactId + send(message: Message): void + createArtifact (artifactName: String, can be monitored by an observer agent, who, following the + receive(): Message artifactClass: Class> to implement the corresponding protocol role. The subsequent jade.core.Agent JADE jade.core.Behaviour AbstractTupleSpace Observable Properties tupleSet: Tuple [0…*] steps focus on the specification of agent interactions with users Artifact Operations + out (tuple: Tuple) : void + in (label: String) : Tuple and resources; the definition of a yellow page services, using + inp (label: String) : Tuple + rd (label: String) : Message + rdp (label: String) : Message the JADE Directory Facilitator; the implementation of agent behaviors, starting from JADE protocol behaviors related to 2COMM Role << Artifact >> responsibilities. A last effort is the definition of a shared, # id: RoleId CommitmentCommunicationArtifact Observable Properties # agent: AID socialState: SocialState system-wide ontology. # artid: ArtifactId + createArtifact (artifactName: String, artifactClass: Class> Initiator <> Artifact Operations << Artifact >> CNP + cfp(task: Task): void + draft the system and to highlight the benefits of reifying + accept(): void + rejecet(): void + cfp (proposal: Proposal) : void + accept () : void + reject (): void Agent1 Agent1Behaviour commitment-based protocols by means of artifacts, and thus <> Participant + propose(proposal: Proposal): void + refuse(task: Task): void + done(): void <> based on mediated interaction. By applying the steps of the <> + propose(proposal: Proposal): void + refuse(task: Task): void + failure(): void + done(): void + methodology, we obtained an initial design prototype for Agent2 Agent2Behaviour <> + failure(): void FinancialMAS, concerning an initial set of agents and the so called responsibility table (Table I). In the terminology of the JADE Methodology, responsibilities amount to functional duties, agents are responsible for, from an overall MAS point Fig. 4. The UML diagram for the 2COMM implementation of CNP. of view. To handle them, agents possibly need to interact with one another. The result of this analysis is an Interaction table JADE jade.core.Agent jade.core.Behaviour (Table II). At this point, instead of realizing protocols via dis- tributed JADE behaviors, we implement them via commitment- based communication artifacts. We assume to have already Contract Net Protocol designed artifacts for common interaction protocols, like the ContractNetInitiatorBehaviour ContractNetParticipantBehaviour Contract Net Protocol, the Query Protocol, and the Request +prepareCfps(ACLMessage cfp) +handlePropose() +handleCfp(ACLMessage cfp) +handleAcceptProposal() Protocol. The resulting model is depicted in Figure 3. For the +handleRefuse() +handleInform() +handleRejectProposal() +prepareResultNotification() +handleFailure() sake of comparison, in Figure 4 we zoomed into the one of the commitment artifacts, the Contract Net Protocol artifact, reported as a UML diagram, while in Figure 5 we highlight the Agent1Behaviour very same protocol, implemented via pure JADE behaviors. +prepareCfps(ACLMessage cfp) +handlePropose() Agent2Behaviour +handleRefuse() +handleCfp(ACLMessage cfp) +handleInform() +handleAcceptProposal() SOCIAL STATE +handleFailure() +handleRejectProposal() +prepareResultNotification() Commitments [1…*] Commitments [1…*] Commitments [1…*] Agent1 <> Social Facts [0…*] Social Facts [0…*] Social Facts [0…*] Agent2 <> CartAgo CommitmentProtocol CommitmentProtocol CommitmentProtocol ARTIFACT QUERY ARTIFACT REQUEST ARTIFACT CONTRACT-NET-PROTOCOL Initiator Participant Initiator Participant Initiator Participant Fig. 5. UML diagram for the JADE implementation of CNP. enacts JADE propose means create(C(p, i, accept, done ∨ failure)) Financial Promoter Agent Investor Agent Bank Agent Financial Provider Agent refuse means release(C(i, p, propose, accept ∨ reject)) done means none failure means none Fig. 3. FinancialMAS Commitment-based Interaction Architecture. In the case of CNP, two roles are foreseen, Initiator (i) and Participant (p). Playing a role gives an agent powers, in terms 2COMM proposes a clear notion of Role that an agent must of social state modification (i.e. the state of the interaction enact to participate in an interaction session, so the designer session) as a consequence of its actions, and the agent designer must only implement the behaviors for fulfilling the commit- can use them if, when and how he/she wants. For instance, for ments caused by the execution of a protocol actions. We refer what concerns the update of the social state, when an agent to the following description of CNP based on commitment playing the role Initiator executes the artifact action cfp, the protocols (this is just an example, alternatives and variants social state is modified by creating the commitment C(i, p, can be found in papers like [42], [24]): propose, accept ∨ reject). On the one hand, this change binds i to either accept or reject a proposal, if one is received; the cfp means create(C(i, p, propose, accept ∨ reject)) agent is free to decide not only which course of action to take accept means none but also how to realize acceptance or rejection. On the other reject means release(C(p, i, accept, done ∨ failure)) hand, this change is signaled to the agent playing the role TABLE I. R ESPONSIBILITY TABLE FOR F INANCIAL MAS. Agent Type No. Responsibility 1 Let investor search for investments proposals 2 Assist investor in setting search parameters and data Investor agent (IA) 3 Support the individuation of the investor’s risk profile 4 Support in proposal acceptance 5 Withdraw from an investment contract 1 Respond to investment searches Financial Promoter agent (FP) Assist financial promoter in risk-classifying financial prod- 2 ucts 3 Determine the investor’s profile 4 Support individuation of the investor’s risk profile 1 Support bank in investment contract subscription Bank agent (BA) 2 Assist bank in investment conclusion Financial Provider agent (FV) 1 Provide financial and aggregate news information Serve and support integration with legacy bank informative Integration agent (IntA) 1 systems TABLE II. I NTERACTION TABLE FOR F INANCIAL MAS: WHO INTERACTS WITH WHOM , TO FULFILL WHICH DUTY, BY USING WHICH PROTOCOL . Interaction R.ty Interaction Role With When Protocol Investor Agent Search Investment 1 CNP Initiator FP Investor searches an investment Profiling 3 Query Participant FP Investor chose a Financial Promoter Proposal Acceptance 4 Query Participant BA Investor chose a financial product Withdraw 5 Request Initiator BA After Investor accepted a proposal Financial Promoter Agent Respond to Search 1 CNP Participant IA Investor searches an investment Profiling 3 Query Initiator IA Investor chose a Financial Promoter Fin. Prod. Classif. 2 Query Initiator FV FP starts fin. prod. classif. Bank Agent Proposal Acceptance 1 Query Initiator IA Investor chose a financial product Withdraw 3 Request Participant IA After Investor accepted a proposal Financial Provider Agent Fin. Prod. Classif. 1 Query Participant FP FP starts fin. prod. classif. Participant, who will handle it in some manner (depending on LogicalOperatorType.OR, its behaviors) and decide whether sending a proposal. Instead, new Fact(‘‘accept’’), when a accept is executed the raised event automatically new Fact(‘‘reject’’)))); discharges a commitment created by a cfp. } This approach is illustrated in Figure 4. We modeled CNP The first part of the operation manages the communication as a Commitment Communication Artifact. Roles are inner classes within the artifacts, allowing JADE agents to use them. level, while the latter manages the creation of the commitment. The protocol consists of a set of social actions, each of which The action cfp attributed to the role Initiator merely calls the has both an impact on the social state of the interaction and on described artifact operation. the communication between agents. Actions are attributed to roles. For instance, action cfp is attributed to the role Initiator. An agent that will to play as a certain role can inspect the For what concerns communication, the execution of a social commitments that are required by the role itself, which are action amounts to sending the content to be communicated the commitments it will possibly be involved in as a debtor. through the tuple space provided by CArtAgO. This result In order to be able to satisfy them, the agent needs to have is obtained by exploiting the method send of the Commit- appropriate behaviors, otherwise its role execution is bound to mentCommunicationArtifact. Commitments are handled as an fail. Notice that the agent is autonomous in selecting which instance of the class SocialState which is part of the Commit- social actions to execute and when as well as how to behave mentCommunicationArtifact. For example, consider the social in order to satisfy its commitments. action cfp, whose execution creates a commitment. This result is achieved through the execution of the following artifact Looking at Figure 5, the reader can perceive a major operation: drawback of the original JADE approach: being part of an interaction protocol entails the adoption of an entire behavior, @OPERATION that must be added to the set of the internal agent behaviors. public void cfp(Task task, Role initiator, The resulting agent design breaks the autonomy of the agent, Role participant) { since the agent has an additional behavior for each role of each Message cfp = new Message(); // setting of cfp parameters interaction it takes part to, increasing the possibility of conflicts send(cfp); between behaviors, and increasing the overall agent design create(new Commitment(initiator, complexity. In fact, being such behaviors FSMBehaviors, they participant, implement Finite State Machines, i.e. they rigidly prescribe new Fact(‘‘propose’’), the sequences of actions that the agent is allowed to execute new CompositeExpression( without any flexibility. Thus, it is not possible to intervene on the logic by which actions are sequentialized but only to realize handle these aspects it would be interesting to combine its the methods that the predefined behavior requires to redefine, use with proposals from the area of e-institutions. Concerning which roughly correspond to decision points. Furthermore, this this field 2COMM would provide an improvement in that it approach hinders the observability of the interaction, unless would introduce the possibility to account for indirect forms of the designer adds specific sniffing or audit agents to log every communication. As [25] witness, there is an emerging need of message passed. In performance-critical applications, having defining a more abstract notion of action, which is not limited more agents and producing a message overhead can produce to direct speech acts, whose use is not always natural. Along undesirable scenarios. this direction, it is relevant to mention the OCeAN meta-model for artificial institutions [26], which encompasses a notion of V. R ELATED WORKS , DISCUSSION AND FUTURE WORK commitment, and for which a possible architecture is discussed in [31]. For what concerns organizations, instead, there are 2COMM is a first step towards the implementation of some attempts to integrate them with artifacts, e.g. ORA4MAS the Mercurio architecture, proposed in [3], [4]. It realizes a [27] and JaCaMo http://jacamo.sourceforge.net, which also programmable communication channel by means of artifacts, accounts for BDI agents. Following the A&A perspective, which is interaction-centric, exploits the social meaning of artifacts are concrete bricks used to structure the agents’ world: interaction supplied by commitment protocols, and enables part of which is the organizational infrastructure, part amounts the development of monitoring functionalities. The realization to artifacts introduced by specific MAS applications, including of roles is inspired by [8], [9]. The use of commitments entities/services belonging to the external environment. In [27] gives a normative value to the encoded protocol, while the the organizational infrastructure is based on M oise+ , which act of using a communication artifact amounts to the explicit allows both for the enforcement and the regimentation of the acceptance, by the agent, of the rules of the protocol. This rules of the organization. This is done by defining a set of makes the current proposal very different from [7], whose aim conditions to be achieved and the roles that are permitted was the introduction of the notion of role, as in [8], [9], inside or obliged to perform them. The limit of this approach JADE. The proposal conjugates the flexibility and the openness is that it cannot capture contexts in which regulations are, that are typical of MAS with the need of modularity and more generally, norms because norms cannot be restricted compositionality that are typical of design and development to achievement goals. Recently, the use of a communication methodologies. The realization of commitment protocols as infrastructure based on artifacts has been proposed to define, artifacts is an advancement of research on commitment-based in an explicit and clear way, interaction in JaCaMo [33]. approaches, w.r.t. approaches like [19], where commitment Nevertheless, the proposal does not supply a normative account management resides in a middleware which, in turn, relies on a of communication. message-exchange communication infrastructure. Even though the function of the middleware recalls that of our artifacts, Finally, we think that our proposal can give significant artifacts are, by their nature, distributed (and not centralized), contributions in industrial applicative contexts, for the real- they can be the result of the composition of other artifacts, ization of business processes and, in particular, of human- can be manipulated and customized by the agents themselves. oriented workflows, whose nature is intrinsically social and Moreover, the adoption of tuple spaces allows more variegated where the notion of commitment plays a fundamental role [28]. forms of communication where communication actions are not In [36], the authors present LoST, a commitment-based model limited to utterances. for the definition of declarative protocols, which is based on local history vectors of sent/received messages, associated to We believe that a commitment approach brings relevant each of the interacting agents. LoST enables the representation advantages in terms of design and modeling flexibility, modu- and monitoring of (business) protocols when it is necessary to larity and traceability. The resulting artifact explicitly provides transfer local knowledge about occurring interactions between a notion of Role that is decoupled from the interacting agent, the agents. It works as an adapter for message transfer between instead of cabling it into an agent behavior (as in the JADE agents. 2COMM, instead, provides agents an environment by Methodology) or of composing different atomic roles to build which they communicate and, if this is requested, they can an agent type (as in the GAIA Methodology [43]). Both perform actions which do not amount to utterances but still approaches break into inner agent definitions, hindering the entail social effects. agent autonomy and the openness of the system. The artifact entity supplies a natural way for logging and audit purposes, As a future work, we devise an extension of 2COMM for leveraging the concept of social state (and its evolution). In tackling a more expressive protocol language, with support a pure agent environment (like JADE), a similar result is for temporal constraints, see also [2]. This goal can easily be obtained via a massive use of either message-sniffing agents achieved by defining new artifact types that provide developers and/or auditing agents, with a consequent overhead of the the appropriate protocol language primitives, such as those number of messages that are passed. This is, for example, the offered by 2CL [6][5]. case of the proposal in [29]. By being an observable property, the social state provides the agent society a clear vision of Acknowledgments.: The authors would like to thank the who is responsible of what, in which protocol interaction, and reviewers for their comments and the participants to the EMAS when an agent acted so as to fulfill its commitments. 2013 workshop for the discussions. 2COMM focuses on the interaction protocol layer, leaving aside issues concerning the society of agents in which the in- R EFERENCES teraction takes place. Thus, it does not, for instance, tackle how to deal with violations of commitments. In order to properly [1] FIPA specifications. http://www.fipa.org. [2] M. Baldoni and C. Baroglio. Some Thoughts about Commitment Normative Multi-agent Programs and Their Logics. In KRAMAS, pages Protocols (Position Paper). In Post-Proc. of the 10th Int. Workshop on 16–31, 2008. Declarative Agent Languages and Technologies X, DALT 2012, Revised [23] Jan L.G. Dietz. Understanding and modelling business processes with Selected and Invited Papers, LNAI 7784, pages 190–196. Springer, 2013. demo. In Proc. of ER’99, 18th Int. Conf. on Conceptual Modeling, [3] M. Baldoni, C. Baroglio, F. Bergenti, E. Marengo, V. Mascardi, V. Patti, volume 1728 of LNCS, pages 188–202. Springer, 1999. A. Ricci, and A. Santi. An interaction-oriented agent framework for [24] Mohamed El-Menshawy, Jamal Bentahar, and Rachida Dssouli. Sym- open environments. AI*IA 2011: Artificial Intelligence Around Man bolic model checking commitment protocols using reduction. In DALT, and Beyond, 6934, 2011. volume 6619 of Lecture Notes in Computer Science, pages 185–203. [4] M. Baldoni, C. Baroglio, E. Marengo, V. Patti, and A. Ricci. Back to Springer, 2010. the future: An interaction-oriented framework for social computing. In [25] N. Fornara, F. Viganò, and M. Colombetti. Agent communication and First Int. Workshop on Req. Eng. for Social Computing, RESC, pages artificial institutions. Autonomous Agents and Multi-Agent Systems, 2–5. IEEE, 2011. 14(2):121–142, 2007. [5] M. Baldoni, C. Baroglio, E. Marengo, F. Capuzzimati, and V. Patti. [26] Nicoletta Fornara, Francesco Viganò, Mario Verdicchio, and Marco A Generalized Commitment Machine for 2CL protocols and Its Im- Colombetti. Artificial institutions: a model of institutional reality for plementation. In Post-Proc. of the 10th Int. Workshop on Declarative open multiagent systems. Artif. Intell. Law, 16(1):89–105, 2008. Agent Languages and Technologies X, DALT 2012, Revised Selected [27] J. F. Hubner, O. Boissier, R. Kitio, and A. Ricci. Instrumenting multi- and Invited Papers, LNAI 7784, pages 96–115. Springer, 2013. agent organisations with organisational artifacts and agents: “Giving [6] M. Baldoni, C. Baroglio, E. Marengo, V. Patti, and F. Capuzzimati. the organisational power back to the agents”. Autonomous Agents and Engineering commitment-based business protocols with 2CL method- Multi-Agent Systems, 20, 2009. ology. J. of Autonomous Agents and Multi-Agent Systems, August 2013 [28] R. Medina-Mora, T. Winograd, R. Flores, and F. Flores. The action (to appear). workflow approach to workflow management technology. Inf. Soc., [7] M. Baldoni, G. Boella, V. Genovese, A. Mugnaini, R. Grenna, and 9(4):391–404, 1993. L. van der Torre. A Middleware for Modelling Organizations and [29] M. T. Nguyen, P. Fuhrer, and J. Pasquier-Rocha. Enhancing e-health Roles in Jade. In Programming Multi-Agent Systems, 7th Int. Workshop, information systems with agent technology. Int. J. Telemedicine Appl., ProMAS 2009, Revised Selected Papers, LNAI 5919, pages 100–117. 2009:1:1–1:13, 2009. Springer, 2010. [30] M. Nikraz, G. Caire, and P. A. Bahri. A Methodology for the Analysis [8] M. Baldoni, G. Boella, and L. van der Torre. Bridging Agent Theory and Design of Multi-Agent Systems using JADE. (May), 2006. and Object Orientation: Agent-like Communication among Objects. In [31] D. Okouya, N. Fornara, and M. Colombetti. An Infrastructure for the Post-Proc. of the International Workshop on Programming Multi-Agent Design and Development of Open Interaction Systems. In Proc. of the Systems, ProMAS 2006, LNAI 4411, pages 149–164. Springer, 2007. 1st International Workshop on Engineering Multi-Agent Systems, EMAS [9] M. Baldoni, G. Boella, and L. van der Torre. Interaction between 2013, held in conjuction with AAMAS 2013, pages 128–143, St. Paul, Objects in powerjava. Journal of Object Technology, 6(2), 2007. Minnesota, USA, May 2013. [10] F. Bellifemine and A. Poggi. JADE – A FIPA-compliant agent [32] A. Ricci, M. Piunti, and M. Viroli. Environment programming in multi- framework. Proceedings of PAAM, 1999. agent systems: an artifact-based perspective. Autonomous Agents and [11] F. Bellifemine, A. Poggi, and G. Rimassa. Developing multi-agent Multi-Agent Systems, 23(2):158–192, 2011. systems with a FIPA-compliant agent framework. Software-Practice [33] T. F. Rodrigues, A. C. da Rocha Costa, and G. P. Dimuro. A Com- and Experience, (July 1999):103–128, 2001. munication Infrastructure Based on Artifacts for the JaCaMo Platform. [12] C. Bernon, M. P. Gleizes, S. Peyruqueou, and G. Picard. Adelfe: A In Proc. of the 1st Int. Workshop on Engineering Multi-Agent Systems, methodology for adaptive multi-agent systems engineering. In ESAW, EMAS 2013, pages 97–111, St. Paul, Minnesota, USA, May 2013. volume 2577 of LNCS, pages 156–169. Springer, 2002. [34] M. P. Singh. An Ontology for Commitments in Multiagent Systems. [13] G. Boella and L. W. N. van der Torre. An agent oriented ontology of Artif. Intell. Law, 7(1):97–113, 1999. social reality. In Procs. of Formal Ontologies in Information Systems [35] M. P. Singh. A social semantics for agent communication languages. In (FOIS). IOS Press, 2004. Issues in Agent Communication, volume 1916 of LNCS, pages 31–45. [14] G. Boella and L. W. N. van der Torre. The ontological properties Springer, 2000. of social roles in multi-agent systems: definitional dependence, powers [36] M. P. Singh. LoST: Local Transfer - An Architectural Style for the and roles playing roles. Artificial Intelligence and Law, 15(3):201–221, Distributed Enactment of Business Protocols. Proc. of the 9th Inter- 2007. nactional Conference on Web Services, pages 57–64, IEEE Computer [15] O. Boissier, R. H. Bordini, J. Hübner, A. Ricci, and A. Santi. Multi- Society, 2011. agent oriented programming with jacamo. Science of Computer Pro- [37] P. R. Telang and M. P. Singh. Specifying and Verifying Cross- gramming, 2011. Organizational Business Models: An Agent-Oriented Approach. IEEE [16] G. Caire, W. Coulier, Fr. J. Garijo, J. Gomez, J. Pavón, F. Leal, Transactions on Services Computing, pages 1–14, 2011. P. Chainho, Paul E. Kearney, J. Stark, R. Evans, and P. Massonet. Agent [38] T. Winograd and F. Flores. Understanding computers and cognition - oriented analysis using message/uml. In Proc. of AOSE 2001, pages a new foundation for design. Addison-Wesley, 1987. 119–135. Springer-Verlag, 2002. [39] M. F. Wood and S. A. DeLoach. An overview of the multiagent [17] G. Caire, D. Gotta, and M. Banzi. Wade: a software platform to systems engineering methodology. In AOSE, LNCS 1957, pages 207– develop mission critical applications exploiting agents and workflows. 222. Springer, 2000. In AAMAS (Industry Track), pages 29–36. IFAAMAS, 2008. [40] P. Yolum and M. P Singh. Designing and executing protocols using [18] C. Castelfranchi. Principles of Individual Social Action. In Contempo- the event calculus. Proc. of the 5th Int. Conf. on Autonomous agents - rary action theory: Social action, volume 2, pages 163–192, Dordrecht, AGENTS ’01, pages 27–28, 2001. 1997. Kluwer. [41] P. Yolum and M. P. Singh. Commitment Machines. In Intelligent Agents [19] A. K. Chopra and M. P. Singh. An Architecture for Multiagent Systems: VIII, 8th International Workshop, ATAL 2001, LNCS 2333, pages 235– An Approach Based on Commitments. In Proc. of ProMAS, 2009. 247. Springer, 2002. [20] A.K. Chopra. Commitment Alignment: Semantics, Patterns, and Deci- [42] Pinar Yolum. Design time analysis of multiagent protocols. Data sion Procedures for Distributed Computing. PhD thesis, North Carolina Knowledge Engineering, 63(1):137–154, 2007. State University, Raleigh, NC, 2009. [43] F. Zambonelli, N. R. Jennings, and M. Wooldridge. Developing [21] R. Conte, C. Castelfranchi, and F. Dignum. Autonomous Norm multiagent systems: The gaia methodology. ACM Trans. Softw. Eng. Acceptance. In Proc. of ATAL, volume 1555 of LNCS, pages 99–112. Methodol., 12(3):317–370, 2003. Springer, 1998. [22] M. Dastani, D. Grossi, Meyer. J.-J. Ch., and N. A. M. Tinnemeier.