XWeave
Download
1 / 14

XWeave Models and Aspects in Concert Iris Groher Siemens AG, CT SE 2 Markus Voelter - PowerPoint PPT Presentation


  • 77 Views
  • Uploaded on

XWeave Models and Aspects in Concert Iris Groher Siemens AG, CT SE 2 Markus Voelter Independent Consultant. Contents. Model-Driven Software Development in a Nutshell Model Weaving XWeave Home Automation Example (Smart Home) Smart Home (Meta) Models Examples Evaluation

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' XWeave Models and Aspects in Concert Iris Groher Siemens AG, CT SE 2 Markus Voelter' - inga


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

XWeave

Models and Aspects in Concert

Iris Groher

Siemens AG, CT SE 2

Markus Voelter

Independent Consultant


Contents
Contents

  • Model-Driven Software Development in a Nutshell

  • Model Weaving

  • XWeave

  • Home Automation Example (Smart Home)

    • Smart Home (Meta) Models

    • Examples

  • Evaluation

  • Conclusion and Future Work


Model driven software development mdsd
Model-Driven Software Development (MDSD)

  • Systems are mostly described in terms of models

  • Models play the role of source code

    • Models do not only constitute documentation

    • Models are processed by tools

  • Models are instances of meta models

    • Meta models describe the abstract syntax of models

  • Meta models are instances of meta meta models

    • MOF, Ecore

  • Infrastructure

    • Editors

    • Model transformations

      • Used for processing and refining models

    • Generators


Model weaving
Model Weaving

  • Model Evolution

    • Changes are localized in aspects

    • Simplifies traceability and change management

  • Product Line Engineering

    • Variable (optional) parts are captured in aspect models

    • Woven to minimal core common to all products

  • Architectural Viewpoints

    • Combination of different viewpoints to form a consistent whole


Xweave
XWeave

  • Model weaver based on EMF’s Ecore meta meta model

    • Weaving of both meta models and models

  • Takes a base model and one or more aspect models as input

  • Weaves content of aspect model into base model (asymmetric AO)

  • Base model defines core abstractions

  • Aspect model defines delta to core abstractions and pointcuts

    • All properties of the aspect element including its child elements are woven into the base model


Pointcut definition
Pointcut Definition

  • Name matching

    • If a model element in the aspect model has a corresponding element in the base model the element if woven.

    • Name and type have to be equal

  • Expressions

    • Defined external to both models

    • Uses oAW expression language, based on OCL

    • %expressionName

    • Path expressions

    • Working with collections

    • Selection/filtering


Home automation example smart home
Home Automation Example (Smart Home)

  • Electrical and electronic devices (e.g. lights, blinds,...)

    • Sensors measure physical values

    • Controllers activate devices

  • State can be monitored and changed from common UI


Smart home meta models
Smart Home (Meta) Models

Smart Home Meta Model

Smart Home Model


Examples model weaving
Examples – Model Weaving

Base Model

Aspect Model

Resulting Model


Examples meta model weaving
Examples – Meta Model Weaving

Aspect Model

Resulting Model

Base Model



Evaluation
Evaluation

  • Weaving of both EMF meta models and models

  • Pointcut definition based on name matching and expressions

  • Limited advice

    • No changing, removing, or overriding of base model elements

    • Only additive weaving is supported


Conclusion and future work
Conclusion and Future Work

  • Model weaving is a possible way of integrating AOSD and MDSD

  • XWeave simplifies

    • Model evolution

    • Variability on model level

    • Combination of architectural views

  • We are currently implementing a demonstrator of a product line that uses XWeave to implement variability on model level.

  • Future Work

    • Combine XWeave with a variant management tool

    • Removing, changing, and overriding of base model elements

    • Symmetric weaving


ad