Complexity

Volume 2018, Article ID 3751917, 19 pages

https://doi.org/10.1155/2018/3751917

## multiPDEVS: A Parallel Multicomponent System Specification Formalism

^{1}CNRS UMR SPE 6134, Université de Corse, 2050 Corte, France^{2}CNRS, LAAS, Université de Toulouse, UPS, INSA, INP, ISAE, LAAS, 31077 Toulouse, France^{3}RTSync Corp, 12500 Park Potomac Ave., Potomac, MD, USA

Correspondence should be addressed to Romain Franceschini; rf.esroc-vinu@inihcsecnarf.r

Received 29 September 2017; Accepted 12 February 2018; Published 27 March 2018

Academic Editor: Peter Giesl

Copyright © 2018 Damien Foures et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### Abstract

Based on multiDEVS formalism, we introduce multiPDEVS, a parallel and nonmodular formalism for discrete event system specification. This formalism provides combined advantages of PDEVS and multiDEVS approaches, such as excellent simulation capabilities for simultaneously scheduled events and components able to influence each other using exclusively their state transitions. We next show the soundness of the formalism by giving a construction showing that any multiPDEVS model is equivalent to a PDEVS atomic model. We then present the simulation procedure associated, usually called* abstract simulator*. As a well-adapted formalism to express cellular automata, we finally propose to compare an implementation of multiPDEVS formalism with a more classical Cell-DEVS implementation through a fire spread application.

#### 1. Introduction

An important concept of general system theory is that of decomposition, which allows a system to be broken down into smaller subsystems to tackle its complexity, following a top-down approach. Conversely, interacting components may be coupled together resulting in a larger system following a bottom-up approach [1].

Zeigler et al. [2] introduced the Theory of Modeling and Simulation (TMS), based on general system theory. Besides a framework which offers a precise description of the various entities involved in the modeling and simulation process, TMS provides a specification language for the modeling step called discrete event system specification commonly known as DEVS. DEVS handles well modular and nonmodular composition. With DEVS, modular systems interact through I/O ports, whereas nonmodular ones influence each other directly. While the former yields higher level of specification since it allows hierarchical construction, the latter remains interesting when modeling complex systems from bottom-up.

In order to facilitate even more the modeling process TMS has saw emergence of multiple DEVS-based formalism. Most of them have been established for a modular and hierarchical approach, such as FD-DEVS for model with finite state space [3], Cell-DEVS for cellular automata [4], RT-DEVS for real-time modeling [5], and ST-DEVS for stochastic modeling [6]. For nonmodular approach, Zeigler et al. introduced another DEVS-based formalism, named multiDEVS [2].

Despite good extensibility properties, classic DEVS formalism has its own limitations. As with all other event scheduling approaches, it is up to the modeler to understand interactions between models and manage collisions that can occur between events. Consequently, the behavior of the model can easily deviate from the expected one if such collisions are not properly managed [7]. This issue prompted Chow and Zeigler to propose PDEVS, which includes entities dedicated to event collision handling, but only for the modular approach.

In this context, we propose a new formalism bringing effective management of event conflicts as was initially proposed within PDEVS, combined with the multiDEVS modeling approach. We propose a construction of equivalence with the PDEVS formalism and provide the associated abstract simulator. We call this formalism multiPDEVS.

multiPDEVS was initially created for a specific work, where an existing set of PDEVS models had to be coupled with nonmodular approach. However, this paper is fully dedicated to the formalism itself, and a simple example to help each knowledge level, from beginner to the expert in DEVS formalisms. This formalism is well adapted to problem classes similar to cellular automata [9, 10] and could be used in problems such as circulation management, robot path planning, physical propagation, or crowd modeling. Unlike specialized formalisms such as Cell-DEVS [4] where functions and structures are integrated to facilitate the specification process (e.g., the delay function of Cell-DEVS formalism), multiPDEVS does not integrate such specificities, which means that multiPDEVS is intended to be more generic and could be adapted to other classes of problems.

The next section gives a review of the PDEVS and multiDEVS formalisms where limitations and advantages of such formalisms are discussed. Section 2 presents recent applications of the multicomponent approach. Then, a third section gives a detailed description of the multiPDEVS formalism. Section 4 describes an example to illustrate the use of the formalism. Section 5 gives a clear overview of pros and cons of multiPDEVS from a modeling perspective, but also from a simulation perspective. The last section gives conclusions and perspectives.

#### 2. Related Works

As far as we know, there are few works which explicitly use the multiDEVS formalism despite decades of existence [2].

We can cite Innocenti et al. [11] and Muzy et al. [12] where the nonmodular multicomponent is explicitly used. Based on multiDTSS (multicomponent Discrete Time System Specification) [2], the authors extend this formalism with the* Active* function* (AmultiDTSS)* to focus on activated cells of cellular forest fire propagation models in order to increase simulation performances. They agree that a nonmodular multicomponent based approach helps in reducing modeling and simulation complexity for cellular systems compared to a conventional modular approach as proposed by the DEVS formalism. Indeed, the feature of influencer/influencee offered by the multicomponent approach allows avoiding many messages exchanges, which permits increasing the simulation speed.

We can observe an equivalent message reduction principle within the flattening process of DEVS models where simulation speed improvement has been studied [13–15]. However, the flattening process must be clearly distinguished from multicomponent modeling. The flattening process of PDEVS model can be considered as a modeling* transformation*, where multicomponent approach must be considered as a modeling* process*. As given by Chen and Vangheluwe [16], the flattening of DEVS model consists of two steps:* direct connection* step where the coupled model is transformed to a coupled model of depth one, and* flattening* step where the coupled model of depth one is transformed in an atomic model, for the sole purpose of improving simulation performance. As we will see in detail subsequently, multiPDEVS is dedicated to nonmodular modeling process.

As introduced in the previous section, we believe that the multiDEVS formalism as initially proposed does not allow proper management of conflicts. Recent works of Shiginah and Zeigler [17] confirm our idea that the multicomponent approach is an interesting modeling approach but is somewhat neglected due to lack of efficient conflict management system. The authors offer a new specification for cellular DEVS models to increase performances of cell space simulations [17]. As a perspective, the authors recall an alternative consisting in the modification of multiDEVS, such that it becomes equivalent to the PDEVS formalism.

In this section, we make a review of necessary background, namely, multiDEVS formalism and PDEVS formalism as introduced by Zeigler et al. [2]. We also briefly introduce the new version of CellSpace DEVS formalism as proposed by Shiginah and Zeigler [17] to give the opportunity to the reader to understand the advantages of both formalisms.

##### 2.1. The Original Multicomponent DEVS Formalism

There are two types of DEVS models, atomic and coupled. An atomic model describes the behavior of a system, while a coupled model describes a system as a network of components coupled together. These models are in the modular form, which means their interactions are restricted to happen through identified ports whose connection is preestablished. The multiDEVS formalism, which is based on classic DEVS, introduces a nonmodular way to couple components together where components can interact with each other by accessing and influencing other components states directly via state transition functions. As an illustration, we can take the cellular automaton example as proposed by Muzy et al. [12]:

In a non-modular cellular automaton, simple neighboring rules can be implemented for every cell as: If my neighboring cell is alive, then I become alive. In a modular cellular automaton, the specification is different. It would be: If the message received from my neighboring cell indicates that it is alive, then I become alive.

For readers already acquainted with classic DEVS mechanism (but not necessarily with multicomponent approach), we should warn that the multiDEVS formalism can look forbidding at a first look.

In a multicomponent system, a component has its own set of states and state transition functions. Each component also has a set of* influencers* components from which it may be influenced and a set of* influencees* that it may influence through its state transition functions. Those interacting components form the overall system. An input to the system may influence all components and each component may contribute to the output of the system. Components are not considered stand-alone system specifications since they are devoid of an input and output interface.

In the hierarchy of system specifications, the multicomponent system specification lies in a lower level compared to a modular coupled network of systems such as a DEVS coupled model. Although both specifications allow the composition of interacting components to form a new system, components in the former are coupled nonmodularly since they influence each other directly, while, in a coupled network of systems, components modularly interact only through their I/O interfaces. If a modular approach is considered a more abstract level of specification, particular models of systems may be more suitable to be described in a nonmodular way. Systems such as cellular automata, individual-based models, or some kinds of multiagent systems environments (cellular models) might be good examples. In contrast, systems with structural constraints that may be encountered in systems engineering will be best modeled using a modular compositional approach. We should emphasize that both approaches may exist within the same modeled system. Indeed, a multicomponent DEVS system can be coupled together with other DEVS models. Another advantage of using multicomponent DEVS is that since components do not interact through I/O interfaces, the implementation cost of message routing is reduced leading to better performances [13, 14].

Figure 1 illustrates this principle with a simple case using three components: . In this example, , , and will have the opportunity to directly change the state of through its own state transition functions (, , and are considered as the set of influencers of ). Notice that there is no reciprocity between influencers and influencees. That means it is essential to make the distinction between them. Let us consider the relation between and (Figure 1). declares as an influencer whereas does not mention as one of these possible influencees. This means that can consult states to take decisions, but is not able to directly change the state of . Note that components could have direct interactions with interfaces of the system () through specific functions (see and in following paragraph).