Runtime Models as Interfaces for Adapting Software Systems Seminar - - PowerPoint PPT Presentation
Runtime Models as Interfaces for Adapting Software Systems Seminar - - PowerPoint PPT Presentation
Runtime Models as Interfaces for Adapting Software Systems Seminar on Software Engineering for Self-Adaptive Systems Schloss Dagstuhl, October 24-29, 2010 Thomas Vogel System Analysis and Modeling Group Hasso Plattner Institute University of
Introduction
The term Model-Driven Engineering (MDE) is typically used to describe software development approaches in which abstract models
- f software systems are created and systematically transformed to
concrete implementations. . . . In our broad vision of MDE, models are not only the primary artifacts of development, they are also the primary means by which developers and other systems understand, interact with, configure and modify the runtime behavior of software.
[France and Rumpe, 2007]
- Runtime models as interfaces for adaptation
- Typical or new MDE concepts and techniques for self-adaptive
software systems (online vs. offline)
Thomas Vogel | Dagstuhl 10431 | October 24-29, 2010 2
One Runtime Model as an Interface
Sensors Effectors Managed Element Monitor Analyze Plan Execute Autonomic Manager Knowledge
[Kephart and Chess, 2003]
⇒
Monitor Analyze Plan Execute Autonomic Manager Sensors Effectors Managed Element Runtime Model Knowledge
Thomas Vogel | Dagstuhl 10431 | October 24-29, 2010 3
A Metamodel for a Runtime Model
Thomas Vogel | Dagstuhl 10431 | October 24-29, 2010 4
A Metamodel for a Runtime Model
Thomas Vogel | Dagstuhl 10431 | October 24-29, 2010 4
simplified
Abstract Runtime Models
complex detailed multiple concerns platform-specific solution space
Thomas Vogel | Dagstuhl 10431 | October 24-29, 2010 5
Abstract Runtime Models
complex detailed multiple concerns platform-specific solution space less complex abstract
- ne concern
platform-independent problem space
Thomas Vogel | Dagstuhl 10431 | October 24-29, 2010 5
vs.
Abstract Runtime Models
complex detailed multiple concerns platform-specific solution space Metamodel for a Source Model less complex abstract
- ne concern
platform-independent problem space Metamodel for a Target Model
Thomas Vogel | Dagstuhl 10431 | October 24-29, 2010 5
vs.
MDE for Self-Adaptive Software Systems
Different runtime models for monitoring
- performance,
- failures, and
- architectural constraints,
and for parameter and structural adaptation. Incremental, bidirectional model synchronization based
- n Triple Graph Grammars
(TGG).
Plan Autonomic Manager Execute Monitor Analyze
architectural element model monitoring defined by uses
Knowledge
Managed System Sensors Effectors adaptation Model Transformation Engine Target Model Source Model Metamodel Metamodel TGG Rules Factories Thomas Vogel | Dagstuhl 10431 | October 24-29, 2010 6
Runtime Model Synchronization
Thomas Vogel | Dagstuhl 10431 | October 24-29, 2010 7
Further reading: ICAC’09, Models@run.time’09, SEAMS’10
Adaptation Adaptation Monitoring Monitoring EJB System
Ongoing and Future Work
Which kind of models at which level of abstraction for which adaptation/management task? Architecting self-adaptive systems
[Kramer and Magee, 2007]
Rules, Strategies, Constraints, Requirements and Goals Configuration Space and Variability Models Configuration and Architectural Models Implementation Models Context and Resource Models
Runtime Models (M1) Runtime Metamodels (M2) Runtime Meta-Metamodels (M3)
[Vogel et al., 2010b]
Using models as interfaces for managed systems and within autonomic managers, how to specify the semantics of models and model operations?
Thomas Vogel | Dagstuhl 10431 | October 24-29, 2010 8
Ongoing and Future Work cont’d
Distributed Self-Adaptive Systems Self-organizing systems
- Distributed managed and
managing systems
- Distribution vs. consistency
- Distributed models and
MDE techniques
- Specialized models for
- monitoring and adapting
managed systems
- coordination between
autonomic managers
- . . .
Thomas Vogel | Dagstuhl 10431 | October 24-29, 2010 9
Ongoing and Future Work cont’d
Distributed Self-Adaptive Systems Self-organizing systems
- Distributed managed and
managing systems
- Distribution vs. consistency
- Distributed models and
MDE techniques
- Specialized models for
- monitoring and adapting
managed systems
- coordination between
autonomic managers
- . . .
Thomas Vogel | Dagstuhl 10431 | October 24-29, 2010 9
?
References
[France and Rumpe, 2007] France, R. and Rumpe, B. (2007). Model-driven Development of Complex Software: A Research Roadmap. In Proc. of the ICSE Workshop on Future of Software Engineering (FOSE), pages 37–54. IEEE. [Kephart and Chess, 2003] Kephart, J. and Chess, D. (2003). The Vision of Autonomic Computing. IEEE Computer, 36(1):41–50. [Kramer and Magee, 2007] Kramer, J. and Magee, J. (2007). Self-Managed Systems: an Architectural Challenge. In Proc. of the ICSE Workshop on Future of Software Engineering, pages 259–268. IEEE. [Vogel and Giese, 2010] Vogel, T. and Giese, H. (2010). Adaptation and Abstract Runtime Models. In Proc. of the 5th ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), pages 39–48. ACM. [Vogel et al., 2009] Vogel, T., Neumann, S., Hildebrandt, S., Giese, H., and Becker, B. (2009). Model-Driven Architectural Monitoring and Adaptation for Autonomic Systems. In Proc. of the 6th Intl. Conference on Autonomic Computing and Communications, pages 67–68. ACM. [Vogel et al., 2010a] Vogel, T., Neumann, S., Hildebrandt, S., Giese, H., and Becker, B. (2010a). Incremental Model Synchronization for Efficient Run-Time Monitoring . In Models in Software Engineering, Workshops and Symposia at MODELS 2009, Reports and Revised Selected Papers, volume 6002 of LNCS, pages 124–139. Springer. [Vogel et al., 2010b] Vogel, T., Seibel, A., and Giese, H. (2010b). Toward Megamodels at Runtime. In Proceedings of the 5th International MODELS Workshop on Models@run.time, volume 641 of CEUR Workshop Proceedings, pages 13–24. CEUR-WS.org.
Thomas Vogel | Dagstuhl 10431 | October 24-29, 2010 10