Towards a Software Engineering Approach to Multi-Scale Modeling and Simulation

M. Maouche, M. Bettaz
2016 International Journal of Software Engineering and Its Applications  
In this work we propose a development methodology aiming to bridge the gap between approaches used by (e)-science communities to develop their modeling frameworks, and model driven engineering approaches used to develop modeling frameworks with similar complexity. The proposed methodology relies on a sound integration of UML-MARTE, CSP-OZ, and PyCSP. We show, in this paper, how to exploit this similarity to bridge the gap between both approaches. A first contribution of this paper consists in
more » ... oposing a sound software development methodology for the construction of critical reactive systems in general and multi-scale simulation frameworks in particular. A second contribution consists in adding a new sub-profile for MARTE, the so-called SSRM (Specific Software Resource Model), dedicated to the modeling of multi-scale simulation frameworks. MUSCLE [9], a recent distributed multi-scale simulation framework, serves as a case study in this work. The proposed SSRM sub-profile is intended to define specific software resources that capture a subset of MUSCLE core concepts. A third contribution consists in sketching a formal semantic framework for our software development methodology aiming at ensuring a sound integration (from a semantic point of view) of UML-MARTE, CSP-OZ and PyCSP. Our objective in this work is to set a software development methodology, integrating model driven engineering and formal development, and targeting the development of distributed simulation systems in particular and reactive systems in general. The main contribution of this paper consists in showing the applicability of our methodology to the development of multi-scale simulation frameworks. The rest of the paper is organized as follows: Section 2 presents an overview of the proposed software development methodology while Section 3 outlines the related works. In Section 4 we introduce the core concepts of MUSCLE, a recent multi-scale modeling/simulation framework. Section 5 details how our software development methodology is applied in the context of MUSCLE, and also how some MUSCLE core concepts are modelled using MARTE profile. The semantic issues related to our software development methodology are sketched in Section 6, and finally some conclusions and future works are given in the Section 7.
doi:10.14257/ijseia.2016.10.11.18 fatcat:2swrw2otnrdyrikvt6j4adq3ze