Toward Megamodels at Runtime

Similar documents
Runtime Models as Interfaces for Adapting Software Systems

Incremental Model Synchronization for Efficient Run-time Monitoring

Incremental Model Synchronization for Efficient Run-Time Monitoring

Applying MDE Tools at Runtime: Experiments upon Runtime Models

The Implications of Optimality Results for Incremental Model Synchronization for TGGs Holger Giese, Stephan Hildebrandt

Modeling Context and Dynamic Adaptations with Feature Models

Welcome to SENG 480B / CSC 485A / CSC 586A Self-Adaptive and Self-Managing Systems

TOWARDS MODEL TRANSFORMATION DESIGN PATTERNS

Mechanisms for Leveraging Models at Runtime in Self-Adaptive Software

Adaptation Mechanism based on Service-Context Distance for Ubiquitous Computing

Unifying Runtime Adaptation and Design Evolution

Welcome to EXE th International Workshop on Executable Modeling October 14, 2018, Copenhagen, Denmark. Organizers:

An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com

DiverSE s Seminar about Software Language Engineering

Towards Supporting Multiple Execution Environments for UML/OCL Models at Runtime (Position Paper)

GRAF: Graph-based Runtime Adaptation Framework

Integration of Existing Software Artifacts into a View- and Change-Driven Development Approach

Weaving Variability into Domain Metamodels

Taming Dynamically Adaptive Systems using Models and Aspects

Towards a Model-Driven Approach for Context-Aware Software

Developing Reusable Software Components for Embedded Systems

Static analysis and testing of executable DSL specification

Transformation of the system sequence diagram to an interface navigation diagram

On Interacting Control Loops in Self-Adaptive Systems

Software Engineering for Self-Adaptive Systems

Draft version. Model Integration with Model Weaving: a Case Study in System Architecture

Navigating the MetaMuddle

Model-Driven Design of Ensemble-Based Component Systems

Applying OMG D C Specification and ECA Rules for Autonomous Distributed Component-based Systems

QoS Contract Preservation through Dynamic Reconfiguration: A Formal Semantics Approach

Overview of lectures today and Wednesday

MDA and Integration of Legacy Systems: An Industrial Case Study

A Traceability-Driven Approach to Model Transformation Testing

Reflexive and Evolutional Digital Service Ecosystems with Models at Runtime

Johann Bourcier Associate Professor University of Rennes 1

Software Runtime

Verification of Megamodel Manipulations Involving Weaving Models

A Generic Framework for Realizing Semantic Model Differencing Operators

Unifying Software Reuse

Enterprise Models as Drivers for IT Security Management at Runtime

Ontology-based Model Transformation

Towards 2D Traceability

Domain-Specific Languages for Wireless Sensor Networks

Integrating Software Architecture Concepts into the MDA Platform with UML Profile

1st Workshop on Model-driven Software Adaptation. M-ADAPT 07 at ECOOP (Proceedings) Edited by

A Reference Architecture for Component-Based Self-Adaptive Software Systems. Lorena Castañeda Bueno Advisor: Gabriel Tamura

March 2, Homepage:

Weaving Models with the Eclipse AMW plugin

Towards Integrating SysML and AUTOSAR Modeling via Bidirectional Model Synchronization

Dynamic Software Evolution and The K-Component Model

Using Architectural Models at Runtime: Research Challenges

Synchronization of Models of Rich Languages with Triple Graph Grammars: an Experience Report *

Towards the integration of security patterns in UML Component-based Applications

Model-based Run-Time Software Adaptation for Distributed Hierarchical Service Coordination

2 nd UML 2 Semantics Symposium: Formal Semantics for UML

Towards Transformation Migration After Metamodel Evolution

Meta-Model and Model co-evolution

On the Role of Features in Analyzing the Architecture of Self-Adaptive Software Systems

Eclipse Development Tools for Epsilon

Sketch-based Metamodel Construction. Research Internship II Lucas Heer

Runtime Software Architectural Models for Adaptation, Recovery and Evolution

MaDcAr: an Abstract Model for Dynamic and Automatic (Re-)Assembling of Component-Based Applications

Architecture-based integrated management of diverse cloud resources

Multi-level Language Descriptions

Towards Compositional Domain Specific Languages

Object-Oriented Theories for Model Driven Architecture

TRACEABILITY MECHANISM FOR ERROR LOCALIZATION IN MODEL TRANSFORMATION

Towards Software Architecture at Runtime

Requirements and Design Overview

Usually software system variants, developed by Clone-and-own approach, form

A Model-Driven Approach to Develop Adaptive Firmwares

Taming Dynamically Adaptive Systems with Models and Aspects

An MDE-based approach for reconfigurable DRE systems

ReWiRe: Designing Reactive Systems for Pervasive Environments

ACTA UNIVERSITATIS APULENSIS No 18/2009

From Object Composition to Model Transformation with the MDA

FAME A Polyglot Library for Metamodeling at Runtime

This paper is more intended to set up a basis for a constructive discussion than to offer definitive answers and closed solutions.

Inter-DSL Coordination Support by Combining Megamodeling and Model Weaving

UML Aspect Specification Using Role Models

Joint work with Basil Becker, Thomas Vogel, Sebastian Wätzoldt

Transformational Design with

Automatic Verification of Closures and Lambda-Functions in Python Master s Thesis Project Description

Model-Driven QoS Provisioning Techniques for CCM DRE Systems

On the Role of Architectural Styles in Improving the Adaptation Support of Middleware Platforms

Introduction to Modeling

Software Architectures

Mapping Architectural Concepts to SysML Profile for Product Line Architecture Modeling

Building Model-Driven Engineering Traceability Classifications

On the Formalisation of GeKo: a Generic Aspect Models Weaver

Architecture-Based Self-Protecting Software Systems Adnan Alawneh CS 788

Dynamic Context Management and Reference Models for Dynamic Self Adaptation

Evolving Models at Run Time to Address Functional and Non-Functional Adaptation Requirements

Experimenting with Multi-Level Models in a Two-Level Modeling Tool

Dresden OCL2 in MOFLON

JOURNAL OF OBJECT TECHNOLOGY Online at Published by ETH Zurich, Chair of Software Engineering. JOT, 2002

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

View-Based Modeling of Function Nets

Model-Driven Management of Docker Containers

Chapter 9 for Continuous Design and Deployment

Transcription:

Toward Megamodels at Runtime 5th International Workshop on Models@run.time Oslo, Norway, 5th October 2010 Thomas Vogel, Andreas Seibel, and Holger Giese System Analysis and Modeling Group Hasso Plattner Institute University of Potsdam

Motivation Multiple runtime models for monitoring and adaptation (Models@run.time 09, SEAMS 10) Thomas Vogel MRT 2010 05.10.2010 Introduction 2

Motivation Multiple runtime models for monitoring and adaptation (Models@run.time 09, SEAMS 10) Thomas Vogel MRT 2010 05.10.2010 Introduction 2

Motivation Multiple runtime models for monitoring and adaptation (Models@run.time 09, SEAMS 10) Relations between models: trade-offs, dependencies,... Thomas Vogel MRT 2010 05.10.2010 Introduction 2

Categories of Runtime Models Simultaneous use of multiple runtime models? Conceivable relations between runtime models? Abstract categorization: purpose and content of a runtime model Based on literature, esp. the past Models@run.time workshops Categories: neither complete, nor a prerequisite for an approach Thomas Vogel MRT 2010 05.10.2010 Runtime Models and Relations 3

Implementation Models Characteristics: Similar to models used in the field of reflection Causally connected to a running system Coupled to the system s implementation and computation model (solution space) Examples: Reflective programming languages [JBCG06, KV08] Platform-specific models, like for CORBA [CPV06] or EJB [VG10] Class and object diagrams [JBCG06, GIWO09, Mao09] Sequence diagrams [Mao09] Statecharts, state machines, automatons [GCZ08, Mao08, HDC09] Thomas Vogel MRT 2010 05.10.2010 Runtime Models and Relations 4

Configuration & Architectural Models Characteristics: More abstract than Implementation Models Platform-independent, problem space Often causally connected to a running system Reflect the current configuration of a system Software architecture as an appropriate abstraction level Examples: Component diagrams, often enhanced with non-functional properties [SXC + 10, MBJ + 09, OMT98, GCH + 04, VNH + 10, VG10] Process or workflow models [SBVD08] Abstract Implementation Models, like statecharts for components Thomas Vogel MRT 2010 05.10.2010 Runtime Models and Relations 5

Context & Resource Models Characteristics: Describe the system s operational environment Describe required or used resources (logical or physical) Context-aware systems Examples: Some form of variables, like key value pairs [MBJ + 09, SB08] Semi-structured tags and attributes, object-oriented or logic-based models [SB08] Feature models [ACF + 09] Thomas Vogel MRT 2010 05.10.2010 Runtime Models and Relations 6

Configuration Space & Variability Models Characteristics: Specify potential variants of a system Define the configuration space Used for finding adaptation options Examples: Component type diagrams [GCH + 04, GSV09, VG10] Feature models originating from software product lines [MBJ + 09, CGFP09, EME09] Aspect models for Configuration & Architectural Models [MBJ + 09, FHL + 09] Thomas Vogel MRT 2010 05.10.2010 Runtime Models and Relations 7

Rules, Strategies, Constraints, Requirements, Goals Characteristics: Refer to models of the other categories Specify adaptations (rules, strategies, goals) Validation and verification (constraints, requirements, goals) Examples: Event-Condition-Action (ECA) rules [GCH + 04, ACF + 09, DM06] Goal-based models (utility functions) [MBJ + 09, EME09, RC09] Constraints: OCL [HRW07, VNH + 10], Linear Temporal Logic [GCZ08] Goal models, like KAOS [BWS + 10] requirements@run.time Thomas Vogel MRT 2010 05.10.2010 Runtime Models and Relations 8

Relations between Runtime Models I Goal Model [WMYM09] Architectural Model Thomas Vogel MRT 2010 05.10.2010 Runtime Models and Relations 9

Relations between Runtime Models I Goal Model [WMYM09] Architectural Model Thomas Vogel MRT 2010 05.10.2010 Runtime Models and Relations 9

Relations between Runtime Models I Context and Resource Model Thomas Vogel MRT 2010 05.10.2010 Runtime Models and Relations 9

Relations between Runtime Models I Context and Resource Model Thomas Vogel MRT 2010 05.10.2010 Runtime Models and Relations 9

Relations between Runtime Models II Feature Model [CGFP09] Configuration Space and Variability Model Thomas Vogel MRT 2010 05.10.2010 Runtime Models and Relations 10

Relations between Runtime Models II Feature Model Configuration Space and Variability Model PervML Model Configuration and Architectural Model [CGFP09] Thomas Vogel MRT 2010 05.10.2010 Runtime Models and Relations 10

Relations between Runtime Models III Failure Metamodel (PIM) Configuration and Architectural Model refinement abstraction [VG10] EJB Metamodel (PSM) Implementation Model Thomas Vogel MRT 2010 05.10.2010 Runtime Models and Relations 11

Relations between Runtime Models IV Failure Metamodel Configuration and Architectural Model overlaps [VNH + 10, VG10] Performance Metamodel Configuration and Architectural Model Thomas Vogel MRT 2010 05.10.2010 Runtime Models and Relations 12

Runtime Models and Relations Kind of models and relations depend on the concrete approach It s likely that multiple models are used (vs. one model) Rather than isolated models, network of runtime models Explicitly considering relations between models E.g., (impact) analysis across related models Existing approaches do not explicitly address these issues (ad-hoc and code-based solutions) Model-driven solution? Thomas Vogel MRT 2010 05.10.2010 Runtime Models and Relations 13

Similar Issues in MDSD Model-Driven Software Development (MDSD) A multitude of models and relations A multitude of changes Consistency among different models Example: Model-Driven Architecture Thomas Vogel MRT 2010 05.10.2010 Toward Megamodels at Runtime 14

Megamodels Good enough Definition (Megamodel) A megamodel is a model that contains models and relations between those models or between elements of those models. Makes relations explicit Basis for model-driven management of models and relations Research by Favre [Fav05] and Bézivin et al. [BGMR03, BJV04, BFB07] Thomas Vogel MRT 2010 05.10.2010 Toward Megamodels at Runtime 15

Megamodel Concepts Organizational Purposes: Organizing and structuring models and relations Registry for models and their relations Utilization Purposes: Navigation through different models in a model-driven manner Operational relations by means of executable units Thomas Vogel MRT 2010 05.10.2010 Toward Megamodels at Runtime 16

Case Study: Self-Adaptive Software Thomas Vogel MRT 2010 05.10.2010 Toward Megamodels at Runtime 17

Case Study: Self-Adaptive Software Thomas Vogel MRT 2010 05.10.2010 Toward Megamodels at Runtime 17

Case Study: Self-Adaptive Software Thomas Vogel MRT 2010 05.10.2010 Toward Megamodels at Runtime 17

Case Study: Self-Adaptive Software Thomas Vogel MRT 2010 05.10.2010 Toward Megamodels at Runtime 17

Case Study: Self-Adaptive Software Thomas Vogel MRT 2010 05.10.2010 Toward Megamodels at Runtime 17

Conclusion and Future Work Conclusion Multiple runtime models for advanced self-adaptive systems Categories of Runtime Models These models are not independent from each other Relations between Runtime Models Explicitly considering models and relations Megamodel concepts as a proposal Thomas Vogel MRT 2010 05.10.2010 Conclusion and Future Work 18

Conclusion and Future Work Conclusion Multiple runtime models for advanced self-adaptive systems Categories of Runtime Models These models are not independent from each other Relations between Runtime Models Explicitly considering models and relations Megamodel concepts as a proposal Future Work Elaborate categorization of models [FR07, Ben09, BBF09] Categorization of relations Applicability of our megamodel approach at runtime [SNG09] Thomas Vogel MRT 2010 05.10.2010 Conclusion and Future Work 18

References I [ACF + 09] [BBF09] [Ben09] [BFB07] [BGMR03] [BJV04] [BWS + 10] [CGFP09] [CPV06] [DM06] [EME09] [Fav05] Mathieu Acher, Philippe Collet, Franck Fleurey, Philippe Lahire, Sabine Moisan, and Jean-Paul Rigault. Modeling Context and Dynamic Adaptations with Feature Models. In Proc. of the 4th Intl. Workshop on Models@run.time, volume 509 of CEUR-WS.org, pages 89 98, 2009. Gordon Blair, Nelly Bencomo, and Robert B. France. Models@run.time: Guest Editors Introduction. Computer, 42(10):22 27, 2009. Nelly Bencomo. On the Use of Software Models during Software Execution. In Proc. of the ICSE Workshop on Modeling in Software Engineering (MISE), pages 62 67. IEEE, 2009. Mikael Barbero, Marcos Didonet Del Fabro, and Jean Bézivin. Traceability and Provenance Issues in Global Model Management. In ECMDA-TW 07: Proc. of 3rd Workshop on Traceability, pages 47 55, 2007. Jean Bézivin, Sébastien Gérard, Pierre-Alain Muller, and Laurent Rioux. MDA components: Challenges and Opportunities. In 1st Intl. Workshop on Metamodelling for MDA, pages 23 41, 2003. Jean Bézivin, Frédéric Jouault, and Patrick Valduriez. On the Need for Megamodels. In Proc. of the OOPSLA/GPCE Workshop on Best Practices for Model-Driven Software Development, 2004. Nelly Bencomo, Jon Whittle, Pete Sawyer, Anthony Finkelstein, and Emmanuel Letier. Requirements reflection: requirements as runtime entities. In Proc. of the 32nd ACM/IEEE Intl. Conference on Software Engineering (ICSE), pages 199 202. ACM, 2010. Carlos Cetina, Pau Giner, Joan Fons, and Vicente Pelechano. Autonomic Computing through Reuse of Variability Models at Runtime: The Case of Smart Homes. Computer, 42(10):37 43, 2009. Fabio Costa, Lucas Provensi, and Frederico Vaz. Towards a More Effective Coupling of Reflection and Runtime Metamodels for Middleware. In Proc. of 1st Intl. Workshop on Models@run.time, 2006. Jeremy Dubus and Philippe Merle. Applying OMG D&C Specification and ECA Rules for Autonomous Distributed Component-based Systems. In Proc. of 1st Intl. Workshop on Models@run.time, 2006. Ahmed Elkhodary, Sam Malek, and Naeem Esfahani. On the Role of Features in Analyzing the Architecture of Self-Adaptive Software Systems. In Proc. of the 4th Intl. Workshop on Models@run.time, volume 509 of CEUR-WS.org, pages 41 50, 2009. Jean-Marie Favre. Foundations of Model (Driven) (Reverse) Engineering : Models Episode I: Stories of The Fidus Papyrus and of The Solarus. In Language Engineering for Model-Driven Software Development, number 04101 in Dagstuhl Seminar Proceedings. IBFI, Schloss Dagstuhl, 2005. Thomas Vogel MRT 2010 05.10.2010 References 19

References II [FHL + 09] [FR07] [GCH + 04] [GCZ08] [GIWO09] [GSV09] [HDC09] [HRW07] [JBCG06] [KV08] [Mao08] [Mao09] Nicolas Ferry, Vincent Hourdin, Stephane Lavirotte, Gaëtan Rey, Jean-Yves Tigli, and Michel Riveill. Models at Runtime: Service for Device Composition and Adaptation. In Proc. of the 4th Intl. Workshop on Models@run.time, volume 509 of CEUR-WS.org, pages 51 60, 2009. Robert France and Bernhard Rumpe. 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, 2007. David Garlan, Shang-Wen Cheng, An-Cheng Huang, Bradley Schmerl, and Peter Steenkiste. Rainbow: Architecture-Based Self-Adaptation with Reusable Infrastructure. Computer, 37(10):46 54, 2004. Heather J. Goldsby, Betty H. Cheng, and Jian Zhang. AMOEBA-RT: Run-Time Verification of Adaptive Software. In Models in Software Engineering: Workshops and Symposia at MoDELS 2007, volume 5002 of LNCS, pages 212 224. Springer, 2008. Tony Gjerlufsen, Mads Ingstrup, Jesper Wolff, and Olsen Olsen. Mirrors of Meaning: Supporting Inspectable Runtime Models. Computer, 42(10):61 68, 2009. Holger Giese, Andreas Seibel, and Thomas Vogel. A Model-Driven Configuration Management System for Advanced IT Service Management. In Proc. of the 4th Intl. Workshop on Models@run.time, volume 509 of CEUR-WS.org, pages 61 70, 2009. Edzard Höfig, Peter H. Deussen, and Hakan Coskun. Statechart Interpretation on Resource Constrained Platforms: a Performance Analysis. In Proc. of the 4th Intl. Workshop on Models@run.time, volume 509 of CEUR-WS.org, pages 99 108, 2009. Christian Hein, Tom Ritter, and Michael Wagner. System Monitoring using Constraint Checking as part of Model Based System Management. In Proc. of 2nd Intl. Workshop on Models@run.time, 2007. Frédéric Jouault, Jean Bézivin, Regis Chevrel, and Jeff Gray. Experiments in Run-Time Model Extraction. In Proc. of 1st Intl. Workshop on Models@run.time, 2006. Adrian Kuhn and Toon Verwaest. FAME - A Polyglot Library for Metamodeling at Runtime. In Proc. of the 3rd Intl. Workshop on Models@run.time, pages 57 66. Technical Report COMP-005-2008, Lancaster University, 2008. Shahar Maoz. Model-Based Traces. In Proc. of the 3rd Intl. Workshop on Models@run.time, pages 16 25. Technical Report COMP-005-2008, Lancaster University, 2008. Shahar Maoz. Using Model-Based Traces as Runtime Models. Computer, 42(10):28 36, 2009. Thomas Vogel MRT 2010 05.10.2010 References 20

References III [MBJ + 09] [OMT98] [RC09] [SB08] [SBVD08] [SNG09] [SXC + 10] [VG10] [VNH + 09] [VNH + 10] [WMYM09] Brice Morin, Olivier Barais, Jean-Marc Jézéquel, Franck Fleurey, and Arnor Solberg. Models@Run.time to Support Dynamic Adaptation. Computer, 42(10):44 51, 2009. Peyman Oreizy, Nenad Medvidovic, and Richard N. Taylor. Architecture-based runtime software evolution. In Proc. of the 20th Intl. Conference on Software Engineering (ICSE), pages 177 186. IEEE, 1998. Andres J. Ramirez and Betty H. Cheng. Evolving Models at Run Time to Address Functional and Non-Functional Adaptation Requirements. In Proc. of the 4th Intl. Workshop on Models@run.time, volume 509 of CEUR-WS.org, pages 31 40, 2009. Daniel Schneider and Martin Becker. Runtime Models for Self-Adaptation in the Ambient Assisted Living Domain. In Proc. of the 3rd Intl. Workshop on Models@run.time, pages 47 56. Technical Report COMP-005-2008, Lancaster University, 2008. Mario Sanchez, Ivan Barrero, Jorge Villalobos, and Dirk Deridder. An Execution Platform for Extensible Runtime Models. In Proc. of the 3rd Intl. Workshop on Models@run.time, pages 107 116. Technical Report COMP-005-2008, Lancaster University, 2008. Andreas Seibel, Stefan Neumann, and Holger Giese. Dynamic Hierarchical Mega Models: Comprehensive Traceability and its Efficient Maintenance. Software and Systems Modeling, 9:493 528, 2009. Hui Song, Yingfei Xiong, Franck Chauvel, Gang Huang, Zhenjiang Hu, and Hong Mei. Generating Synchronization Engines between Running Systems and Their Model-Based Views. In Models in Software Engineering, Workshops and Symposia at MODELS 2009, volume 6002 of LNCS, pages 140 154. Springer, 2010. Thomas Vogel and Holger Giese. 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, 2010. Thomas Vogel, Stefan Neumann, Stephan Hildebrandt, Holger Giese, and Basil Becker. Incremental Model Synchronization for Efficient Run-time Monitoring. In Proc. of the 4th Intl. Workshop on Models@run.time, volume 509 of CEUR-WS.org, pages 1 10, 2009. Thomas Vogel, Stefan Neumann, Stephan Hildebrandt, Holger Giese, and Basil Becker. Incremental Model Synchronization for Efficient Run-Time Monitoring. In Models in Software Engineering, Workshops and Symposia at MODELS 2009, volume 6002 of LNCS, pages 124 139. Springer, 2010. Yiqiao Wang, Sheila A. Mcilraith, Yijun Yu, and John Mylopoulos. Monitoring and diagnosing software requirements. Automated Software Eng., 16(1):3 35, 2009. Thomas Vogel MRT 2010 05.10.2010 References 21