Abstract
The purpose of this paper is to map the works in the Agent Oriented Software Engineering and Engineering Multi-agent Systems fields that use the statecharts paradigm to aid the software development process. We did not only focus on finding out the methods that employ statecharts, but also on identifying the application domains suitable for this kind of modeling. To achieve this goal we researched the available literature. We found out that statecharts are used by numerous methods that target diverse application domains such as robotics, internet agents, simulation, health and safety. Moreover, statecharts have been employed for modeling different things, such as the behaviour of agents, agent plans, agent interaction protocols. We also found reports of real-world systems and applications that were developed using these methods in the last 20 years and we identified trends and common characteristics that they have. Concluding, we have mapped the area where statecharts meet agent-oriented methodologies both in theory and practice. Moreover, we provide some exciting directions for future works.
Similar content being viewed by others
Notes
FIPA (Foundation for Intelligent Physical Agents) is an IEEE Computer Society standards organization for agent-based technology, http://www.fipa.org.
References
Abbas HA, Shaheen SI, Amin MH. Self-adaptive large-scale SCADA system based on self-organised multi-agent systems. Int J Autom Control. 2016;10(3):234–66.
Arai T, Stolzenburg F. Multiagent systems specification by UML statecharts aiming at intelligent manufacturing. In: Proceedings of the First International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS 2002): Part 1, pp. 11–8, 2002. https://doi.org/10.1145/544741.544745.
Asfour T, Waechter M, Kaul L, Rader S, Weiner P, Ottenhaus S, Grimm R, Zhou Y, Grotz M, Paus F. Armar-6: a high-performance humanoid for human-robot collaboration in real-world scenarios. IEEE Robot Autom Mag. 2019;26(4):108–21.
Austin JL. How to do things with words. Cambridge: Harvard University Press; 1975.
Bellifemine FL, Caire G, Greenwood D. Developing multi-agent systems with JADE. New York: Wiley Series in Agent Technology Wiley; 2007.
Bordini RH, Braubach L, Dastani M, Seghrouchni AEF, Gomez-Sanz JJ, Leite J, O’Hare G, Pokahr A, Ricci A. A survey of programming languages and platforms for multi-agent systems. Informatica. 2006;30(1).
Brand D, Zafiropulo P. On communicating finite-state machines. J ACM (JACM). 1983;30(2):323–42.
Braubach L, Pokahr A, Lamersdorf W. Extending the capability concept for flexible BDI agent modularization. In: Bordini RH, Dastani MM, Dix J, El Fallah Seghrouchni A, editors. Programming multi-agent systems. Berlin: Springer; 2006. p. 139–55.
Bresciani P, Perini A, Giorgini P, Giunchiglia F, Mylopoulos J. Tropos: an agent-oriented software development methodology. Auton Agent Multi-Agent Syst. 2004;8(3):203–36. https://doi.org/10.1023/B:AGNT.0000018806.20944.ef.
Broad A, Argall B. Path planning under interface-based constraints for assistive robotics. In: Proceedings of the 26th International Conference on Automated Planning and Scheduling, ICAPS’16, p. 450–8. AAAI Press; 2016.
Crane ML, Dingel J. UML vs. classical vs. rhapsody statecharts: not all models are created equal. In: Briand L, Williams C, editors. Model driven engineering languages and systems. Berlin: Springer; 2005. p. 97–112.
Dastani M. Programming multi-agent systems. Knowl Eng Rev. 2015;30(4):394–418. https://doi.org/10.1017/S0269888915000077.
Dastani M, van BirnaRiemsdijk M, Meyer JJC. Programming multi-agent systems in 3APL. In: Multi-agent programming. Springer: Berlin; 2005. p. 39–67.
DeLoach SA. Developing a multiagent conference management system using the O-MaSE process framework. In: Luck M, Padgham L (eds.) Agent-Oriented Software Engineering VIII: 8th International Workshop, AOSE 2007, Honolulu, HI, USA, May 14, 2007, Revised Selected Papers, pp. 168–181. Berlin: Springer; 2008. https://doi.org/10.1007/978-3-540-79488-2_13.
DeLoach SA, Garcia-Ojeda JC. O-MaSE: a customisable approach to designing and building complex, adaptive multi-agent systems. Int J Agent-Oriented Softw Eng. 2010;4(3):244–80.
DeLoach SA, Wood MF, Sparkman CH. Multiagent systems engineering. Int J Softw Eng Knowl Eng. 2001;11(03):231–58.
Dumas M, Governatori G, ter Hofstede AH, Oaks P. A formal approach to negotiating agents development. Electron Commer Res Appl. 2002;1(2):193–207. https://doi.org/10.1016/S1567-4223(02)00016-9.
Dunn-Davies H, Cunningham R, Paurobally S. Propositional statecharts for agent interaction protocols. Electron Notes Theor Comput Sci. 2005;134:55–75.
Eilenberg S. Automata, languages, and machines. New York: Academic Press; 1974.
Elshaafi H, Vinyals M, Grimaldi I, Davy S. Secure automated home energy management in multi-agent smart grid architecture. Technol Econ Smart Grids Sustain Energy. 2018;3(1):4.
Endert H, Küster T, Hirsch B, Albayrak S. Mapping BPMN to agents: an analysis. IN: Agents, web-services, and ontologies integrated methodologies. 2007, pp. 43–58.
Fleischmann A. Limitations of choreography specifications with BPMN. In: International Conference on Subject-Oriented Business Process Management, pp. 203–16. Springer; 2020.
Fortino G, Garro A, Mascillaro S, Russo W. Using event-driven lightweight DSC-based agents for mas modelling. Int J Agent-Oriented Softw Eng. 2010;4(2):113–40.
Fortino G, Rango F, Russo W. Statecharts-based JADE agents and tools for engineering multi-agent systems. In: Setchi R, Jordanov I, Howlett RJ, Jain LC, editors. Knowledge-based and intelligent information and engineering systems. Berlin: Springer; 2010. p. 240–50.
Fortino G, Rango F, Russo W, Santoro C. Translation of statechart agents into a BDI framework for MAS engineering. Eng Appl Artif Intell. 2015;41:287–97.
Fortino G, Russo W, Zimeo E. A statecharts-based software development process for mobile agents. Inf Softw Technol. 2004;46(13):907–21.
Gago ISB, Werneck VMB, Costa RM. Modeling an educational multi-agent system in MaSE. In: Liu J, Wu J, Yao Y, Nishida T, editors. Active Media Technol. Berlin: Springer; 2009. p. 335–46.
Ganzha M, Paprzycki M, Pirvanescu A, Badica C, Abraham A. JADE-based multi-agent E-commerce environment: initial implementation. Analele Universitatii din Timisoara Seria Matematica-Informatica. 2005;42:79–100.
Giese H, Burmester S, Klein F, Schilling D, Tichy M. Multi-agent system design for safety-critical self-optimizing mechatronic systems with uml. In: OOPSLA 2003—Second International Workshop on Agent-Oriented Methodologies, pp. 21–32. 2003.
Girault A, Lee B, Lee EA. Hierarchical finite state machines with multiple concurrency models. IEEE Trans Comput Aided Des Integr Circuits Syst. 1999;18(6):742–60.
Goldsby HJ, Cheng BH, McKinley PK, Knoester DB, Ofria CA. Digital evolution of behavioral models for autonomic systems. In: Proceedings of the 5th IEEE International Conference on Autonomic Computing (ICAC 2008), pp. 87–96. Los Alamitos: IEEE Computer Society; 2008.
Graics B, Molnár V, Vörös A, Majzik I, Varró D. Mixed-semantics composition of statecharts for the component-based design of reactive systems. Softw Syst Model. 2020;19(6):1483–517.
Hahn C, Madrigal-Mora C, Fischer K. A platform-independent metamodel for multiagent systems. Auton Agent Multi-Agent Syst. 2009;18(2):239–66.
Harel D. Statecharts: a visual formalism for complex systems. Sci Comput Progr. 1987;8(3):231–74.
Harel D, Kugler H. The rhapsody semantics of statecharts (or, on the executable core of the uml). In: Ehrig H, Damm W, Desel J, Große-Rhode M, Reif W, Schnieder E, Westkämper E (eds) Integration of Software Specification Techniques for Applications in Engineering: Priority Program SoftSpez of the German Research Foundation (DFG), Final Report, pp. 325–54. Berlin: Springer; 2004. https://doi.org/10.1007/978-3-540-27863-4_19.
Harel D, Naamad A. The statemate semantics of statecharts. ACM Trans Softw Eng Methodol (TOSEM). 1996;5(4):293–333.
Hayes-Roth B. A blackboard architecture for control. Artif Intell. 1985;26(3):251–321. https://doi.org/10.1016/0004-3702(85)90063-3.
Henderson-Sellers B, Giorgini P, editors. Agent-oriented methodologies. Hershey: Idea Group Publishing; 2005.
Hippolyte JL, Howell S, Yuce B, Mourshed M, Sleiman HA, Vinyals M, Vanhée L. Ontology-based demand-side flexibility management in smart grids using a multi-agent system. In: 2016 IEEE International Smart Cities Conference (ISC2), pp. 1–7. IEEE; 2016.
Huget MP. Agent UML notation for multiagent system design. IEEE Int Comput. 2004;8(4):63–71.
Huget MP, Odell J. Representing agent interaction protocols with agent UML. In: International Workshop on Agent-Oriented Software Engineering, pp. 16–30. Springer; 2004.
Huynh TD, Jennings NR, Shadbolt NR. An integrated trust and reputation model for open multi-agent systems. Auton Agent Multi-Agent Syst. 2006;13(2):119–54.
Jennings NR, Moreau L, Nicholson D, Ramchurn S, Roberts S, Rodden T, Rogers A. Human-agent collectives. Commun ACM. 2014;57(12):80–8. https://doi.org/10.1145/2629559.
Kardas G, Gomez-Sanz JJ. Special issue on model-driven engineering of multi-agent systems in theory and practice. Comput Lang Syst Struct. 2017;50:140–1. https://doi.org/10.1016/j.cl.2017.07.002.
Kienzle J, Denault A, Vangheluwe H. Model-based design of computer-controlled game character behavior. In: Engels G, Opdyke B, Schmidt DC, Weil F, editors. Model driven engineering languages and systems. Berlin: Springer; 2007. p. 650–65.
Kir H, Erdogan N. A knowledge-intensive adaptive business process management framework. Inf Syst. 2021;95. https://doi.org/10.1016/jis2020101639.
Kleppe AG, Warmer J, Bast W. MDA explained: the model driven architecture: practice and promise. Boston: Addison-Wesley; 2003.
König R. State-based modeling method for multiagent conversation protocols and decision activities. In: Carbonell JG, Siekmann J, Kowalczyk R, Müller JP, Tianfield H, Unland R, editors. Agent technologies, infrastructures, tools, and applications for E-services. Berlin: Springer; 2003. p. 151–66.
Loach SAD, Wood M. Developing multiagent systems with agenttool. In: Castelfranchi C, Lespérance Y, editors. Intelligent agents VII agent theories architectures and languages. Berlin: Springer; 2001. p. 46–60.
Marron A, Hacohen Y, Harel D, Mülder A, Terfloth A. Embedding scenario-based modeling in statecharts. In: MODELS workshops, pp. 443–52. 2018.
Marron A, Limonad L, Pollack S, Harel D. Expecting the unexpected: developing autonomous-system design principles for reacting to unpredicted events and conditions. 2020.
Mazouzi H, Seghrouchni AEF, Haddad S. Open protocol design for complex interactions in multi-agent systems. In: Proceedings of the First International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS 2002): Part 2, AAMAS ’02, pp. 517–26. New York: Association for Computing Machinery; 2002. https://doi.org/10.1145/544862.544866.
McBurney P, Parsons S. Dialogue games for agent argumentation. In: Simari G, Rahwan I, editors. Argumentation in artificial intelligence. Boston: Springer; 2009. p. 261–80. https://doi.org/10.1007/978-0-387-98197-0_13.
Mens T, Decan A, Spanoudakis NI. A method for testing and validating executable statechart models. Softw Syst Model. 2019;18(2):837–63.
Moore SA. On conversation policies and the need for exceptions. In: Dignum F, Greaves M, editors. Issues in agent communication. Berlin: Springer; 2000. p. 144–59.
Moraitis P, Petraki E, Spanoudakis NI. Engineering JADE agents with the Gaia Methodology. In: Carbonell JG, Siekmann J, Kowalczyk R, Müller JP, Tianfield H, Unland R, editors. Agent technologies, infrastructures, tools, and applications for E-services, lecture notes in computer science, vol. 2592. Berlin: Springer; 2003. p. 77–91. https://doi.org/10.1007/3-540-36559-1.
Moraitis P, Petraki E, Spanoudakis NI. Providing advanced, personalised infomobility services using agent technology. In: Bramer M, Ellis R, Macintosh A, editors. Applications and innovations in intelligent systems XI. London: Springer; 2004. p. 35–48.
Moraitis P, Spanoudakis N. The GAIA2JADE process for multi-agent systems development. Appl Artif Intell. 2006;20(2–4):251–73. https://doi.org/10.1080/08839510500484249.
Moulin B, Chaib-Draa B. An overview of distributed artificial intelligence. In: O’Hare GM, Jennings NR, editors. Foundations of distributed artificial intelligence. New York: Wiley; 1996.
Murray J. Specifying agent behaviors with UML statecharts and statedit. In: Polani D, Browning B, Bonarini A, Yoshida K, editors. RoboCup 2003: Robot Soccer World Cup VII. Berlin: Springer; 2004. p. 145–56.
Murray J, Obst O, Stolzenburg F. Robolog koblenz 2000. In: Stone P, Balch T, Kraetzschmar G, editors. RoboCup 2000: Robot Soccer World Cup IV. Berlin: Springer; 2001. p. 469–72.
Nagadi K, Rabelo L, Basingab M, Sarmiento AT, Jones A, Rahal A. A hybrid simulation-based assessment framework of smart manufacturing systems. Int J Comput Integr Manuf. 2018;31(2):115–28. https://doi.org/10.1080/0951192X.2017.1407449.
Nickel U, Niere J, Zündorf A. The FUJABA environment. In: Proceedings of the 22nd International Conference on Software Engineering, ICSE ’00, pp. 742–5. Association for Computing Machinery; 2000. https://doi.org/10.1145/337180.337620.
Nilsson N. Teleo-reactive programs for agent control. J Artif Intell Res. 1994;1:139–58.
Nwana HS, Ndumu DT, Lee LC, Collis JC. Zeus: a toolkit for building distributed multiagent systems. Appl Artif Intell. 1999;13(1–2):129–85.
Obst O. Specifying rational agents with statecharts and utility functions. In: Birk A, Coradeschi S, Tadokoro S, editors. RoboCup 2001: Robot Soccer World Cup V. Berlin: Springer; 2002. p. 173–82.
Ozik J, Collier N, Combs T, Macal CM, Northe M. Repast simphony statecharts. J Artif Soc Soc Simul. 2015;18(3):11. https://doi.org/10.18564/jasss.2840.
Papadimitriou GL, Spanoudakis NI, Lagoudakis MG. Extending the kouretes statechart editor for generic agent behavior development. In: Iliadis L, Maglogiannis I, Papadopoulos H, editors. Artificial intelligence applications and innovations. Berlin: Springer; 2014. p. 182–92.
Paraschos A, Spanoudakis NI, Lagoudakis MG. Model-driven behavior specification for robotic teams. In: Proceedings of the 11th International Conference on Autonomous Agents and Multiagent Systems—Volume 1, pp. 171–8. International Foundation for Autonomous Agents and Multiagent Systems; 2012.
Paurobally S, Cunningham J, Jennings NR. Developing agent interaction protocols using graphical and logical methodologies. In: Dastani MM, Dix J, El Fallah-Seghrouchni A, editors. Programming multi-agent systems. Berlin: Springer; 2004. p. 149–68.
Rao AS, Georgeff MP. Modeling rational agents within a BDI-architecture. KR. 1991, pp. 473–84.
Riemenschneider CK, Hardgrave BC, Davis FD. Explaining software developer acceptance of methodologies: a comparison of five theoretical models. IEEE Trans Software Eng. 2002;28(12):1135–45.
Russell S, Norvig P. Artificial intelligence: a modern approach. 3rd ed. Hoboken: Prentice Hall; 2010.
Sabater J, Sierra C, Parsons S, Jennings NR. Engineering executable agents using multi-context systems. J Logic Comput. 2002;12(3):413–42.
Sakellariou I. Agent based modelling and simulation using state machines. In: Second International Conference on Simulation and Modeling Methodologies, Technologies and Applications (SIMULTECH 2012), pp. 270–9; 2012.
Sánchez P, Álvarez B, Martínez R, Iborra A. Embedding statecharts into teleo-reactive programs to model interactions between agents. J Syst Softw. 2017;131:78–97.
Selic B. The pragmatics of model-driven development. IEEE Softw. 2003;20(5):19–25.
Seo HS, Araragi T, Kwon YR. Modeling and testing agent systems based on statecharts. In: Núñez M, Maamar Z, Pelayo FL, Pousttchi K, Rubio F, editors. Applying formal methods: testing, performance, and M/E-commerce. Berlin: Springer; 2004. p. 308–21.
Sethuraman A, Yalla KK, Sarin A, Gorthi RP. Agents assisted software project management. In: Proceedings of the 1st Bangalore Annual Compute Conference, COMPUTE ’08. New York: Association for Computing Machinery; 2008. https://doi.org/10.1145/1341771.1341777.
Shirabad JS, Wilk S, Michalowski W, Farion K. Implementing an integrative multi-agent clinical decision support system with open source software. J Med Syst. 2012;36(1):123–37.
Sklar E. Netlogo, a multi-agent simulation environment. Artif Life. 2007;13(3):303–11. https://doi.org/10.1162/artl.2007.13.3.303.
Smarsly K, Hartmann D. Agent-oriented development of hybrid wind turbine monitoring systems. In: Proceedings of ISCCBE International Conference on Computing in Civil and Building Engineering and the EG-ICE Workshop on Intelligent Computing in Engineering; 2010.
Smarsly K, Law KH. Advanced structural health monitoring based on multi-agent technology. Computation for Humanity: Information Technology to Advance Society. 2012.
Spanoudakis N, Akasiadis C, Kechagias G, Chalkiadakis G. An Open MAS Services Architecture for the V2G/G2V Problem. In: Proceedings of the 18th International Conference on Autonomous Agents and MultiAgent Systems, pp. 2198–200. 2019.
Spanoudakis N, Moraitis P. An agent modeling language implementing protocols through capabilities. In: Proceedings of the 2008 IEEE/WIC/ACM International Conference on Web Intelligence and Intelligent Agent Technology-Volume 02, pp. 578–82. IEEE Computer Society; 2008.
Spanoudakis N, Moraitis P. Engineering an agent-based system for product pricing automation. Eng Intell Syst. 2009;17(2):139.
Spanoudakis N, Moraitis P. Gaia agents implementation through models transformation. In: Yang JJ, Yokoo M, Ito T, Jin Z, Scerri P, editors. Principles of practice in multi-agent systems. Berlin: Springer; 2009. p. 127–42.
Spanoudakis N, Moraitis P. Engineering ambient intelligence systems using agent technology. IEEE Intell Syst. 2015;30(3):60–7.
Spanoudakis NI. Statecharts and AOSE: the past and the future. In: Multi-Agent Systems—17th European Conference, EUMAS 2020. Springer; 2020.
Spanoudakis NI, Floros E, Mitakidis N, Delias P. Validating mas analysis models with the ASEME methodology. Int J Agent-Oriented Softw Eng. 2018;6(2):211–40.
Spanoudakis NI, Moraitis P. The ASEME methodology. Int J Agent-Oriented Softw Eng (in press)
Syriani E, Sousa V, Lúcio L. Structure and behavior preserving statecharts refinements. Sci Comput Progr. 2019;170:45–79.
Thönes J. Microservices. IEEE Softw. 2015;32:1.
Topalidou-Kyniazopoulou A, Spanoudakis NI, Lagoudakis MG. A case tool for robot behavior development. In: Chen X, Stone P, Sucar LE, van der Zant T, editors. RoboCup 2012: Robot Soccer World Cup XVI. Berlin: Springer; 2013. p. 225–36.
Torreño A, Onaindia E, Komenda A, Štolba M. Cooperative multi-agent planning: a survey. ACM Comput Surv. 2017;50(6):1–32. https://doi.org/10.1145/3128584.
Tožička J, Jakubŭv J, Komenda A, Pěchouček M. Privacy-concerned multiagent planning. Knowl Inf Syst. 2016;48(3):581–618.
Varga P, Peto J, Franko A, Balla D, Haja D, Janky F, Soos G, Ficzere D, Maliosz M, Toka L. 5g support for industrial iot applications-challenges, solutions, and research gaps. Sensors. 2020;20(3):828. https://doi.org/10.3390/s20030828.
Wächter M, Ottenhaus S, Kröhnert M, Vahrenkamp N, Asfour T. The armarx statechart concept: graphical programing of robot behavior. Front Robot AI. 2016;3:33.
Wautelet Y, Heng S, Kiv S, Kolp M. User-story driven development of multi-agent systems: a process fragment for agile methods. Comput Lang Syst Struct. 2017;50:159–76. https://doi.org/10.1016/j.cl.2017.06.007.
Wilk S, Michalowski W, O’Sullivan D, Farion K, Matwin S. Engineering of a clinical decision support framework for the point of care use. In: AMIA Annual Symposium Proceedings, vol. 2008, p. 814. American Medical Informatics Association; 2008.
Wooldridge M, Jennings NR, Kinny D. The gaia methodology for agent-oriented analysis and design. Auton Agent Multi-Agent Syst. 2000;3(3):285–312.
Wooldridge MJ. An introduction to multiagent systems. New York: Wiley; 2009.
Wynne M, Hellesoy A. The cucumber book: behaviour-driven development for testers and developers. Raleigh: Pragmatic Bookshelf; 2012.
Yu Y, Lapouchnian A, Liaskos S, Mylopoulos J, Leite JCSP. From goals to high-variability software design. In: Foundations of intelligent systems. Berlin: Springer; 2008. p. 1–16.
Zambonelli F, Jennings NR, Wooldridge M. Developing multiagent systems: the Gaia methodology. ACM Trans Softw Eng Methodol. 2003;12(3):317–70. https://doi.org/10.1145/958961.958963.
Zieliński C, Figat M, Hexel R. Communication within multi-FSM based robotic systems. J Intell Robot Syst. 2019;93(3):787–805.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The author declares that he has no conflict of interest.
Ethical approval
This article does not contain any studies with human participants or animals performed by the author.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
This article is part of the topical collection “Advances in Multi-Agent Systems Research: EUMAS 2020 Extended Selected Papers” guest edited by Nick Bassiliades and Georgios Chalkiadakis.
Rights and permissions
About this article
Cite this article
Spanoudakis, N.I. Engineering Multi-agent Systems with Statecharts. SN COMPUT. SCI. 2, 317 (2021). https://doi.org/10.1007/s42979-021-00706-5
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s42979-021-00706-5