PEABS: A Process for developing Efficient Agent-Based Simulators
Introduction
In the latest years, simulation of human behavior in different environments has been an important field of research (Conte et al., 1998). The simulation׳s main focus is to obtain a system as close as possible to the real world, nevertheless, obtaining efficient simulators is also important to minimize computer resource consumption in complex simulations.
Multi-agent Systems (MASs) have been commonly used for implementing simulators in which several individuals or components perform actions, because of their capability to model interactions and autonomy. MASs can be built using Agent-Oriented Software Engineering (AOSE) methodologies. However, as asserted by Molesini et al. (2013), there is still a gap between AOSE methodologies and the construction of Agent-Based Simulators (ABSs).
In the one hand, there are several works aimed at defining processes or ways of constructing ABSs such as the ELDAMeth methodology (Fortino and Russo, 2012) among others. However, these works do not pay attention to efficiency of such systems. On the other hand, the works related to the efficiency of ABSs such as the one of Sarraf Shirazi et al. (2014) do not define whole development processes. Thus, to the best of authors׳ knowledge, there is not any previous work that is devoted to the definition of a development process specially aimed at constructing efficient ABSs.
The main goal of the current work is to present an AOSE process for developing ABSs, called PEABS (Process for developing Efficient Agent-Based Simulators). This process specially pursues the efficiency of ABSs in their execution, particularly considering the execution time of simulations and their memory usage. This process covers from the requirements elicitation of the system to its final deployment and provides a formal definition of how to construct this kind of systems. The process has been formalized with the Software & Systems Process Engineering Metamodel (SPEM) following the recommendations of the Foundation of Intelligent Physical Agents (FIPA) (Cossentino et al., 2014). The current proposal, PEABS, is defined as an extension of the Unified Development Process (UDP) for Ingenias introduced in Gómez-Rodríguez et al. (2014). Roughly speaking, PEABS is the result of a simplification of that process and the intensification of aspects related to simulation necessities.
The proposal relies on the general idea, broadly accepted in software engineering, that the quality of the final product is influenced by the process followed to construct it (Coleman and OConnor, 2008). So that, defining a process to construct a simulator may result in a better final simulator.
In order to prove the suitability of the process for constructing simulators, PEABS has been used for developing an ABS for Tourist Urban Routes (ABSTUR), which simulates large amounts of tourists selecting routes of the historic center of Madrid. In fact, three implementations of ABSTUR have been constructed, two of them were developed with PEABS, one with Java programming language and the other with Erlang programming language, the third one is built using the process of Di Stefano and Santoro (2005) and Erlang. In a similar way, three different implementations were developed for an ABS for student SOCIograms (ABS-SOCI). All these implementations were used as the basis for the evaluation.
The remainder of this paper is organized as follows. The next section discusses the related works, while Section 3 describes PEABS. As a case study, Section 4 presents two versions of ABSTUR that were developed following PEABS (using separately Java and Erlang programming languages), and the third version developed with another process for the later comparison. Section 5 compares the three implementations of ABSTUR and the three implementations of ABS-SOCI (briefly introduced in Appendix A), taking development time, execution time, memory usage and usability into account. Finally, Section 6 addresses the conclusions and discusses future lines of research.
Section snippets
Related work
MASs and social simulation are complementary fields, thus each one can benefit from results that emerge from the other (Conte et al., 1998). The most relevant works related to the intersection between simulators and AOSE are the Ingenias Agent Framework (IAF) adapted for simulations (Gómez-Sanz et al., 2010), the ELDAMeth methodology (Fortino and Russo, 2012), and the extension of SODA presented in Molesini et al. (2013). The IAF adaptation (Gómez-Sanz et al., 2010) generates ABSs following a
PEABS: a process for developing ABSs
As stated before, this paper proposes a process for the development of efficient ABSs and defines such process using the standard for the definition of processes approved by FIPA and detailed in Cossentino et al. (2014). The use of the standard facilitates process understanding and usually implies a complete definition of the whole process followed.
The global simulation process is iterative, so that it has been defined as composed of a unique iterative phase. This iterative phase, which has
Case study: a tourism simulator for Madrid routes
The current work has been tested by developing ABSTUR, which simulates tourists selecting routes in the historic center of Madrid. The same specifications of ABSTUR have been provided to several developers, and they have been asked to develop systems with these specifications following different processes. First, ABSTUR has been developed with PEABS as a case study of the current work, using Java as the programming language, which is the original language PEABS was intended for. Then, ABSTUR
Evaluation
This section uses two ABSs for evaluating the current approach. The first one is ABSTUR, which has been introduced in the previous section. The second one is ABS-SOCI, which is briefly introduced in Appendix A. This evaluation uses three implementations of each ABS. In addition, all the data presented in this section has been obtained executing the final software of implementations on the same hardware in order to obtain comparable data.
Besides the general overview provided in the previous
Conclusions and future work
On the whole, this paper has presented PEABS, an AOSE process for developing efficient ABS implementations. It uses the language of the Ingenias methodology for modeling the specification and designing its structure. It applies an adaptation framework that makes ABS implementations especially efficient, allowing engineers to obtain simulations with a high efficiency for large amounts of data. As a proof of concept, this work introduces an ABS that followed the present process in the context of
Acknowledgment
This work is supported by the project Los Sistemas de Información Turística como herramientas tecnológicas para incrementar la operatividad turística de los itinerarios culturales urbanos: El centro histórico de Madrid como proyecto piloto (SIT-MAD) funded by the Hergar Foundation with Grant FH-2012-03. In addition, we acknowledge the Fondo Social Europeo and the Departamento de Industria e Innovación del Gobierno de Aragón for their support.
References (20)
- et al.
Investigating software process in practicea grounded theory perspective
J. Syst. Softw.
(2008) - et al.
A decade of agile methodologiestowards explaining agile software development
J. Syst. Softw.
(2012) - et al.
Eldamethan agent-oriented methodology for simulation-based prototyping of distributed agent systems
Inf. Softw. Technol.
(2012) Towards the integration of the agent-oriented modeling diversity with a powertype-based language
Comput. Stand. Interfaces
(2014)ABSTUR: an agent-based simulator for tourist urban routes
Expert Syst. Appl.
(2015)- et al.
Model driven development and simulations with the INGENIAS agent framework
Simul. Model. Pract. Theory
(2010) - et al.
Simulation in agent-oriented software engineering: the SODA case study
Sci. Comput. Program.
(2013) - et al.
Adaptive agent abstractions to speed up spatial agent-based simulations
Simul. Model. Pract. Theory
(2014) Survey of Agent Based Modelling and Simulation Tools
Science & Technology Facilities Council,
(2010)- et al.
Developing multi-agent systems with JADE
(2001)
Cited by (28)
ABS-MindBurnout: An agent-based simulator of the effects of mindfulness-based interventions on job burnout
2019, Journal of Computational ScienceCitation Excerpt :This formula was inspired by the formula formally denoted as Δk(x) in TABSAOND and referred as “calculation of variation as portion to the limits”, and was adapted for producing realistic results in this domain, in which the repercussions were quite different from one subscale to another. The presented ABS was developed using the Process for developing Efficient Agent-Based Simulators (PEABS) [42]. The implementation uses the Unity cross-platform engine in order to obtain a usable interface and to be able to deploy the simulator as both as a mobile app and as a desktop application in the main operative systems, like one can observe in some recent serious games applications [43].
Security in networks of unmanned aerial vehicles for surveillance with an agent-based approach inspired by the principles of blockchain
2019, Ad Hoc NetworksCitation Excerpt :This structure of modules was designed considering the common metrics for evaluating agent-oriented architectures [21] for reducing the coupling between modules and increasing the cohesion inside each of them. In addition, this ABS was developed considering the principles of PEABS (a process for developing efficient agent-based simulators) [22] for achieving efficient simulations. In the Setup methods, UAVs are initialized considering the number entered by the user.
ABSEM: An agent-based simulator of emotions in mindfulness programs
2017, Expert Systems with ApplicationsTABSAOND: A technique for developing agent-based simulation apps and online tools with nondeterministic decisions
2017, Simulation Modelling Practice and TheoryCitation Excerpt :In particular, the current work presents a Technique for developing Agent-Based Simulation Apps and Online tools with Nondeterministic Decisions (TABSAOND). It complements our previous proposal PEABS (a Process for developing Efficient ABSs) [12]. The main difference of the current work is that it now focuses on the design and implementation of the decision-making processes in nondeterministic scenarios.
Agent-based simulation of real-estate transactions
2017, Journal of Computational Science