Vitruvius

From SDQ-Wiki
Jump to: navigation, search
Vitruvius.svg

VIew-cenTRic engineering Using a VIrtual Underlying Single model

Development

Concept

The Vitruvius approach implements the concept of dynamically created flexible views.

The approach is based on the Orthographic Software Modeling (OSM) concept by Atkinson et al. [1], but does not use a monolithic single underlying metamodel (SUM). Instead, legacy metamodels are combined in a non-invasive way to serve as a modular underlying model.

View-Centric

Our approach provides exible views conforming to well-defined view types that may combine elements of different metamodels. The flexible view definition specifies which elements (selection) of which metamodel types (structure) are displayed. It may also restrict the set of operations that are permitted on the displayed elements. For the individual views conforming to a specific view type, the origin of the elements is transparent. View types that combine or omit elements and trivial view types that display every element unchanged cannot be distinguished. This is possible, because all access to system elements has to occur through views conforming to view types.

Controlled Complexity

All views have to report atomic modifications of the elements that they are displaying. Based on this information, internal model instances of the involved metamodels are synchronized. These internal models cannot be directly accessed from outside. This allows us to control the complexity of synchronizations through the provided view types. For example, effects of operations that are not permitted do not need to be considered for synchronization.

Abstract Consistency

It is possible to define declarative correspondence and consistency rules for all pairs of metamodels with elements representing the same entities. If a view reports modifications, synchronization transformations that are generated from these definitions and modification response actions are executed. This separation of an abstract mapping between metamodels and the resulting synchronization operations decouples metamodels to allow for evolution according to their individual evolution pressure. If a metamodel shall be updated or added, it is sufficient to update or add its correspondence rules and the view types that display its elements.

Ease of Use

If elements of different metamodels shall be displayed as a single element in a view type, then this information can be used to propose correspondence relations between these metamodels. In return, correspondence relations that link equivalent elements in different metamodels can be used to suggest view types that combine these elements. This should reduce the effort needed to develop new view types and ease the addition of new metamodels. Furthermore, the generation of views and synchronization transformations from declarative definitions relieves the user from implementing these views and transformations.

Vitruvius for PCM and Java Code

We implemented an approach that uses Vitruvius to keep Java Source Code and PCM instances consistent during the development of a software system. Screencasts can be found under [1].

Publications

  • Erik Burger, Victoria Mittelbach, and Anne Koziolek. Model-driven consistency preservation in cyber-physical systems. In Proceedings of the 11th Workshop on Models@run.time co-located with ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems (MODELS 2016), Saint Malo, France, October 2016. to appear. bib
  • Max E. Kramer, Michael Langhammer, Dominik Messinger, Stephan Seifermann, and Erik Burger. Change-driven consistency for component code, architectural models, and contracts. In Proceedings of the 18th International ACM Sigsoft Symposium on Component-Based Software Engineering, Montréal, Canada, 2015, CBSE '15. ACM, New York, NY, USA. 2015. bib
  • Erik Burger. Flexible Views for View-based Model-driven Development. PhD thesis, Karlsruhe Insititute of Technology, Karlsruhe, Germany, July 2014. bib pdf
  • Michael Langhammer and Max E. Kramer. Determining the intent of code changes to sustain attached model information during code evolution. In Fachgruppenbericht des 2. Workshops "Modellbasierte und Modellgetriebene Softwaremodernisierung", volume 34 (2) of Softwaretechnik-Trends. Gesellschaft für Informatik e.V. (GI), 2014. bib
  • Max Kramer, Erik Burger, and Michael Langhammer. View-centric engineering with synchronized heterogeneous models. In VAO 2013: 1st Workshop on View-Based, Aspect-Oriented and Orthographic Software Modelling. ACM, New York, NY, USA, 2013. bib
  • Erik Burger. Flexible views for rapid model-driven development. In VAO 2013: 1st Workshop on View-Based, Aspect-Oriented and Orthographic Software Modelling, Montpellier, France, New York, NY, USA. ACM. 2013. bib
  • Erik Burger. Flexible Views for View-Based Model-Driven Development. In WCOP '13: Proceedings of the 18th international doctoral symposium on Components and Architecture, Vancouver, Canada, New York, NY, USA. ACM. 2013. bib

References

  1. Colin Atkinson, Dietmar Stoll, and Philipp Bostan. “Orthographic Software Modeling: A Practical Approach to View-Based Development”. In: Evaluation of Novel Approaches to Software Engineering. Vol. 69. Communications in Computer and Information Science. Springer Berlin Heidelberg, 2010, pp. 206–219