Design and Development of a Dymola/Modelica Library for Discrete Event-oriented Systems Using DEVS Methodology

Description

DEVS is a modeling formalism for the mathematical description of discrete event-oriented systems, based on a re-interpretation of classical systems theory [1]. A system (model) has inputs and outputs; however, the DEVS system does not receive time-continuous signals through its inputs, but rather discrete event descriptions. Similarly, it also sends event descriptions to other systems (models) through its outputs.

The DEVS formalism is object-oriented, and lends itself to the description of complex systems by means of hierarchically structured models [2].

Although it has been evident for many years that the DEVS formalism may be employed in the simulation of continuous systems as well, it was demonstrated only quite recently that this approach indeed offers some advantages over traditional approaches that make use of classical numerical ODE solvers [3].

When a continuous system is being simulated using a digital computer, the problem must in any case be discretized, as digital computers are incapable of processing continuous signals directly. To this end, conventional approaches discretize the time axis, whereas they leave the state variables themselves continuous (i.e., real-valued). In contrast, the DEVS approach discretizes the state variables, whereas it leaves the time axis continuous.

An implementation of the DEVS formalism, that is particularly well suited for this type of applications, is PowerDEVS, coded in C++, software developed particularly for the simulation of continuous systems by means of the DEVS formalism [4].

A disadvantage of PowerDEVS may be, that all continuous signals must be discretized using the same (DEVS) approach. However, it may be of interest to discretize some subsystems using conventional approaches, whereas others are being discretized using the DEVS formalism.

To this end, it may be interesting to consider a re-implementation of PowerDEVS in a modeling and simulation environment that enables the software developer to combine various modeling approaches with each other flexibly and conveniently.

Dymola is a graphical object-oriented modeling environment, designed for modeling and simulation of physical systems [5]. The user interface of Dymola is highly flexible and enables the software developer to implement alternative modeling approaches elegantly and easily. For this reason, Dymola is very well suited for the proposed re-implementation of PowerDEVS.

Tasks to be tackled

The proposed research attempts a re-implementation of PowerDEVS [4] in Dymola [5].

Start with implementing the currently available PowerDEVS software on your computer, and simulate some applications that you can find in the references [3,4].

The PowerDEVS software consists of two completely separate parts. One part implements the DEVS formalism, whereas the other part supports the graphical user interface (GUI). In the re-implementation, only the former part must be considered, since Dymola already offers a highly flexible graphical user interface.

Re-implement the PowerDEVS interpretation of the DEVS formalism in the Dymola environment, using the alphanumerical programming language Modelica, that is built into Dymola [6].

It should be recognized that the simulation of continuous systems by means of the DEVS formalism can be re-interpreted as a traditional simulation using another integration algorithm. For this reason, it is justified to request that this new approach be integrated with the Dymola environment as seemlessly as possible. To this end, it may be useful to define an alternate der() operator - you could use for example the diff() operator, such that all you need to do when switching from the simulation of a model by means of any of the built-in integrators to a DEVS simulation, would be to replace the der() operator by the diff() operator. In the future, DEVS simulation could be introduced in a completely transparent way as an additional integration algorithm. However, this requires access to Dymola at a level that the standard user doesn't have access to. For this reason, the adaptation of Dymola to incorporate DEVS integration internally will have to be done by Dynasim at a later time. The quantization can be hidden behind the diff() operator, as we already know that every DEVS integrator must be quantized.

Simulate the same examples, that you had simulated earlier using the PowerDEVS software, once again, now using the new Dymola implementation, and verify that both software tools indeed generate identical resultats.

Program a higher-order model, requiring more than one integrator, and discretize a subset of the integrators by means of DEVS, whereas the remaining integrators are being discretized using conventional methods (e.g., DASSL), and verify that the mixed simulation works adequately.


References

  1. Zeigler, B.P. (1976), Theory of Modelling and Simulation, Wiley, New York.

  2. Concepción, A.I. and Zeigler, B.P. (1988), "DEVS Formalism: A Framework for Hierarchical Model Development," IEEE Trans Software Engineering, 14(2), pp. 228-241.

  3. Cellier, F.E. and E. Kofman (2005), Continuous System Simulation, Springer-Verlag, New York.

  4. Kofman, E., M. Lapadula, and E. Pagliero (2003), PowerDEVS: A DEVS-based Environment for Hybrid System Modeling and Simulation, Technical Report LSD0306, LSD, Universidad Nacional de Rosario, Argentina. Submitted to Simulation.

  5. Brück, D., H. Elmqvist, H. Olsson, S.E. Mattsson (2002), Dymola for Multi-Engineering Modeling and Simulation, Proc. 2nd International Modelica Conference, Oberpfaffenhofen, Germany, pp. 55:1-55:8.

  6. Tiller, M.M. (2001), Introduction to Physical Modeling with Modelica, Kluwer Academic Publishers, Boston.


Deutsche Version
Homepage


Last modified: September 11, 2005 -- -- © François Cellier