Quantitatively assessing the benefits of model-driven development in agent-based modeling and simulation

https://doi.org/10.1016/j.simpat.2020.102126Get rights and content

Abstract

The agent-based modeling and simulation (ABMS) paradigm has been used to analyze, reproduce, and predict phenomena related to many application areas. Although there are many agent-based platforms that support simulation development, they rely on programming languages that require extensive programming knowledge. Model-driven development (MDD) has been explored to facilitate simulation modeling, by means of high-level modeling languages that provide reusable building blocks that hide computational complexity, and code generation. However, there is still limited knowledge of how MDD approaches to ABMS contribute to increasing development productivity and quality. We thus in this paper present an empirical study that quantitatively compares the use of MDD and ABMS platforms mainly in terms of effort and developer mistakes. Our evaluation was performed using MDD4ABMS—an MDD approach with a core and extensions to two application areas, one of which developed for this study—and NetLogo, a widely used platform. The obtained results show that MDD4ABMS requires less effort to develop simulations with similar (sometimes better) design quality than NetLogo, giving evidence of the benefits that MDD can provide to ABMS.

Introduction

Agent-based simulations have been widely used to understand the emergent behavior of complex systems. These systems are composed of multiple entities, or agents, which can interact with each other and are situated in an environment that they can perceive and modify through their actions. Building agent-based simulations is a challenging task that has been widely investigated in the context of agent-based modeling and simulation (ABMS), a simulation paradigm that uses autonomous agents and multiagent systems to reproduce and explore a phenomenon under investigation. The ABMS paradigm has been used in many application areas, such as traffic, ecology, economics, and epidemiology [36]. According to Macal and North [36], ABMS is selected as the simulation paradigm in such areas because it can explicitly incorporate the complexity arising from individual behavior and interactions that exist in real settings. Agents can furthermore be endowed with learning or evolutionary capabilities to adapt to changes in themselves or the environment. Artificial intelligence techniques that provide such capabilities are well established and can be incorporated into agents leading to more realistic simulations [33].

Many alternatives have been proposed for easing the development of agent-based simulations. Platforms, such as NetLogo [61] and Repast [41], have been widely used because they provide programming environments that offer language constructs to explicitly represent agents and their interactions, the environment as well as the creation and initialization of entities and agents. These platforms, however, demand previous expertise in ABMS and programming. Researchers have already argued about the importance of providing alternatives for modeling and creating agent-based simulations by means of building blocks at a higher abstraction level [25], [33], [59]. Such approaches would potentially decrease the development time and effort to build agent-based simulations.

Approaches towards this direction have been built upon the fundamentals of model-driven development (MDD) [4], [50], a software development approach in which models are considered first-class citizens and the development is driven by modeling artifacts [54]. These models are used to (semi-)automatically generate the source code of software systems and thus play a leading role in the development process. Previous work on the use of MDD in industry showed that MDD approaches can increase productivity by a 5–10x factor [56] and that the productivity increases because the modeling effort is focused on domain concerns instead of programming statements [53].

An MDD approach is composed of a domain-specific language (DSL) and model transformations for code generation [50]. The former allows effectively expressing domain concepts, while the latter introduces automation. A DSL is a modeling or programming language designed for a particular domain that trades generality for expressiveness. DSLs provide high-level, off-the-shelf, abstractions for business-related concepts and processes. By doing so, MDD approaches raise the abstraction level of models, allowing developers to refer to the desired functionality of the system instead of the details related to its development and deployment [8]. As noted by Stahl et al. [54], abstraction in MDD models does not mean vagueness, but compactness and reduction to the essence.

Despite qualitative arguments that motivate the use of MDD in ABMS, there is a need for concrete evidence that it in fact promotes its assumed benefits, i.e. by raising the level of ABMS by means of domain-specific abstractions, there is an increase in productivity. Previous studies provide examples of use [19], [21], [23], [34], [42], evaluation of comprehension [48] and comparison of software size as an estimation of effort [49]. Nevertheless, there is a lack of an assessment of the development effort and quality involving development tasks performed by simulation developers.

In response, we in this paper present an empirical study to quantitatively assess the benefits promoted by MDD in ABMS. More specifically, we take an existing approach in this context, namely MDD4ABMS [47], [48], and compare it with NetLogo, a widely used agent-based simulation platform. We selected MDD4ABMS because it not only provides common ABMS concepts as part of its graphical domain-specific language but also has an extension that includes concepts specific to an application area [49], which is adaptive traffic signal control. This approach thus effectively exploits the trade-off between expressivity and generality that is made in MDD [54]. In order to generalize our results to other domains, we provide a novel extension of MDD4ABMS, focusing on an alternative application area, the spread of diseases. Our empirical study consists of a comparison between MDD4ABMS and NetLogo when they are used by developers to build agent-based simulations in these two application areas. We collected data associated with the design quality of developed simulations and time spent to develop them. We also made a subjective evaluation of the two development approaches by means of questionnaire answered by participants. The obtained results show that MDD4ABMS requires less effort to develop simulations with similar (sometimes better) design quality than NetLogo, giving evidence of the benefits that MDD can provide to ABMS.

Our contributions thus are: (i) an extension of the MDD4ABMS approach, targeting the application area of spread of diseases; (ii) a study protocol to evaluate MDD approaches for ABMS; and (iii) an empirical study that compares MDD4ABMS and NetLogo in two application areas.

Section snippets

Related work

Previous work on the use of MDD showed that it brings benefits to the development of general software systems in different domains, such as automotive manufacturing, mobile devices and internet of things, telecommunications, and military [53], [57], [58]. Tolvanen and Kelly [57] investigated the development and use of MDD approaches in a variety of domains and concluded that the investment required to create complete MDD solutions is modest when appropriated toolkits are used. The effort

MDD4ABMS and extensions

MDD4ABMS [47], [48] is a model-driven approach that supports the specification of agent-based simulation aspects. MDD4ABMS is built upon a core metamodel that abstracts recurrent concepts used when developing agent-based simulations. Extensions to the core metamodel are available to incorporate additional, domain-specific, aspects. The MDD4ABMS approach also provides both a domain-specific modeling language and a modeling tool.

An amount of effort was required to build the MDD4ABMS approach and

Study settings

Given that we introduced the main object of study of our empirical evaluation (existing and novel extensions), we now detail our study design and its participants to compare MDD4ABMS and Netlogo.

Results and discussion

The results obtained by following the described procedure are presented and discussed next. The presentation is organized into three subsections, one for each research question. Finally, we point out threats to the validity of our study and how we mitigated them.

Conclusion

Model-driven approaches have been proposed to ease agent-based simulation development and increase productivity. However, existing approaches lack empirical evaluations of how they improve the development of simulations based on available platforms. Such evaluations must be conducted with humans to show concrete evidence of the benefits promoted by model-driven approaches.

In this paper, we conducted an empirical study to investigate the benefits provided by the MDD4ABMS model-driven approach,

Acknowledgments

This study was financed in part by the Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - Brasil (CAPES) - Finance Code 001. Ingrid Nunes would like to thank CNPq for grants ref. 428157/2018-1 and 313357/2018-8.

References (62)

  • C. Atkinson et al.

    Model-driven development: a metamodeling foundation

    IEEE Softw.

    (2003)
  • V. Basili et al.

    Experimentation in software engineering

    IEEE Trans. Softw. Eng.

    (1986)
  • B. Bauer et al.

    Agent UML: a formalism for specifying multiagent software systems

    Int. J. Softw. Eng. Knowl. Eng.

    (2001)
  • S. Beydeda, M. Book, V. Gruhn (Eds.), Model-Driven Software Development, Springer, Berlim,...
  • P. Bocciarelli et al.

    Model-driven method to enable simulation-based analysis of complex systems

  • P. Bocciarelli et al.

    A model-driven method for building distributed simulation systems from business process models

    Proceedings of the Winter Simulation Conference

    (2012)
  • J.R. Celaya et al.

    Modeling and analysis of multi-agent systems using petri nets

    2007 IEEE International Conference on Systems, Man and Cybernetics

    (2007)
  • D. Çetinkaya et al.

    Model-driven engineering and its application in modeling and simulation

  • D. Çetinkaya et al.

    BPMN to DEVS: application of MDD4MS framework in discrete event simulation

  • M. Challenger et al.

    A systematic approach to evaluating domain-specific modeling language environments for multi-agent systems

    Softw. Qual. J.

    (2015)
  • S.A. DeLoach

    O-mase: an extensible methodology for multi-agent systems

    Agent-Oriented Software Engineering: Reflections on Architectures, Methodologies, Languages, and Frameworks

    (2014)
  • J.N. Duarte et al.

    ODiM: a model-driven approach to agent-based simulation

    Proceedings of the 23rd European Conference on Modelling and Simulation

    (2009)
  • A. Garro et al.

    A process based on the model-driven architecture to enable the definition of platform-independent simulation models

  • A. Ghorbani et al.

    MAIA: A framework for developing agent-based social simulations

    J. Artif. Soc. Soc. Simul.

    (2013)
  • I. Gnilomedov et al.

    Agent-based economic modeling with finite state machines

    Proceedings of the International Symposium on Social Network Analysis and Norms for MAS

    (2010)
  • J.J. Gómez-Sanz et al.

    Model driven development and simulations with the INGENIAS agent framework

    Simulation Modelling Practice and Theory

    (2010)
  • L. Hamill

    Agent-based modelling: the next 15 years

    J. Arti. Soc. Soc.Simul.

    (2010)
  • J. Hoffert et al.

    Productivity analysis of the distributed QoS modeling language

  • J. Hutchinson et al.

    Model-driven engineering practices in industry

    Proceedings of the 33rd International Conference on Software Engineering ICSE ’11

    (2011)
  • T. Iba et al.

    From conceptual models to simulation models: Model driven development of agent-based simulations

    Proceedings of the 9th Workshop on Economics and Heterogeneous Interacting Agents

    (2004)
  • D. Isern et al.

    A systematic literature review of agents applied in healthcare

    J. Med. Syst.

    (2015)
  • Cited by (11)

    • Applying a model-driven approach to the development of power plant SCADA/EMS software

      2023, International Journal of Electrical Power and Energy Systems
    • Secure Agent-Oriented Modelling with Web-based Security Application Development

      2024, International Journal on Informatics Visualization
    View all citing articles on Scopus
    View full text