adele / osate synchronization - confluence · pdf filee.g.: the xtext editor repars-es the...

44
1 Adele / OSATE Synchronization Dominique Blouin* Alain Plantec* Pierre Dissaux Franck Singhoff* *Lab-STICC, Université de Bretagne Occidentale Brest, France Ellidiss Technologies

Upload: phamque

Post on 30-Jan-2018

223 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

1

Adele / OSATE Synchronization

Dominique Blouin*

Alain Plantec*

Pierre Dissaux†

Franck Singhoff*

*Lab-STICC, Université de Bretagne Occidentale

Brest, France †Ellidiss Technologies

Page 2: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

2

Project Summary

The Adele / OSATE Synchronization Layer

Demo

Issues in Synchronization Layer Tool

Work on Adele

Next Steps

Conclusion

Agenda

Page 3: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

3

Graphical editor for AADL developed by Ellidiss.

Stores AADL models in its own format (meta-model).◦ Eases the development of user friendly editors.

AADL code generated from the Adele model (on demand by user).

Built on top of the TOPCASED Modeling Framework (TMF).

The Adele Graphical Editor

Page 4: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

4

Does not cover the complete AADL V2 language.◦ Modes

◦ Flows

◦ Prototypes

◦ Etc.

Would require a significant additional development effort to cover all AADL language (e.g.: prototypes).◦ Is it really needed?

◦ Some AADL constructs are better edited in text anyway...

Solution: develop a seamless integration between the tools.◦ Use OSATE for textual edition.

◦ Use Adele for graphical edition.

◦ Replace existing code generation with state of the art model synchronization.

Adele Issues

Page 5: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

5

10 months project (funded by US Army USAITC-A grant).

Objectives:◦ Develop a synchronization layer between Adele and OSATE:

Bi-directional.

Real synchronization; do not regenerate the objects but update them to maintain consistency.

Transparent for the user.

◦ Make the synchronization layer reusable as much as possible for integration of other tools with OSATE.

◦ Implement some missing AADL constructs if time allows:

Modes.

Flows.

Etc…

The Adele Joint Project

Page 6: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

6

Project Summary

The Adele / OSATE Synchronization Layer

Demo

Issues in Synchronization Layer Tool

Work on Adele

Next Steps

Conclusion

Agenda

Page 7: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

7

Separated into 2 Layers

Global Model Management Framework (GMM).◦ Developed during this project.

Model synchronization:◦ Selected the Model Transformation Engine (MoTE).

◦ From MDE Lab

◦ PhD thesis of Stephan Hildebrand (Holger Giese).

Page 8: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

8

GMM Layer

DSML inspired from state of the art literature on Global Model Management / mega-models.◦ Mega-model: a model of models.

Page 9: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

9

GMM Mega-model for OSATE

Declares obligation relations for Adele-OSATE AADL models.

Page 10: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

10

GMM Extension Layer for MoTE

Uses the MoTE transformation engine.

Page 11: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

11

IDE GMM Architecture

Adele2AADL MoTESync. Relation

Eclipse Platform

Workbench

Workspace

myresource.aadl myresource.adele myresource.adeledi

myproject1

ResourcesManager

EditorsManager GMM Specification

Workbench Configuration

GMM Controller

Objects Merger

Objects Cache

Editor Adapters GMM

Engine

TGG Engine

Page 12: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

12

Model Synchronization Layer

Very few tools can perform model synchronization.◦ The most well known tools are all based on Triple-Graph Grammars

(TGG).

Three main tools currently developed:◦ TGG Interpreter (University of Paderborn).

◦ eMoflon (Technische Universität Darmstadt).

◦ MoTE (Hasso-Plattner-Institute, University of Potsdam)

MoTE was selected for Adele-OSATE synchronization. ◦ Fully EMF based.

◦ Good performances.

◦ Not mature

Page 13: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

13

Generic Architecture of TGG Tools

From Hildebrandt et al., 2013.

Page 14: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

14

Graph Grammars Set of rules describing transformations of instance objects

graphs*.◦ *Reference: Triple Graph Grammars: Concepts, Extensions, Implementations, and

Application Scenarios, E. Kindler and R. Wagner.

Similar to classical grammars but applies to graphs instead of strings.

Petri net example rule:

Page 15: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

15

Graph Grammars

Petri net example graph (instance objects graph).

match match

++

Page 16: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

16

TGG Rule for Component Types

Adele Domain Adele 2 AADL Domain

AADL Domain

Page 17: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

17

Operational Rules

TGG are declarative rules.

They must be transformed into something interpretable (or executable) to perform the synchronization / transformation.

For MoTE, these are Story Diagrams (SDs).

SDs are similar to UML activity diagrams:◦ Express behavior representing modifications of models.

Interpreted of SDs at runtime maintains consistency between models.

Page 18: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

18

SD Example

Page 19: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

19

Operational Rules

For each TGG rule, 12 story diagrams are generated:

Page 20: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

20

Actual Adele-OSATE TGG

Consists of a set of 60 generic rules for:◦ Packages.

◦ Component types.

◦ Features.

◦ Component implementations.

◦ Subcomponents.

◦ Connections.

Translates into 714 SD.◦ (Only 6 SDs instead of 12 for the axiom rule (packages)).

◦ 100 MB on disk.

◦ Reduces to 7 MB when released as Eclipse plugin.

Page 21: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

21

Project Summary

The Adele / OSATE Synchronization Layer

Demo

Issues with Synchronization Tool

Work on Adele

Next Steps

Conclusion

Agenda

Page 22: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

22

Project Summary

The Adele / OSATE Synchronization Layer

Demo

Issues with Synchronization Tool

Work on Adele

Next Work

Conclusion

Agenda

Page 23: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

23

Issues with MoTE

Several improvements of MoTE were required to be able to use it with Adele-OSATE.

Issues are related to:

◦ Scalability.

◦ Expressivity of the TGG language.

◦ TGG development tool.

Page 24: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

The AADL meta-model is strongly typed.◦ E.g.: subcomponents composition rules.

Scalability

One property per subcomponent type

Page 25: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

E.g. with subcomponents TGG rules:

TGG Rules Constraints

Must be instantiable

Must be changeable

Page 26: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

Many TGG rules are required:◦ RuleSystemBusSubcompo2SystemBusSubcompo

◦ RuleSystemDataSubcompo2SystemDataSubcompo

◦ .

◦ .

◦ .

◦ RuleProcessThreadSubcompo2ProcessThreadSubcomp

◦ RuleProcessDataSubcompo2ProcessDataSubcomp

◦ .

◦ .

◦ .

In addition, every possible context must be handled:

Issues

Page 27: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

Refined, not typed, typed as parent…

Subcomponent Match Contexts

Page 28: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

Nearly 250 rules were expected for Adele-AADL.

The MoTE SD generator did not scaled to such number of rules.

When modified to made it scalable:◦ Generates about 3GB of SDs!

◦ Compressed to about 200 MB.

◦ The SD interpreter was still working!

Do not want to release such big data.

Difficult to develop and maintain such number of rules.

Scalability Issues

Page 29: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

Introducing Generic TGG Rules

Class Rule Variable

Abstract

Derived

Page 30: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

Modified SD interpreter:◦ Runtime use of class rule variables to determine the type to instantiate.

◦ Runtime determination of the property to set from property type constraints.

Other fixed issues:◦ Post creation actions.

◦ Cross resource references not handled.

◦ Directional global pattern matching constraints.

◦ Declare reverse navigation reference in TGG.

◦ Model change listener reworked.

Modified SD Interpreter

Page 31: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

A lot of duplication of information in rules.◦ Need for rule inheritance mechanism.

◦ Rule variables should be shared across rules.

Not easy to ensure all instance graph contexts are covered by the rules.◦ Provide automated context analysis?

Adele meta-model needed to be changed to provide additional references for matching.◦ Improve expressivity to replace allow replacing meta-model properties by

queries?

Potential Improvements for TGG Language

Page 32: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

We added means to duplicate a diagram.◦ Eases the definition of rules for the various match contexts.

Allowed editing constraints from EMF hierarchical tree editor.

Open TGG diagram from EMF hierarchical tree editor.

TGG rules validation should be improved.

Allow the use of libraries when expressing constraints.

Matching rules with attribute assignments used for references.

Issues with Tooling

Page 33: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

33

EMF Compare Issues

Adele2AADL MoTESync. Relation

Eclipse Platform

Workbench

Workspace

myresource.aadl myresource.adele myresource.adeledi

myproject1

ResourcesManager

EditorsManager GMM Specification

Workbench Configuration

GMM Controller

Objects Merger

Objects Cache

Editor Adapters GMM

Engine

TGG Engine

Page 34: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

34

Some editors like do not maintain the objects references when edited.◦ E.g.: the Xtext editor repars-es the objects every time the document is

modified.

We use EMF Compare to merge the changes from outside in the MoTE resources cache (resource set).

Other issues have been fixed in EMF compare to account for synchronization.◦ Perform delete operations at the end of merge.

◦ MoTE changes listener requires this for being able to repair the changes.

EMF Compare Issues (cont’d)

Page 35: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

35

Error in counting the non null features: ◦ AADL no-like features (noFeatures(), noSubcomponents, noConnections,

etc.) always counted as set.

◦ Use Ecore eIsSet instead of testing null value.

Multi-levels hierarchy not well handled in merge.

The synchronization layer uses a customized EMF compare to take this into account.◦ Customization extension points were already provided .

EMF Compare Issues (cont’d)

Page 36: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

36

Project Summary

The Adele / OSATE Synchronization Layer

Demo

Issues with Synchronization Tool

Work on Adele

Next Steps

Conclusion

Agenda

Page 37: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

37

Adele uses a feature and subcomponent duplication mechanism to draw inherited features and subcomponents.

A layer already existed in Adele to synchronize the duplicated features.

It has been extended to a full synchronization of the graphical and semantic models.

Layer currently under validation.

Synchronization between Graphical and Semantic Models

Page 38: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

38

Project Summary

The Adele / OSATE Synchronization Layer

Demo

Issues with Synchronization Tool

Work on Adele

Next Steps

Conclusion

Agenda

Page 39: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

39

Make a first release.◦ Complete ongoing debugging tests (not stable enough to be released)

◦ Fix comments problem.

Adele / OSATE Synchronization Layer:◦ Define TGG grammar for System edition mode.

◦ Implement automated synchronization tests (only transformation and mapping are currently implemented).

◦ Complete documentation.

Cookbook on developing synchronization with MoTE.

Adele evolutions:◦ Classifier management in system mode.

◦ Integrate Adele documentation in online help.

◦ Implement flows, modes, etc.

Next Steps

Page 40: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

40

Project Summary

The Adele / OSATE Synchronization Layer

Demo

Issues with Synchronization Tool

Work on Adele

Next Steps

Conclusion

Agenda

Page 41: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

41

The development of the synchronization layer was not easy.◦ We will not do as much as was originally planned in the project.

Required acquiring knowledge of several frameworks / tools:◦ Adele

◦ TOPCASED Modeling Framework

◦ MoTE

◦ EMF Compare

◦ OSATE

One of the first real life case of synchronization with TGG:◦ Large complex meta-models.

Conclusion

Page 42: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

42

MoTE is a good tool but several improvements were required to make it work on large meta-models such as AADL.

Promising approach for model integration, which is a recurrent problem in model-based engineering.

The result from this project should be reusable for seamless integration of other tools.

Conclusion (cont’d)

Page 43: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

43

Triple Graph Grammars: Concepts, Extensions, Implementations, and Application Scenarios. Technical Report. Ekkart Kindler and Robert Wagner, Department of Computer Science, University of Paderborn, tr-ri-07-284.pdf, 2007.

Model Synchronization at Work: Keeping SysML and AUTOSAR Models Consistent.Holger Giese, Stephan Hildebrandt and Stefan Neumann, Lecture Notes in Computer Science, Volume 5765/2010, 555-579, 2010

A Survey of Triple Graph Grammar Tools. Stephan Hildebrandt, Leen Lambers, Holger Giese, Jan Rieke, Joel Greenyer, Wilhelm Schafer, Marius Lauder, Anthony Anjorin and Andy Schurr. Proceedings of the Second International Workshop on Bidirectional Transformations, 2013.

On the Unification of Megamodels. Regina Hebig, Andreas Seibel and Holger Giese. Proc. of the 4th International Workshop on Multi-Paradigm Modeling (MPM 2010), volume 42 of Electronic Communications of the EASST, 2011.

References

Page 44: Adele / OSATE Synchronization - Confluence · PDF fileE.g.: the Xtext editor repars-es the objects every time the document is ... Adele / OSATE Synchronization AADL Standards Meeting,

AADL Standards Meeting, Sept 25th, 2013Adele / OSATE Synchronization

44

Typing in Model Management. Andrés Vignaga, Frédéric Jouault, Maria Cecilia Bastarrica and Hugo Brunelière. Proc. of the 2nd International Conference on Theory and Practice of Model Transformations (ICMT '09), 2009.

Dynamic hierarchical mega models: comprehensive traceability and its efficient maintenance. Andreas Seibel, Stefan Neumann and Holger Giese. Softw. Syst. Model. 2010.

References (cont’d)