Abstract
Interactions between agents are usually designed from a global viewpoint. However, the implementation of a multi-agent interaction is distributed. It is well known that this difference between the specification and the implementation levels can introduce problems, allowing designers to specify protocols from a global viewpoint that cannot be implemented as a collection of individual agents. This leads naturally to the question of whether a given (global) protocol is enactable, namely, whether it can be implemented in a distributed way. We consider this question in the powerful setting of trace expressions, considering a range of message ordering interpretations (specifying what it means to say that an interaction step occurs before another), and a range of possible constraints on the semantics of message delivery, corresponding to different properties of the underlying communication middleware. We provide a definition of enactability, along with an implementation of the definition that is applied to a number of example protocols.
Michael was at the University of Otago when this work was carried out.
A. Ferrando—Work supported by EPSRC as part of the ORCA [EP/R026173] and RAIN [EP/R026084] Robotics and AI Hubs.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
This is a real example: in Italy, a law dating back to 1933 prevents students from being enrolled in more than one Italian course at university level at the same time; the only – recent – exception is being enrolled in a conservatory and in a university. The ambiguities in the law article are many, and appeals to the courts are in the thousands.
- 2.
- 3.
Binary operators associate from left, and are listed in decreasing order of precedence; that is, the first operator has the highest precedence. The operators “\({\vee }\)” and “\({\wedge }\)” are the standard notation for trace expressions.
- 4.
http://erlang.org/doc/apps/erts/communication.html, Section 2.1, accessed on September 2019.
- 5.
We extend the operator “\(\in \)” to denote membership of an item in a sequence.
- 6.
The superscripts \(*\) and \(\omega \) are standard notations for (respectively) all finite (all infinite) sequences built from a given set.
- 7.
An illustrative example is \(\tau = (M_1 \cdot M_2) \; | \; M_3\). This simple protocol has three sequences of interactions: \(\{ \langle M_1, M_2, M_3 \rangle , \langle M_1, M_3, M_2 \rangle , \langle M_3, M_1, M_2 \rangle \}\). Assuming an RS message ordering interpretation, then each of the message sequences corresponds to exactly one sequence of events, giving (where we abbreviate sending and receiving M as respectively M! and M?): \(\{ \langle M_1!, M_1?, M_2!, M_2?, M_3!, M_3?\rangle ,\) \(\langle M_1!, M_1?, M_3!, M_3?, M_2!, M_2? \rangle , \langle M_3!, M_3?, M_1!, M_1?, M_2!, M_2? \rangle \}\). However, the protocol does not specify any constraint on \(M_3\), so should also allow other interpretations where the occurrences of \(M_3!\) and \(M_3?\) are not constrained relative to the other events, for example \( \langle M_1!, M_1?, M_3!, M_2!, M_2?, M_3? \rangle \).
- 8.
Note that in the first line we have an interaction protocol \(\tau _i\), and so the set of message events is given by determining the set of interaction events \(\mathcal {I}({\tau })\), and then determining the set of message events \(\mathcal {E}_{\mathcal {I}({\tau })}\). By contrast, in the second line, \(\tau _m\) is a message protocol, so we just determine the set of message events directly (\(\mathcal {E}_{}(\tau )\)).
- 9.
We use \(\Vert \) to distinguish between parallel composition of different agents, and parallel composition within a protocol.
- 10.
The code is available at http://enactability.altervista.org/.
- 11.
We present a simplified version of the play date protocol introduced in [32], where we replaced a loop involving a choice among \( Req \), \( GiveInfo \), or \( Forget \), with a single iteration only.
- 12.
- 13.
References
Ancona, D., Drossopoulou, S., Mascardi, V.: Automatic generation of self-monitoring MASs from multiparty global session types in jason. In: Baldoni, M., Dennis, L., Mascardi, V., Vasconcelos, W. (eds.) DALT 2012. LNCS (LNAI), vol. 7784, pp. 76–95. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-37890-4_5
Ancona, D., Ferrando, A., Franceschini, L., Mascardi, V.: Parametric trace expressions for runtime verification of Java-like programs. In: FTfJP@ECOOP, pp. 10:1–10:6. ACM (2017)
Ancona, D., Ferrando, A., Franceschini, L., Mascardi, V.: Coping with bad agent interaction protocols when monitoring partially observable multiagent systems. In: Demazeau, Y., An, B., Bajo, J., Fernández-Caballero, A. (eds.) PAAMS 2018. LNCS (LNAI), vol. 10978, pp. 59–71. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-94580-4_5
Ancona, D., Ferrando, A., Mascardi, V.: Comparing trace expressions and linear temporal logic for runtime verification. In: Ábrahám, E., Bonsangue, M., Johnsen, E.B. (eds.) Theory and Practice of Formal Methods. LNCS, vol. 9660, pp. 47–64. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-30734-3_6
Ancona, D., Ferrando, A., Mascardi, V.: Agents interoperability via conformance modulo mapping. In: Cossentino, M., Sabatucci, L., Seidita, V. (eds.) Proceedings of the 19th Workshop “From Objects to Agents", CEUR Workshop Proceedings, Palermo, Italy, 28–29 June 2018, vol. 2215, pp. 109–115. CEUR-WS.org (2018). http://ceur-ws.org/Vol-2215/paper_18.pdf
Autili, M., Tivoli, M.: Distributed enforcement of service choreographies. In: Cámara, J., Proença, J. (eds.) 13th International Workshop on Foundations of Coordination Languages and Self-Adaptive Systems (FOCLASA). Electronic Proceedings in Theoretical Computer Science (EPTCS), vol. 175, pp. 18–35 (2014). https://doi.org/10.4204/EPTCS.175.2
Bellifemine, F.L., Caire, G., Greenwood, D.: Developing Multi-Agent Systems with JADE. Wiley, Hoboken (2007)
Bordini, R.H., Hübner, J.F., Wooldridge, M.: Programming Multi-Agent Systems in AgentSpeak Using Jason. Wiley Series in Agent Technology. Wiley, Hoboken (2007)
Broda, S., Machiavelo, A., Moreira, N., Reis, R.: Automata for regular expressions with shuffle. Inf. Comput. 259(2), 162–173 (2018)
Carbone, M., Honda, K., Yoshida, N.: Structured communication-centred programming for web services. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 2–17. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-71316-6_2
Castagna, G., Dezani-Ciancaglini, M., Padovani, L.: On global types and multi-party sessions. In: Bruni, R., Dingel, J. (eds.) FMOODS/FORTE -2011. LNCS, vol. 6722, pp. 1–28. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-21461-5_1
Chevrou, F., Hurault, A., Quéinnec, P.: On the diversity of asynchronous communication. Form. Aspects Comput. 28(5), 847–879 (2016). https://doi.org/10.1007/s00165-016-0379-x
Decker, G., Weske, M.: Local enforceability in interaction petri nets. In: Alonso, G., Dadam, P., Rosemann, M. (eds.) BPM 2007. LNCS, vol. 4714, pp. 305–319. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-75183-0_22
Desai, N., Singh, M.P.: On the enactability of business protocols. In: Fox, D., Gomes, C.P. (eds.) Twenty-Third AAAI Conference on Artificial Intelligence, pp. 1126–1131. AAAI Press (2008). http://www.aaai.org/Library/AAAI/2008/aaai08-178.php
Ferrando, A., Ancona, D., Mascardi, V.: Monitoring patients with hypoglycemia using self-adaptive protocol-driven agents: a case study. In: Baldoni, M., Müller, J.P., Nunes, I., Zalila-Wenkstern, R. (eds.) EMAS 2016. LNCS (LNAI), vol. 10093, pp. 39–58. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-50983-9_3
Ferrando, A., Ancona, D., Mascardi, V.: Decentralizing MAS monitoring with DecAMon. In: Larson, K., Winikoff, M., Das, S., Durfee, E.H. (eds.) Proceedings of the 16th Conference on Autonomous Agents and MultiAgent Systems, AAMAS 2017, São Paulo, Brazil, 8–12 May 2017, pp. 239–248. ACM (2017). http://dl.acm.org/citation.cfm?id=3091164
Giunchiglia, E., Lee, J., Lifschitz, V., McCain, N., Turner, H.: Nonmonotonic causal theories. Artif. Intell. 153(1–2), 49–104 (2004). https://doi.org/10.1016/j.artint.2002.12.001
Harel, D.: Statecharts: a visual formalism for complex systems. Sci. Comput. Program. 8(3), 231–274 (1987). https://doi.org/10.1016/0167-6423(87)90035-9
Honda, K., Vasconcelos, V.T., Kubo, M.: Language primitives and type discipline for structured communication-based programming. In: Hankin, C. (ed.) ESOP 1998. LNCS, vol. 1381, pp. 122–138. Springer, Heidelberg (1998). https://doi.org/10.1007/BFb0053567
Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. In: Necula, G.C., Wadler, P. (eds.) 35th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), pp. 273–284. ACM (2008). https://doi.org/10.1145/1328438.1328472
Huget, M.-P., Odell, J.: Representing agent interaction protocols with agent UML. In: Odell, J., Giorgini, P., Müller, J.P. (eds.) AOSE 2004. LNCS, vol. 3382, pp. 16–30. Springer, Heidelberg (2005). https://doi.org/10.1007/978-3-540-30578-1_2
Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978). https://doi.org/10.1145/359545.359563
Lanese, I., Guidi, C., Montesi, F., Zavattaro, G.: Bridging the gap between interaction- and process-oriented choreographies. In: Cerone, A., Gruner, S. (eds.) Sixth IEEE International Conference on Software Engineering and Formal Methods (SEFM), pp. 323–332. IEEE Computer Society (2008). https://doi.org/10.1109/SEFM.2008.11
Peterson, J.L.: Petri nets. ACM Comput. Surv. 9(3), 223–252 (1977). https://doi.org/10.1145/356698.356702
Poizat, P., Salaün, G.: Checking the realizability of BPMN 2.0 choreographies. In: 27th Annual ACM Symposium on Applied Computing (SAC), pp. 1927–1934. ACM (2012). https://doi.org/10.1145/2245276.2232095
Pokahr, A., Braubach, L., Lamersdorf, W.: Jadex: a BDI reasoning engine. In: Bordini, R.H., Dastani, M., Dix, J., El Fallah Seghrouchni, A. (eds.) Multi-Agent Programming. MSASSO, vol. 15, pp. 149–174. Springer, Boston (2005). https://doi.org/10.1007/0-387-26350-0_6
Qiu, Z., Zhao, X., Cai, C., Yang, H.: Towards the theoretical foundation of choreography. In: Williamson, C.L., Zurko, M.E., Patel-Schneider, P.F., Shenoy, P.J. (eds.) 16th International World Wide Web Conference (WWW), pp. 973–982. ACM (2007). https://doi.org/10.1145/1242572.1242704
Salaün, G., Bultan, T., Roohi, N.: Realizability of choreographies using process algebra encodings. IEEE Trans. Serv. Comput. 5(3), 290–304 (2012). https://doi.org/10.1109/TSC.2011.9
Sangiorgi, D.: On the origins of bisimulation and coinduction. ACM Trans. Program. Lang. Syst. 31(4), 15:1–15:41 (2009). https://doi.org/10.1145/1516507.1516510
Takeuchi, K., Honda, K., Kubo, M.: An interaction-based language and its typing system. In: Halatsis, C., Maritsas, D., Philokyprou, G., Theodoridis, S. (eds.) PARLE 1994. LNCS, vol. 817, pp. 398–413. Springer, Heidelberg (1994). https://doi.org/10.1007/3-540-58184-7_118
W3C: Web Services Choreography Description Language Version 1.0 (2005). https://www.w3.org/TR/ws-cdl-10/
Winikoff, M., Yadav, N., Padgham, L.: A new hierarchical agent protocol notation. Auton. Agents Multi-Agent Syst. 32(1), 59–133 (2017). https://doi.org/10.1007/s10458-017-9373-9
Acknowledgements
We thank Lars Braubach, Jomi Fred Hübner, and Agostino Poggi for their support in understanding the communication model supported by Jadex, Jason, and JADE.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Ferrando, A., Winikoff, M., Cranefield, S., Dignum, F., Mascardi, V. (2020). On Enactability of Agent Interaction Protocols: Towards a Unified Approach. In: Dennis, L., Bordini, R., Lespérance, Y. (eds) Engineering Multi-Agent Systems. EMAS 2019. Lecture Notes in Computer Science(), vol 12058. Springer, Cham. https://doi.org/10.1007/978-3-030-51417-4_3
Download citation
DOI: https://doi.org/10.1007/978-3-030-51417-4_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-51416-7
Online ISBN: 978-3-030-51417-4
eBook Packages: Computer ScienceComputer Science (R0)