Softw Syst Model DOI 10.1007/s10270-017-0627-4 REGULAR PAPER A model-driven framework for developing multi-agent systems in emergency response environments Samaneh HoseinDoost 1 · Tahereh Adamzadeh 1 · Bahman Zamani 1 · Afsaneh Fatemi 1 Received: 6 December 2016 / Revised: 14 September 2017 / Accepted: 25 September 2017 © Springer-Verlag GmbH Germany 2017 Abstract In emergency response environments, variant entities with specific behaviors and interaction between them form a complex system that can be well modeled by multi- agent systems. To build such complex systems, instead of writing the code from scratch, one can follow the model- driven development approach, which aims to generate soft- ware from design models automatically. To achieve this goal, two important prerequisites are: a domain-specific modeling language for designing an emergency response environment model, and transformation programs for automatic code gen- eration from a model. In addition, for modeling with the language, a modeling tool is required, and for executing the generated code there is a need to a platform. In this paper, a model-driven framework for developing multi-agent systems in emergency response environments is provided which includes several items. A domain-specific modeling language as well as a modeling tool is developed for this domain. The language and the tool are called ERE-ML and ERE-ML Tool, respectively. Using the ERE-ML Tool, a designer can model an emergency response situation and then validate the model against the predefined constraints. Fur- thermore, several model to code transformations are defined Communicated by Dr. Alan Hartman. B Bahman Zamani zamani@eng.ui.ac.ir Samaneh HoseinDoost s.hoseindoost@eng.ui.ac.ir Tahereh Adamzadeh t.adamzadeh@eng.ui.ac.ir Afsaneh Fatemi a_fatemi@eng.ui.ac.ir 1 MDSE Research Group, Department of Software Engineering, University of Isfahan, Isfahan, Iran for automatic multi-agent system code generation from an emergency response environment model. For executing the generated code, an extension of JAMDER platform is also provided. To evaluate our framework, several case studies including the Victorian bushfire disaster are modeled to show the ability of the framework in modeling real-world situations and automatic transformation of the model into the code. Keywords Domain-specific modeling language · Emergency response environment · Multi-agent system · Model-driven development · ERE-ML · Model to code transformation 1 Introduction Because of the increasing occurrences of unexpected events and the need for pre-crisis planning to reduce risks and losses, emergency response units try to make the best of facilities to minimize damage. In such situations, crisis managers play an important role in reducing losses by organizing teams and assigning tasks to members based on available resources and expertise. Modeling and simulation are one of the methods that can be used by crisis managers for better team organi- zation, task assignment, and task performance by organized teams. The results of the simulations can be used to improve effectiveness of operations and responses during a crisis. As emergency response environments (ERE) are dynamic and complex environments, simulating the interactions and behavior of their included entities is difficult and compli- cated. To overcome this complexity, the use of modern software engineering approaches, such as agent-oriented software engineering (AOSE) and model-driven develop- ment (MDD), may be helpful. These approaches help designers overcome the complexity of highly interactive 123