SM@RT: Applying Architecture-Based Runtime Management into Internetware Systems

Architecture-based runtime management (ARM) is a promising approach for Internetware systems. The key enablement of ARM is runtime architecture infrastructure (RAI) that maintains the causal connection between runtime systems and architectural models. An RAI is uneasy to implement and, more importantly, specific to the given system and model. In this paper, we propose a model-driven approach for automated generation of RAI implementation. Developers only need to define three MOF models for their preferred architecture model and the target system (these models are reusable independently for different pairs of the model and system), and one QVT transformation for the causal connection. Our Eclipse-based toolset, called SM@RT, will automatically generate the RAI implementation code without any modification on the source code of the target system, and automatically and properly deploy the generated RAI into the dis- tributed systems. This approach is experimented on several runtime systems and architec- tural models, including ABC architectural models on Eclipse GUI and Android, C2 arc- hitectural models on JOnAS, Rainbow C/S style on PLASTIC and UML models on PO-

[1]  Peyman Oreizy,et al.  Architecture-based runtime software evolution , 1998, Proceedings of the 20th International Conference on Software Engineering.

[2]  Peyman Oreizy,et al.  Runtime software adaptation: framework, approaches, and styles , 2008, ICSE Companion '08.

[3]  Gang Huang,et al.  Runtime recovery and manipulation of software architecture of component-based systems , 2006, Automated Software Engineering.

[4]  Huang Gang,et al.  Online approach to feature interaction problems in middleware based system , 2008 .

[5]  Perdita Stevens,et al.  Bidirectional model transformations in QVT: semantic issues and open questions , 2007, MODELS'07.

[6]  S. Sicard Using Components for Architecture-Based Management The Self-Repair case , 2007 .

[7]  Bradley R. Schmerl,et al.  Rainbow: architecture-based self-adaptation with reusable infrastructure , 2004, International Conference on Autonomic Computing, 2004. Proceedings..

[8]  Haiyan Zhao,et al.  Supporting automatic model inconsistency fixing , 2009, ESEC/SIGSOFT FSE.

[9]  David Garlan,et al.  Rainbow: architecture-based self-adaptation with reusable infrastructure , 2004 .

[10]  Benjamin C. Pierce,et al.  Combinators for bi-directional tree transformations: a linguistic approach to the view update problem , 2005, POPL '05.

[11]  Michal Antkiewicz,et al.  Framework-Specific modeling languages with round-trip engineering , 2006, MoDELS'06.

[12]  Ivan Porres,et al.  Difference and Union of Models , 2003, UML.

[13]  Gordon S. Blair,et al.  Summary of the workshop models@run.time at MoDELS 2006 , 2006, MoDELS'06.

[14]  Jürgen Dingel,et al.  A survey of self-management in dynamic software architecture specifications , 2004, WOSS '04.

[15]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[16]  Hong Yan,et al.  Discovering Architectures from Running Systems , 2006, IEEE Transactions on Software Engineering.

[17]  Gordon S. Blair,et al.  An architecture for next generation middleware , 2009 .

[18]  Thierry Coupaye,et al.  An Open Component Model and Its Support in Java , 2004, CBSE.

[19]  Bernhard Rumpe,et al.  Model-driven Development of Complex Software : A Research Roadmap , 2007 .

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

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

[22]  Jeff Magee,et al.  The Evolving Philosophers Problem: Dynamic Change Management , 1990, IEEE Trans. Software Eng..

[23]  Holger Giese,et al.  Incremental model synchronization with triple graph grammars , 2006, MoDELS'06.