Towards a Unifying Framework for Engineering Devs Distributions Simulation
Simulation engineering employs the use of simulation models, simulation environments, and simulation execution platforms in providing applicable Modeling and Simulation (M&S) solutions for studying complex systems. Discrete Events Systems Specification (DEVS), a well-known formalism, offers a framework that separates simulation model specifications from simulation environments and adapts well to distributed simulation engineering. Over the years, there are noticeable progresses made in using DEVS to 1) describe models for different systems, 2) implement simulation environments, and 3) describe execution on parallel/distributed platforms. Adopting DEVS as a solution for distributed simulation engineering poses an important challenge in terms of how to manage the migration of models, simulation engines, or platforms in the event of an unforeseen change in requirement. Consequently, it is necessary to devise techniques to systematically support these migrations. A variety of DEVS environments have been implemented without a standard developmental guideline across board consequently revealing the need of central frameworks for integrating heterogeneous DEVS simulators. There are salient concepts that are intuitively defined when implementing a DEVS simulator, for example, how should events be processed, what simulation platform to use, what existing procedures (set of rules/algorithm) can be used, what should be the organizational architecture and so on. However, defining these concepts further reveals the lack of a systematic and quantifiable approach that can guide the DEVS simulator development process. In order to address the identified issues, this research proposes two major contributions. First is a conceptual and formalized guide that models the process of building a DEVS implementation strategy. From a review of existing implementation approaches, we propose a taxonomy of the identified concepts, including some formal definitions as they constitute the essential building blocks. This contribution offers abstract way for integrating heterogeneous DEVS implementation strategies and thus can serve as a contribution to the on-going DEVS standardization efforts. The second contribution is, Model-Driven Distributed Simulation Engineering Framework (MD2SEF), a multi-layered framework that vii supports the systematic and agile engineering of DEVS distributed simulations by allowing to conceptually represent DEVS models, specify DEVS simulation environment, define the execution platform, integrate simulation components, and automate the generation of distributed codes.