Skip to main content

On Enactability of Agent Interaction Protocols: Towards a Unified Approach

  • Conference paper
  • First Online:
Book cover Engineering Multi-Agent Systems (EMAS 2019)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 12058))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 44.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 59.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 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. 2.

    This notation has been used in the most recent papers on Trace Expressions [3, 5]; although not being standard, it is consistent with the background theory.

  3. 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. 4.

    http://erlang.org/doc/apps/erts/communication.html, Section 2.1, accessed on September 2019.

  5. 5.

    We extend the operator “\(\in \)” to denote membership of an item in a sequence.

  6. 6.

    The superscripts \(*\) and \(\omega \) are standard notations for (respectively) all finite (all infinite) sequences built from a given set.

  7. 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. 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. 9.

    We use \(\Vert \) to distinguish between parallel composition of different agents, and parallel composition within a protocol.

  10. 10.

    The code is available at http://enactability.altervista.org/.

  11. 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. 12.

    http://www.swi-prolog.org.

  13. 13.

    http://emas.in.tu-clausthal.de/.

References

  1. 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

    Chapter  Google Scholar 

  2. 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)

    Google Scholar 

  3. 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

    Chapter  Google Scholar 

  4. 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

    Chapter  Google Scholar 

  5. 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

  6. 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

  7. Bellifemine, F.L., Caire, G., Greenwood, D.: Developing Multi-Agent Systems with JADE. Wiley, Hoboken (2007)

    Book  Google Scholar 

  8. 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)

    Book  Google Scholar 

  9. Broda, S., Machiavelo, A., Moreira, N., Reis, R.: Automata for regular expressions with shuffle. Inf. Comput. 259(2), 162–173 (2018)

    Article  MathSciNet  Google Scholar 

  10. 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

    Chapter  MATH  Google Scholar 

  11. 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

    Chapter  Google Scholar 

  12. 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

    Article  MathSciNet  MATH  Google Scholar 

  13. 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

    Chapter  Google Scholar 

  14. 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

  15. 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

    Chapter  Google Scholar 

  16. 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

  17. 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

    Article  MathSciNet  MATH  Google Scholar 

  18. 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

    Article  MathSciNet  MATH  Google Scholar 

  19. 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

    Chapter  Google Scholar 

  20. 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

  21. 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

    Chapter  Google Scholar 

  22. 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

    Article  MATH  Google Scholar 

  23. 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

  24. Peterson, J.L.: Petri nets. ACM Comput. Surv. 9(3), 223–252 (1977). https://doi.org/10.1145/356698.356702

    Article  MATH  Google Scholar 

  25. 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

  26. 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

    Chapter  Google Scholar 

  27. 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

  28. 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

    Article  Google Scholar 

  29. 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

    Article  MATH  Google Scholar 

  30. 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

    Chapter  Google Scholar 

  31. W3C: Web Services Choreography Description Language Version 1.0 (2005). https://www.w3.org/TR/ws-cdl-10/

  32. 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

    Article  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Michael Winikoff .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics