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 tools Current and future works Conclusion Motivation Tools for DSML environments Reuse of legacy tools ( transformations ) input output metamodel metamodel in legacy tool out M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 2/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion Motivation Tools for DSML environments Reuse of legacy tools ( transformations ) input output metamodel metamodel in legacy tool out specific tool data specific context M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 2/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion Motivation Tools for DSML environments Reuse of legacy tools ( transformations ) input output metamodel metamodel in legacy tool out specific tool ( by transitivity ) injection data specific context M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 2/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion Motivation Tools for DSML environments Reuse of legacy tools ( transformations ) input output metamodel metamodel in legacy tool out specific tool ( by transitivity ) injection data specific context M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 2/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion Motivation Tools for DSML environments Reuse of legacy tools ( transformations ) input output metamodel metamodel in legacy tool out specific tool ( by transitivity ) injection modif data specific context Modif: a DSL for transformations between structurally and semantically close subsets of metamodels M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 2/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion Motivation Rewriting tools ( endogenous transformations) The tool’s outcome has to be put back into the original context input / output metamodel out in legacy tool injection modif specific tool specific context M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 3/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion Outline Motivation 1 Modif 2 Transformations targeted by Modif Example: a simulator for Finite State Machines (FSM) Reuse of rewriting tools 3 Addressed problem Similar problems in other domains Storage and recovery of deleted data Join algorithm Limitations Example: a flattener for Finite State Machines (FSM) Current and future works 4 Conclusion 5 M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 4/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion Transformations targeted by Modif Metamodel refactoring delete, rename, change, hide and flatten inheritance Process and tool support full tool's 1 generation of a by input output matching input default specification 2 Modif update in legacy tool out 3 generation of the specific tool ( by transitivity ) target metamodel injection modif 4 verification of spec. matching specific Modif data context 5 generation of injection M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 5/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion Transformations targeted by Modif Metamodel refactoring delete, rename, change, hide and flatten inheritance Process and tool support full tool's 1 generation of a by input output matching input default specification 2 Modif update in legacy tool out 3 generation of the specific tool ( by transitivity ) target metamodel injection modif 4 verification of spec. matching specific Modif data context 5 generation of injection M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 5/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion Transformations targeted by Modif Metamodel refactoring delete, rename, change, hide and flatten inheritance Process and tool support full tool's 1 generation of a by input output matching input default specification 2 Modif update in legacy tool out 3 generation of the specific tool ( by transitivity ) target metamodel injection modif 4 verification of spec. matching specific Modif data context 5 generation of injection M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 5/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion Transformations targeted by Modif Metamodel refactoring delete, rename, change, hide and flatten inheritance Process and tool support full tool's 1 generation of a by input output matching input default specification 2 Modif update in legacy tool out 3 generation of the specific tool ( by transitivity ) target metamodel injection modif 4 verification of spec. matching specific Modif data context 5 generation of injection M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 5/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion Transformations targeted by Modif Metamodel refactoring delete, rename, change, hide and flatten inheritance Process and tool support full tool's 1 generation of a by input output matching input default specification 2 Modif update in legacy tool out 3 generation of the specific tool ( by transitivity ) target metamodel injection modif 4 verification of spec. matching specific Modif data context 5 generation of injection M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 5/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion Transformations targeted by Modif Metamodel refactoring delete, rename, change, hide and flatten inheritance Process and tool support full tool's 1 generation of a by input output matching input default specification 2 Modif update in legacy tool out 3 generation of the specific tool ( by transitivity ) target metamodel injection modif 4 verification of spec. matching specific Modif data context 5 generation of injection M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 5/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion Example: a simulator for Finite State Machines (FSM) 0..* State Transition Event inside 1 0..* name : EString name source output 0..1 1 ini : EBoolean trigger 1 0..* t 0..1 target input context Legacy tool running 1 takes a FSM complying go idle with the simple FSM metamodel go nominal go 2 takes a set of incoming nok ok events begin 3 produces a sequence of degraded reached states as an execution trace M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 6/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion Example: a simulator for Finite State Machines (FSM) UML statecharts much larger metamodel! come with tool support ( e.g. editors) Reuse of FSM simulator with UML thanks to Modif 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 M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 7/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion Example: a simulator for Finite State Machines (FSM) UML statecharts much larger metamodel! come with tool support ( e.g. editors) Reuse of FSM simulator with UML thanks to Modif 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 M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 7/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion Example: a simulator for Finite State Machines (FSM) UML statecharts much larger metamodel! come with tool support ( e.g. editors) Reuse of FSM simulator with UML thanks to Modif 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 M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 7/17
Motivation Modif Reuse of rewriting tools Current and future works Conclusion Example: a simulator for Finite State Machines (FSM) UML statecharts much larger metamodel! come with tool support ( e.g. editors) Reuse of FSM simulator with UML thanks to Modif 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 M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 7/17
Recommend
More recommend