Combining PDEVS and Modelica for describing agent-based models. (May 2023) - Sanz, Victorino; Urquia, Alfonso
Modelica is a general-purpose modeling language mainly designed to facilitate the development, reusability and exchange of models. It represents the state-of-the-art in equation-based modeling of continuous-time systems. Modelica libraries facilitate the description of multi-formalism and multi-domain models. However, the description of agent-based models (ABMs) in Modelica is not currently supported, mainly due to the characteristics of the language and its simulation algorithm. The combination of ABMs with continuous-time equations provides a powerful tool for describing and analyzing complex systems. An approach for describing ABMs using the Modelica language is presented in this manuscript, with the objective of facilitating the combination of ABMs with the rest of Modelica functionality. Agent behavior is described using a process-oriented modeling approach. Agents are described as individual entities that move across a flowchart diagram, that represents the processes that agents undergo. Processes are formally described using the Parallel DEVS formalism, extended to describe the interface with other Modelica models. The environment where agents interact is described as a cellular automaton. This approach has been implemented in a free Modelica library, named ABMLib. Three case studies are discussed to illustrate the modeling functionality of the library and its combination with other models: a basic traffic model, a sheep–wolves predator–prey model and a consumer market model.