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.
Similar content being viewed by others
Notes
The other one being object, a perspective that is widely reflected in computer science proposals – just think to the entity-relationship model.
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.
In terms of [46], this implies that p is controlled by y and q is controlled by x.
This is not restrictive as it is possible to encapsulate many such behaviors into a new one.
References
Agha, G. (1986). Actors: A model of concurrent computation in distributed systems. Cambridge, MA: MIT Press.
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.
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.
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.
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.
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.
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.
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.
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.
Baldoni, M., Baroglio, C., Capuzzimati, F., & Micalizio, R. (2018). Commitment-based agent interaction in JaCaMo+. Fundamenta Informaticae, 157, 1–33.
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.
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.
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.
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.
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)
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
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.
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.
Bentahar, J., Meyer, J.-J. C., & Wan, W. (2009). Model checking communicative agent-based systems. Knowledge-Based Systems, 22(3), 142–159.
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.
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.
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.
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.
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.
Cherns, A. (1976). Principles of socio-technical design. Human Relations, 2, 783–792.
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).
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.
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.
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.
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).
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.
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.
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.
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.
Demazeau, Y. (1995). From interactions to collective behaviour in agent-based systems. In Proceedings of the 1st European conference on cognitive science, Saint-Malo.
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.
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.
Grigore, C., & Collier, R. W. (2011). AF-Raf: An agent-oriented programming language with algebraic data types. In SPLASH workshops (pp. 195–200).
Guarino, N. (1992). Concepts, attributes, and arbitrary relations—Some linguistic and ontological criteria for structuring knowledge bases. Data & Knowledge Engineering, 8, 249–261.
Guarino, N., & Welty, C. A. (2002). Evaluating ontological decisions with OntoClean. Communications of the ACM, 45(2), 61–65.
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.
Kafali, Ö., Ajmeri, N., & Singh, M. P. (2016). Revani: Revising and verifying normative specifications for privacy. IEEE Intelligent Systems, 31(5), 8–15.
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).
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.
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.
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.
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.
Nierstrasz, O., & Tsichritzis, D. (Eds.). (1995). Object-oriented software composition (pp. 99–121). Upper Saddle River: Prentice Hall.
Nigam, A., & Caswell, N. S. (2003). Business artifacts: An approach to operational specification. IBM Systems Journal, 42(3), 428–445.
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.
Philippsen, M. (2000). A survey of concurrent object-oriented languages. Concurrency—Practice and Experience, 12(10), 917–980.
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.
Ricci, A., & Santi, A. (2012). From actors to agent-oriented programming abstractions in simpAL. In SPLASH workshops (pp. 73–74).
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.
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.
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.
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.
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.
Singh, M. P. (1999). An ontology for commitments in multiagent systems. Artificial Intelligence and Law Journal (AILaw), 7(1), 97–113.
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.
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.
Singh, M . P., & Huhns, M . N. (2005). Service-oriented computing—Semantics, processes, agents. New York: Wiley.
Š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.
Sowa, J. F. (1984). Conceptual structures: Information processing in mind and machine. Boston, MA: Addison-Wesley Longman Publishing Co., Inc.
Steimann, F. (2000). On the representation of roles in object-oriented and conceptual modelling. Data & Knowledge Engineering, 35(1), 83–106.
SUN Microsystems, Inc. JSR 175: a metadata facility for the Java programming language, 2002. https://jcp.org/en/jsr/detail?id=175.
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.
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.
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.
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.
Zapf, M., & Geihs (2000). What type is it? A type system for mobile agents. In 15th European meeting on cybernetics and systems research (EMCSR)
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
Corresponding author
Rights and permissions
About this article
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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10458-018-9382-3