Autonomous Agents and Multi-Agent Systems

, Volume 32, Issue 3, pp 349–386 | Cite as

Type checking for protocol role enactments via commitments

  • Matteo Baldoni
  • Cristina Baroglio
  • Federico Capuzzimati
  • Roberto Micalizio


This work presents a commitment-based agent typing system. Type checking is done dynamically when an agent enacts a commitment-based protocol role: verification checks if the agent meets the requirements displayed by the role it means to enact. An example implementation in the 2COMM4JADE framework is provided. 2COMM4JADE is based on the Agent and Artifact meta-model and exploits JADE and CArtAgO, by using CArtAgO artifacts in order to reify commitment protocols.


Agent typing Social relationships Static and dynamic type checking Commitments Commitment-based interaction protocols 



This work was partially supported by the Accountable Trustworthy Organizations and Systems (AThOS) project, funded by Università degli Studi di Torino and Compagnia di San Paolo (CSP 2014). We would like to thank the reviwers for their comments and the discussions which holped to improve the work.


  1. 1.
    Agha, G. (1986). Actors: A model of concurrent computation in distributed systems. Cambridge, MA: MIT Press.Google Scholar
  2. 2.
    Aldrich, J., Sunshine, J., Saini, D., & Sparks, Z. (2009). Typestate-oriented programming. In S. Arora, & G. T. Leavens (Eds.) Companion to the 24th annual ACM SIGPLAN conference on object-oriented programming, systems, languages, and applications, OOPSLA 2009, October 25–29, 2009, Orlando, Florida, USA (pp. 1015–1022). ACM.Google Scholar
  3. 3.
    Ancona, D., Briola, D., El Fallah-Seghrouchni, A., Mascardi, V., & Taillibert, P. (2014). Efficient verification of MASs with projections. In F. Dalpiaz, J. Dix, & M. B. van Riemsdijk, (Eds.) Engineering multi-agent systems—Second International Workshop, EMAS 2014, Paris, France, May 5–6, 2014, Revised Selected Papers, vol. 8758 of Lecture Notes in Computer Science (pp. 246–270). Springer.Google Scholar
  4. 4.
    Ancona, D., Briola, D., Ferrando, A., & Mascardi, V. (2015) Global protocols as first class entities for self-adaptive agents. In G. Weiss, P. Yolum, R. H. Bordini, & E. Elkind (Eds.) Proceedings of the 2015 international conference on autonomous agents and multiagent systems, AAMAS 2015, Istanbul, Turkey, May 4–8, 2015 (pp. 1019–1029). ACM.Google Scholar
  5. 5.
    Ancona, D., Drossopoulou, S., & Mascardi., V. (2013). Automatic generation of self-monitoring mass from multiparty global session types in jason. In M. Baldoni, L. Dennis, V. Mascardi, & W. Vasconcelos (Eds.), Declarative agent languages and technologies X vol. 7784 of Lecture Notes in Computer Science (pp. 76–95). Berlin, Heidelberg: Springer.Google Scholar
  6. 6.
    Baldoni, M., Baroglio, C., & Capuzzimati, F. (2014). A commitment-based infrastructure for programming socio-technical systems. ACM Transactions on Internet Technology, 14(4), 23:1–23:23.CrossRefGoogle Scholar
  7. 7.
    Baldoni, M., Baroglio, C., & Capuzzimati, F. (2014). Typing multi-agent systems via commitments. In F. Dalpiaz, J. Dix, & M. B. van Riemsdijk (Eds.) Post-proceedings of the 2nd international workshop on engineering multi-agent systems, EMAS 2014, revised selected and invited papers, vol. 8758 in LNAI (pp. 388–405). Springer.Google Scholar
  8. 8.
    Baldoni, M., Baroglio, C., Capuzzimati, F., & Micalizio, R. (2015). Empowering agent coordination with social engagement. In M. Gavanelli, E. Lamma, & F. Riguzzi (Eds.), AI*IA 2015: Advances in artificial intelligence, XIV international conference of the Italian association for artificial intelligence, vol. 9336 of LNAI(pp. 89–101). Ferrara, Italy, Springer.Google Scholar
  9. 9.
    Baldoni, M., Baroglio, C., Capuzzimati, F., & Micalizio, R. Exploiting social commitments in programming agent interaction. In Q. Chen, P. Torroni, S. Villata, J. Y. Hsu, & A. Omicini (Eds.) PRIMA 2015: Principles and practice of multi-agent systems, 18th international conference, vol. 9387 in Lecture Notes in Computer Science (pp. 566–574). Bertinoro, Italy, October 26th–30th 2015. Springer.Google Scholar
  10. 10.
    Baldoni, M., Baroglio, C., Capuzzimati, F., & Micalizio, R. (2018). Commitment-based agent interaction in JaCaMo+. Fundamenta Informaticae, 157, 1–33.CrossRefGoogle Scholar
  11. 11.
    Baldoni, M., Baroglio, C., Chopra, A. K., Desai, N., Patti, V., & Singh, M. P. (2009). Choice, interoperability, and conformance in interaction protocols and service choreographies. In Proceedings of the 8th international conference on autonomous agents and multiagent systems, AAMAS 2009 (pp. 843–850). IFAAMAS.Google Scholar
  12. 12.
    Baldoni, M., Baroglio, C., Chopra, A. K., & Singh M. P. (2015) Composing and verifying commitment-based multiagent protocols. In M. Wooldridge & Q. Yang (Eds.) Proceedings of 24th international joint conference on artificial intelligence, IJCAI 2015, Buenos Aires, Argentina, July 25th–31th.Google Scholar
  13. 13.
    Baldoni, M., Baroglio, C., Marengo, E., & Patti, V. (2013). Constitutive and regulative specifications of commitment protocols: A decoupled approach. ACM Transactions on Intelligent Systems and Technology, Special Issue on Agent Communication, 4(2), 22:1–22:25.Google Scholar
  14. 14.
    Baldoni, M., Baroglio, C., Martelli, A., & Patti, V. (2006). A priori conformance verification for guaranteeing interoperability in open environments. In A. Dan & W. Lamersdorf (Eds.) Proceedings of the 4th international conference on service oriented computing, ICSOC 2006, vol. 4294 of LNCS (pp. 339–351). Chicago, USA: Springer.Google Scholar
  15. 15.
    Baldoni, M., Boella, G., & van der Torre, L. (2007). Interaction between Objects in powerjava. Journal of Object Technology, Special Issue OOPS Track at SAC 2006, 6(2)Google Scholar
  16. 16.
    Baldoni, M., Boella, G., & van der Torre, L. (2007). Relationships Meet their Roles in Object Oriented Programming. In F. Arbab, A. Movaghar, J. Rutten, and M. Sirjani, editors, Proc. of the International Symposium on Fundamentals of Software Engineering, FSEN’07, vol. 4767 of Lecture Notes in Computer Science (LNCS), pages 440–448, Tehran, Iran, April SpringerGoogle Scholar
  17. 17.
    Baldoni, M., Boella, G., & van der Torre, L. (2009). The interplay between relationships, roles and objects. In F. Arbab, H. Sarbazi-azad, & M. Sirjani (Eds.) Proceedings of the international conference on fundamentals of software engineering, FSEN’09, vol. 5961 of Lecture Notes in Computer Science (LNCS) (pp. 402–415). Kish Island, Persian Gulf, Iran, Springer.Google Scholar
  18. 18.
    Bellifemine, F., Bergenti, F., Caire, G., & Poggi, A. (2005). JADE–A Java agent development framework. In R. H. Bordini, M. Dastani, J. JDix, & A. El Fallah-Seghrouchni (Eds.) Multi-agent programming: Languages, platforms and applications, vol. 15 of multiagent systems, artificial societies, and simulated organizations (pp. 125–147). Springer.Google Scholar
  19. 19.
    Bentahar, J., Meyer, J.-J. C., & Wan, W. (2009). Model checking communicative agent-based systems. Knowledge-Based Systems, 22(3), 142–159.CrossRefGoogle Scholar
  20. 20.
    Bhattacharya, K., Caswell, N. S., Kumaran, S., Nigam, A., & Wu, F. Y. (2007). Artifact-centered operational modeling: Lessons from customer engagements. IBM Systems Journal, 46(4), 703–721.CrossRefGoogle Scholar
  21. 21.
    Boella, G., & van der Torre, L. W. N. (2007). The ontological properties of social roles in multi-agent systems: Definitional dependence, powers and roles playing roles. Artificial Intelligence and Law Journal (AILaw), 15(3), 201–221.CrossRefGoogle Scholar
  22. 22.
    Boissier, O., Bordini, R. H., Hübner, J. F., Ricci, A., & Santi, A. (2013). Multi-agent oriented programming with JaCaMo. Science of Computer Programming, 78(6), 747–761.CrossRefGoogle Scholar
  23. 23.
    Bordini, R. H., & Hübner, J. F. (2006). BDI agent programming in AgentSpeak using Jason. In F. Toni & P. Torroni (Eds.) Computational logic in multi-agent systems vol. 3900 of Lecture Notes in Computer Science (pp. 143–164). Berlin, Heidelberg: Springer.Google Scholar
  24. 24.
    Castelfranchi, C. (1997). Principles of individual social action. In G. Holmstrom-Hintikka & R. Tuomela (Eds.), Contemporary action theory: Social action (Vol. 2, pp. 163–192). Kluwer: Dordrecht.Google Scholar
  25. 25.
    Cherns, A. (1976). Principles of socio-technical design. Human Relations, 2, 783–792.CrossRefGoogle Scholar
  26. 26.
    Chesani, F., Mello, P., Montali, M. & Torroni, P. (2010). Monitoring time-aware social commitments with reactive event calculus. In Proceedings of the 7th international symposium from agent theory to agent implementation (AT2AI-7).Google Scholar
  27. 27.
    Chesani, F., Mello, P., Montali, M., & Torroni, P. (2013). Monitoring time-aware commitments within agent-based simulation environments. Cybernetics and Systems, 42(2), 546–566.Google Scholar
  28. 28.
    Chesani, F., Mello, P., Montali, M., & Torroni, P. (2013). Representing and monitoring social commitments using the event calculus. Autonomous Agents and Multi-Agent Systems, 27(1), 85–130.CrossRefGoogle Scholar
  29. 29.
    Cohn, D., & Richard, H. (2009). Business artifacts: A data-centric approach to modeling business operations and processes. IEEE Data Engineering Bulletin, 32(3), 3–9.Google Scholar
  30. 30.
    Colombetti, M., Fornara, N., & Verdicchio, M. (2002). The role of institutions in multiagent systems. In In Proceedings of the workshop on knowledge-based and reasoning agents, VIII Convegno AI*IA (pp. 118–2).Google Scholar
  31. 31.
    Crafa, S., & Padovani, L. (2015). The chemical approach to typestate-oriented programming. In J. Aldrich & P. Eugster (Eds.) Proceedings of the 2015 ACM SIGPLAN international conference on object-oriented programming, systems, languages, and applications, OOPSLA 2015, part of SPLASH 2015, Pittsburgh, PA, USA, October 25–30, 2015 (pp. 917–934). ACM.Google Scholar
  32. 32.
    Damiani, F., Giachino, E., Giannini, P., & Drossopoulou, S. (2008). A type safe state abstraction for coordination in java-like languages. Acta Informatica, 45(7–8), 479–536.MathSciNetCrossRefzbMATHGoogle Scholar
  33. 33.
    Damiani, F., Giannini, P., Ricci, A., & Viroli, M. (2012). Standard type soundness for agents and artifacts. Scientific Annals of Computer Science, 22(2), 267–326.MathSciNetCrossRefGoogle Scholar
  34. 34.
    Dastani, M., van Riemsdijk, M. B., Hulstijn, J., Dignum, F., & Meyer, J.-J. C. (2005). Enacting and deacting roles in agent programming. In J. Odell, P. Giorgini, & J. P. Müller (Eds.) Agent-oriented software engineering V, vol. 3382 of Lecture Notes in Computer Science (pp. 189–204). Berlin, Heidelberg: Springer.Google Scholar
  35. 35.
    Demazeau, Y. (1995). From interactions to collective behaviour in agent-based systems. In Proceedings of the 1st European conference on cognitive science, Saint-Malo.Google Scholar
  36. 36.
    Governatori, G. (2010). Law, logic and business processes. In Third international workshop on requirements engineering and law, RELAW 2010, Sydney, NSW, Australia, September 28, 2010 (pp. 1–10). IEEE.Google Scholar
  37. 37.
    Grigore, C., & Collier, R. (2011). Supporting agent systems in the programming language. In J. F. Hübner, J.-M. Petit, & E. Suzuki (Eds.) Web intelligence/IAT workshops (pp. 9–12). IEEE Computer Society.Google Scholar
  38. 38.
    Grigore, C., & Collier, R. W. (2011). AF-Raf: An agent-oriented programming language with algebraic data types. In SPLASH workshops (pp. 195–200).Google Scholar
  39. 39.
    Guarino, N. (1992). Concepts, attributes, and arbitrary relations—Some linguistic and ontological criteria for structuring knowledge bases. Data & Knowledge Engineering, 8, 249–261.CrossRefGoogle Scholar
  40. 40.
    Guarino, N., & Welty, C. A. (2002). Evaluating ontological decisions with OntoClean. Communications of the ACM, 45(2), 61–65.CrossRefGoogle Scholar
  41. 41.
    Howden, N., Rönnquist, R., Hodgson, A., & Lucas, A. (2001). JACK intelligent agents—Summary of an agent infrastructure. In Proceedings of the 5th international conference on autonomous agents.Google Scholar
  42. 42.
    Kafali, Ö., Ajmeri, N., & Singh, M. P. (2016). Revani: Revising and verifying normative specifications for privacy. IEEE Intelligent Systems, 31(5), 8–15.CrossRefGoogle Scholar
  43. 43.
    Kafali, Ö., Singh, M. P., & Williams, L. A. (2016). NANE: Identifying misuse cases using temporal norm enactments. In 24th IEEE international requirements engineering conference, RE 2016, Beijing, China, September 12–16, 2016 (pp. 136–145).Google Scholar
  44. 44.
    Kökciyan, N., & Yolum, P. (2016). PriGuard: A semantic approach to detect privacy violations in online social networks. IEEE Transactions on Knowledge and Data Engineering, 28(10), 2724–2737.CrossRefGoogle Scholar
  45. 45.
    Kökciyan, N., & Yolum, P. (2016). Priguardtool: A tool for monitoring privacy violations in online social networks (demonstration). In C. M. Jonker, S. Marsella, J. Thangarajah, & K. Tuyls (Eds.) Proceedings of the 2016 international conference on autonomous agents & multiagent systems, Singapore, May 9–13, 2016 (pp. 1496–1497). ACM.Google Scholar
  46. 46.
    Marengo, E., Baldoni, M., Baroglio, C., Chopra, A. K., Patti, V., & Singh, M. P. (2011). Commitments with regulations: Reasoning about safety and control in REGULA. In K. Tumer, P. Yolum, L. Sonenberg, & P. Stone (Eds.) Proceedings of the 10th international conference on autonomous agents and multiagent systems, AAMAS 2011, vol. 2 (pp. 467–474). Taipei, Taiwan: IFAAMAS.Google Scholar
  47. 47.
    Masolo, C., Vieu, L., Bottazzi, E., Catenacci, C., Ferrario, R., Gangemi, A., & Guarino, N. (2004). Social roles and their descriptions. In D. Dubois, C. A. Welty, & M. Williams (Eds.) Principles of knowledge representation and reasoning: proceedings of the ninth international conference (KR2004), Whistler, Canada, June 2–5, 2004 (pp. 267–277). AAAI Press.Google Scholar
  48. 48.
    Nierstrasz, O., & Tsichritzis, D. (Eds.). (1995). Object-oriented software composition (pp. 99–121). Upper Saddle River: Prentice Hall.zbMATHGoogle Scholar
  49. 49.
    Nigam, A., & Caswell, N. S. (2003). Business artifacts: An approach to operational specification. IBM Systems Journal, 42(3), 428–445.CrossRefGoogle Scholar
  50. 50.
    Omicini, A., Ricci, A., & Viroli, M. (2008). Artifacts in the A&A meta-model for multi-agent systems. Autonomous Agents and Multi-Agent Systems, 17(3), 432–456.CrossRefGoogle Scholar
  51. 51.
    Philippsen, M. (2000). A survey of concurrent object-oriented languages. Concurrency—Practice and Experience, 12(10), 917–980.CrossRefzbMATHGoogle Scholar
  52. 52.
    Ricci, A., Piunti, M., & Viroli, M. (2011). Environment programming in multi-agent systems: An artifact-based perspective. Autonomous Agents and Multi-Agent Systems, 23(2), 158–192.CrossRefGoogle Scholar
  53. 53.
    Ricci, A., & Santi, A. (2012). From actors to agent-oriented programming abstractions in simpAL. In SPLASH workshops (pp. 73–74).Google Scholar
  54. 54.
    Ricci, A., & Santi, A. (2012). Typing multi-agent programs in simpAL. In M. Dastani, J. F. Hübner, & B. Logan (Eds.) Programming multi-agent system, vol. 7837 of Lecture Notes in Computer Science (pp. 138–157). Springer.Google Scholar
  55. 55.
    Ricci, A., & Santi, A. (2014). From actors and concurrent objects to agent-oriented programming in simpAL. In G. Agha, A. Igarashi, N. Kobayashi, H. Masuhara, S. Matsuoka, E. Shibayama, & K. Taura (Eds.) Concurrent objects and beyond—Papers dedicated to Akinori Yonezawa on the Occasion of His 65th Birthday, vol. 8665 of Lecture Notes in Computer Science (pp. 408–445). Springer.Google Scholar
  56. 56.
    Ricci, A., Viroli, M., & Piancastelli, G. (2011). simpA: An agent-oriented approach for programming concurrent applications on top of Java. Science of Computer Programming, 76(1), 37–62.CrossRefzbMATHGoogle Scholar
  57. 57.
    Rumbaugh, J. (1987). Relations as semantic constructs in an object-oriented language. In Conference proceedings on object-oriented programming systems, languages and applications, OOPSLA ’87 (pp. 466–481). New York, NY, USA: ACM.Google Scholar
  58. 58.
    Santi, A., & Ricci, A. (2012). An eclipse-based IDE for agent-oriented programming in simpAL. In Proceedings of the seventh workshop of the Italian eclipse community.Google Scholar
  59. 59.
    Singh, M. P. (1999). An ontology for commitments in multiagent systems. Artificial Intelligence and Law Journal (AILaw), 7(1), 97–113.CrossRefGoogle Scholar
  60. 60.
    Singh, M. P. (2000). A social semantics for agent communication languages. In F. Dignum & M. Greaves (Eds.) Issues in agent communication, vol. 1916 of Lecture Notes in Computer Science (pp. 31–45). Springer.Google Scholar
  61. 61.
    Singh, M. P. (2003). Distributed enactment of multiagent workflows: Temporal logic for web service composition. In Proceedings of the second international joint conference on autonomous agents & multiagent systems, AAMAS 2003, July 14–18, 2003, Melbourne, Victoria, Australia (pp. 907–914). ACM.Google Scholar
  62. 62.
    Singh, M . P., & Huhns, M . N. (2005). Service-oriented computing—Semantics, processes, agents. New York: Wiley.Google Scholar
  63. 63.
    Šišlák, D., Rehák, M., Pěchouček, M., Rollo, M., & Pavlíček, D. (2005). A-globe: Agent development platform with inaccessibility and mobility support. In Software agent-based applications, platforms and development kits (pp. 21–46). Basel: Birkhäuser.Google Scholar
  64. 64.
    Sowa, J. F. (1984). Conceptual structures: Information processing in mind and machine. Boston, MA: Addison-Wesley Longman Publishing Co., Inc.zbMATHGoogle Scholar
  65. 65.
    Steimann, F. (2000). On the representation of roles in object-oriented and conceptual modelling. Data & Knowledge Engineering, 35(1), 83–106.CrossRefzbMATHGoogle Scholar
  66. 66.
    SUN Microsystems, Inc. JSR 175: a metadata facility for the Java programming language, 2002.
  67. 67.
    Telang, P. R., Singh, M. P., & Yorke-Smith, N. (2011). Relating goal and commitment semantics. In ProMAS, vol. 7217 of Lecture Notes in Computer Science (pp. 22–37). Springer.Google Scholar
  68. 68.
    Weyns, D., Omicini, A., & Odell, J. (2007). Environment as a first class abstraction in multiagent systems. Autonomous Agents and Multi-Agent Systems, 14(1), 5–30.CrossRefGoogle Scholar
  69. 69.
    Yolum, P., & Singh, M. P. (2001). Designing and executing protocols using the event calculus. In Proceedings of the fifth international conference on autonomous agents, AGENTS ’01 (pp. 27–28). New York, NY, USA: ACM.Google Scholar
  70. 70.
    Yolum, P., & Singh, M. P. (2002). Commitment machines. In Intelligent agents VIII, 8th international workshop, ATAL 2001, vol. 2333 of LNCS (pp. 235–247). Springer.Google Scholar
  71. 71.
    Zapf, M., & Geihs (2000). What type is it? A type system for mobile agents. In 15th European meeting on cybernetics and systems research (EMCSR) Google Scholar

Copyright information

© The Author(s) 2018

Authors and Affiliations

  1. 1.Dipartimento di InformaticaUniversità degli Studi di TorinoTurinItaly

Personalised recommendations