A Domain Specific Modeling Language Supporting Specification, Simulation and Execution of Dynamic Adaptive Systems

Constructing and executing distributed systems that can automatically adapt to the dynamic changes of the environment are highly complex tasks. Non-trivial challenges include provisioning of efficient design time and run time representations, system validation to ensure safe adaptation of interdependent components, and scalable solutions to cope with the possible combinatorial explosions of adaptive system artifacts such as configurations, variant dependencies and adaptation rules. These are all challenges where current approaches offer only partial solutions. Furthermore, in current approaches the adaptation logic is typically specified at the code level, tightly coupled with the main system functionality, making it hard to control and maintain. This paper presents a domain specific modeling language (DSML) allowing specification of the adaptation logic at the model level, and separation of the adaptation logic from the main system functionality. It supports model-checking and design-time simulation for early validation of adaptation policies. The model level specifications are used to generate the adaptation logic. The DSML also provides indirection mechanisms to cope with combinatorial explosions of adaptive system artifacts. The proposed approach has been implemented and validated through case studies.

[1]  Brice Morin,et al.  Modeling and Validating Dynamic Adaptation , 2009, MoDELS.

[2]  John Keeney,et al.  Chisel: a policy-driven, context-aware, dynamic adaptation framework , 2003, Proceedings POLICY 2003. IEEE 4th International Workshop on Policies for Distributed Systems and Networks.

[3]  Mads Haahr,et al.  Techniques for Dynamic Adaptation of Mobile Services , 2006, The Handbook of Mobile Middleware.

[4]  Svein O. Hallsteinsen,et al.  Using product line techniques to build adaptive systems , 2006, 10th International Software Product Line Conference (SPLC'06).

[5]  Rajarshi Das,et al.  Achieving Self-Management via Utility Functions , 2007, IEEE Internet Computing.

[6]  Thierry Coupaye,et al.  A Safe Aspect-Oriented Programming Support for Component-Oriented Programming , 2006 .

[7]  B. Cheng,et al.  Specifying adaptation semantics , 2005, WADS@ICSE.

[8]  Jennifer Pérez,et al.  Dynamic Adaptation of Aspect-Oriented Components , 2007, CBSE.

[9]  Betty H. C. Cheng,et al.  Model-based development of dynamically adaptive software , 2006, ICSE.

[10]  Frank Eliassen,et al.  Using architecture models for runtime adaptability , 2006, IEEE Software.

[11]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[12]  Cecilia Mascolo,et al.  CARISMA: Context-Aware Reflective mIddleware System for Mobile Applications , 2003, IEEE Trans. Software Eng..

[13]  Gordon S. Blair,et al.  Genie , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[14]  Brice Morin,et al.  An Aspect-Oriented and Model-Driven Approach for Managing Dynamic Variability , 2008, MoDELS.

[15]  Thomas Ledoux,et al.  Safe Dynamic Reconfigurations of Fractal Architectures with FScript , 2006 .