An Object-Oriented Framework for Designing Reusable and Maintainable DEVS Models using Design Patterns
This work addresses incremental improvements for simulation model designers in the DEVS community by providing guidelines to make models more reusable and maintainable.
The paper tackles the problem of reusability and maintainability in DEVS simulation models by proposing a set of design patterns, aiming to enhance code reuse and extensibility for designers.
Design patterns are well practices to share software development experiences. These patterns allow enhancing reusability, readability and maintainability of architecture and code of software applications. As simulation applies computerized models to produce traces in order to obtain results and conclusions, designers of simulation explored design patterns to make the simulation code more reusable, more readable and easy to maintain, in addition to design complex software oriented simulation modeling. In DEVS (Discrete Event System specification), the designers have successfully designed simulations, frameworks, tools, etc. However, some issues remain still open and should be explored like how a piece of code that implements a set of states, events and transitions may be reused to design a new DEVS model? How may a DEVS model be extended to a new formalism? Etc. In this paper, we address these issues and we propose a set of patterns that may serve as guidelines to designers of DEVS models and its extensions and may contribute to the design of an operational simulation framework. These patterns are inspired partly by the available designs of DEVS community and software engineering developers.