11th Workshop on Domain-Specific Modeling
A DSML for reversible transformations
Micka¨ el Kerboeuf, Jean-Philippe Babau
LISyC – University of Western Brittany, France {kerboeuf,babau}@univ-brest.fr
A DSML for reversible transformations Micka el Kerboeuf, - - PowerPoint PPT Presentation
11th Workshop on Domain-Specific Modeling A DSML for reversible transformations Micka el Kerboeuf, Jean-Philippe Babau LISyC University of Western Brittany, France { kerboeuf,babau } @univ-brest.fr Motivation Modif Reuse of rewriting
11th Workshop on Domain-Specific Modeling
LISyC – University of Western Brittany, France {kerboeuf,babau}@univ-brest.fr
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
2/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
2/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
2/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
2/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
2/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
specific tool legacy tool
3/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
4/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
1 generation of a by
2 Modif update 3 generation of the
4 verification of
5 generation of
data injection in input specific context legacy tool
specific tool (by transitivity) modif spec. Modif tool's input full matching
5/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
1 generation of a by
2 Modif update 3 generation of the
4 verification of
5 generation of
data injection in input specific context legacy tool
specific tool (by transitivity) modif spec. Modif tool's input full matching
5/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
1 generation of a by
2 Modif update 3 generation of the
4 verification of
5 generation of
data injection in input specific context legacy tool
specific tool (by transitivity) modif spec. Modif tool's input full matching
5/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
1 generation of a by
2 Modif update 3 generation of the
4 verification of
5 generation of
data injection in input specific context legacy tool
specific tool (by transitivity) modif spec. Modif tool's input full matching
5/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
1 generation of a by
2 Modif update 3 generation of the
4 verification of
5 generation of
data injection in input specific context legacy tool
specific tool (by transitivity) modif spec. Modif tool's input full matching
5/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
1 generation of a by
2 Modif update 3 generation of the
4 verification of
5 generation of
data injection in input specific context legacy tool
specific tool (by transitivity) modif spec. Modif tool's input full matching
5/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
State name : EString ini : EBoolean Event name Transition context 0..1 input 0..*
0..* t 0..1 target 1 source 1 trigger 1 inside 0..*
begin idle running nominal degraded
go go go nok
1 takes a FSM complying
2 takes a set of incoming
3 produces a sequence of
6/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
1 default Modif specification for UML: deletes everything 2 update: meaningful concepts for FSM are kept and renamed 3 target metamodel generation 4 target metamodel fully matches the simple FSM metamodel 5 generation of injection
7/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
1 default Modif specification for UML: deletes everything 2 update: meaningful concepts for FSM are kept and renamed 3 target metamodel generation 4 target metamodel fully matches the simple FSM metamodel 5 generation of injection
7/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
1 default Modif specification for UML: deletes everything 2 update: meaningful concepts for FSM are kept and renamed 3 target metamodel generation 4 target metamodel fully matches the simple FSM metamodel 5 generation of injection
7/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
1 default Modif specification for UML: deletes everything 2 update: meaningful concepts for FSM are kept and renamed 3 target metamodel generation 4 target metamodel fully matches the simple FSM metamodel 5 generation of injection
7/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
1 default Modif specification for UML: deletes everything 2 update: meaningful concepts for FSM are kept and renamed 3 target metamodel generation 4 target metamodel fully matches the simple FSM metamodel 5 generation of injection
7/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
1 default Modif specification for UML: deletes everything 2 update: meaningful concepts for FSM are kept and renamed 3 target metamodel generation 4 target metamodel fully matches the simple FSM metamodel 5 generation of injection
7/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
data injection in abstract data legacy tool
by transitivity modif spec. Modif tool's input full matching data'
contextualization
concrete data modif spec. Modif initial context full matching
8/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
data in VIEW updates
translated updates data' DATA BASE
9/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
data1 data1' MM v2 data2' data2 MM v1 DIFF
10/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
data in abstract data legacy tool
by transitivity modif spec. Modif tool's input data' concrete data modif spec. Modif initial context data + keys annotated concrete data injection
contextualization
full matching full matching
11/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
data in legacy tool
data' data + keys injection
contextualization 1 For each instance of out with key
2 Each instance of data+key whose
3 Each reference of each instance of
4 Keys are removed and then the
12/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
data in legacy tool
data' data + keys injection
contextualization 1 For each instance of out with key
2 Each instance of data+key whose
3 Each reference of each instance of
4 Keys are removed and then the
12/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
data in legacy tool
data' data + keys injection
contextualization 1 For each instance of out with key
2 Each instance of data+key whose
3 Each reference of each instance of
4 Keys are removed and then the
12/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
data in legacy tool
data' data + keys injection
contextualization 1 For each instance of out with key
2 Each instance of data+key whose
3 Each reference of each instance of
4 Keys are removed and then the
12/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
data in legacy tool
data' data + keys injection
contextualization 1 For each instance of out with key
2 Each instance of data+key whose
3 Each reference of each instance of
4 Keys are removed and then the
12/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
13/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
State name : EString ini : EBoolean Event name Transition context 0..1 input 0..*
0..* t 0..1 target 1 source 1 trigger 1 inside 0..*
State name : EString ini : EBoolean Action name : EString Event name Transition context 0..1 entry 0..1 exit 0..1 input 0..*
0..* sin 0..1 sout 0..1 t 0..1 t 0..1 target 1 source 1 trigger 1 action 0..1 inside 0..*
14/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
begin idle running
entry / start exit / stop
nominal
entry / run1
degraded
go / init go / raz go nok / runD
15/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
begin idle running nominal degraded
go go go nok
begin idle running
entry / start exit / stop
nominal
entry / run1
degraded
go / init go / raz go nok / runD
injection
15/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
begin idle running nominal degraded
go go go nok
begin idle running
entry / start exit / stop
nominal
entry / run1
degraded
go / init go / raz go nok / runD
begin idle running nominal running degraded
go nok
go go go
injection flattener
15/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
begin idle running nominal degraded
go go go nok
begin idle running
entry / start exit / stop
nominal
entry / run1
degraded
go / init go / raz go nok / runD
begin idle running nominal running degraded
go nok
go go go go / raz go / raz
begin idle running nominal running degraded
go nok / runD
go / init entry / run1
injection flattener flattener contextualization
15/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
16/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion
17/17