Skip to main content
Log in

Type checking for protocol role enactments via commitments

  • Published:
Autonomous Agents and Multi-Agent Systems Aims and scope Submit manuscript

Abstract

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.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

Notes

  1. The other one being object, a perspective that is widely reflected in computer science proposals – just think to the entity-relationship model.

  2. See [15,16,17] for a declination of the proposal in an Object-Oriented context.

  3. This means that actions have a social effect only if they are executed by an agent who is playing a role the action is associated with. It does not mean that an agent is enforced to execute only the actions associated with its role.

  4. In terms of [46], this implies that p is controlled by y and q is controlled by x.

  5. This is not restrictive as it is possible to encapsulate many such behaviors into a new one.

References

  1. Agha, G. (1986). Actors: A model of concurrent computation in distributed systems. Cambridge, MA: MIT Press.

    Google Scholar 

  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.

  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.

  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.

  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.

  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.

    Article  Google Scholar 

  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.

  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.

  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.

  10. Baldoni, M., Baroglio, C., Capuzzimati, F., & Micalizio, R. (2018). Commitment-based agent interaction in JaCaMo+. Fundamenta Informaticae, 157, 1–33.

    Article  Google Scholar 

  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.

  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.

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

  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)

  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 Springer

  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.

  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.

  19. Bentahar, J., Meyer, J.-J. C., & Wan, W. (2009). Model checking communicative agent-based systems. Knowledge-Based Systems, 22(3), 142–159.

    Article  Google Scholar 

  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.

    Article  Google Scholar 

  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.

    Article  Google Scholar 

  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.

    Article  Google Scholar 

  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.

  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. Cherns, A. (1976). Principles of socio-technical design. Human Relations, 2, 783–792.

    Article  Google Scholar 

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

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

    Article  Google Scholar 

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

  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.

  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.

    Article  MathSciNet  MATH  Google Scholar 

  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.

    Article  MathSciNet  Google Scholar 

  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.

  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.

  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.

  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.

  38. Grigore, C., & Collier, R. W. (2011). AF-Raf: An agent-oriented programming language with algebraic data types. In SPLASH workshops (pp. 195–200).

  39. Guarino, N. (1992). Concepts, attributes, and arbitrary relations—Some linguistic and ontological criteria for structuring knowledge bases. Data & Knowledge Engineering, 8, 249–261.

    Article  Google Scholar 

  40. Guarino, N., & Welty, C. A. (2002). Evaluating ontological decisions with OntoClean. Communications of the ACM, 45(2), 61–65.

    Article  Google Scholar 

  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.

  42. Kafali, Ö., Ajmeri, N., & Singh, M. P. (2016). Revani: Revising and verifying normative specifications for privacy. IEEE Intelligent Systems, 31(5), 8–15.

    Article  Google Scholar 

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

  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.

    Article  Google Scholar 

  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.

  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.

  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.

  48. Nierstrasz, O., & Tsichritzis, D. (Eds.). (1995). Object-oriented software composition (pp. 99–121). Upper Saddle River: Prentice Hall.

    MATH  Google Scholar 

  49. Nigam, A., & Caswell, N. S. (2003). Business artifacts: An approach to operational specification. IBM Systems Journal, 42(3), 428–445.

    Article  Google Scholar 

  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.

    Article  Google Scholar 

  51. Philippsen, M. (2000). A survey of concurrent object-oriented languages. Concurrency—Practice and Experience, 12(10), 917–980.

    Article  MATH  Google Scholar 

  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.

    Article  Google Scholar 

  53. Ricci, A., & Santi, A. (2012). From actors to agent-oriented programming abstractions in simpAL. In SPLASH workshops (pp. 73–74).

  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.

  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.

  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.

    Article  MATH  Google Scholar 

  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.

  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.

  59. Singh, M. P. (1999). An ontology for commitments in multiagent systems. Artificial Intelligence and Law Journal (AILaw), 7(1), 97–113.

    Article  Google Scholar 

  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.

  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.

  62. Singh, M . P., & Huhns, M . N. (2005). Service-oriented computing—Semantics, processes, agents. New York: Wiley.

    Google Scholar 

  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.

  64. Sowa, J. F. (1984). Conceptual structures: Information processing in mind and machine. Boston, MA: Addison-Wesley Longman Publishing Co., Inc.

    MATH  Google Scholar 

  65. Steimann, F. (2000). On the representation of roles in object-oriented and conceptual modelling. Data & Knowledge Engineering, 35(1), 83–106.

    Article  MATH  Google Scholar 

  66. SUN Microsystems, Inc. JSR 175: a metadata facility for the Java programming language, 2002. https://jcp.org/en/jsr/detail?id=175.

  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.

  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.

    Article  Google Scholar 

  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.

  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.

  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)

Download references

Acknowledgements

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.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Matteo Baldoni.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Baldoni, M., Baroglio, C., Capuzzimati, F. et al. Type checking for protocol role enactments via commitments. Auton Agent Multi-Agent Syst 32, 349–386 (2018). https://doi.org/10.1007/s10458-018-9382-3

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10458-018-9382-3

Keywords

Navigation