A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau...

38
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

Transcript of A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau...

Page 1: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

11th Workshop on Domain-Specific Modeling

A DSML for reversible transformations

Mickael Kerboeuf, Jean-Philippe Babau

LISyC – University of Western Brittany, France

{kerboeuf,babau}@univ-brest.fr

Page 2: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

Motivation Modif Reuse of rewriting tools Current and future works Conclusion

Motivation

Tools for DSML environments

Reuse of legacy tools (transformations)

in legacy tool out

input

metamodel

output

metamodel

Modif: a DSL for transformations between structurally andsemantically close subsets of metamodels

M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 2/17

Page 3: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

Motivation Modif Reuse of rewriting tools Current and future works Conclusion

Motivation

Tools for DSML environments

Reuse of legacy tools (transformations)

data

in legacy tool out

specif

ic to

ol

specific context

input

metamodel

output

metamodel

Modif: a DSL for transformations between structurally andsemantically close subsets of metamodels

M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 2/17

Page 4: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

Motivation Modif Reuse of rewriting tools Current and future works Conclusion

Motivation

Tools for DSML environments

Reuse of legacy tools (transformations)

data

inje

ctio

n

in legacy tool out

specif

ic to

ol (by

transit

ivity

)

specific context

input

metamodel

output

metamodel

Modif: a DSL for transformations between structurally andsemantically close subsets of metamodels

M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 2/17

Page 5: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

Motivation Modif Reuse of rewriting tools Current and future works Conclusion

Motivation

Tools for DSML environments

Reuse of legacy tools (transformations)

data

inje

ctio

n

in legacy tool out

specif

ic to

ol (by

transit

ivity

)

specific context

input

metamodel

output

metamodel

Modif: a DSL for transformations between structurally andsemantically close subsets of metamodels

M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 2/17

Page 6: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

Motivation Modif Reuse of rewriting tools Current and future works Conclusion

Motivation

Tools for DSML environments

Reuse of legacy tools (transformations)

data

inje

ctio

n

in legacy tool out

specif

ic to

ol (by

transit

ivity

)

specific context

input

metamodel

output

metamodel

modif

Modif: a DSL for transformations between structurally andsemantically close subsets of metamodels

M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 2/17

Page 7: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

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

specific tool

legacy tool

inje

ctio

n

out

specific context

input / output

metamodel

modif

in

M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 3/17

Page 8: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

Motivation Modif Reuse of rewriting tools Current and future works Conclusion

Outline

1 Motivation

2 ModifTransformations targeted by ModifExample: a simulator for Finite State Machines (FSM)

3 Reuse of rewriting toolsAddressed problemSimilar problems in other domainsStorage and recovery of deleted dataJoin algorithmLimitationsExample: a flattener for Finite State Machines (FSM)

4 Current and future works

5 Conclusion

M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 4/17

Page 9: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

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

1 generation of a bydefault specification

2 Modif update

3 generation of thetarget metamodel

4 verification ofmatching

5 generation ofinjection

data

inje

ctio

n

in

input

specific

context

legacy tool out

output

specif

ic to

ol (by t

ransit

ivity)

modif

spec.

Modif

tool's

input

full

matching

M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 5/17

Page 10: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

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

1 generation of a bydefault specification

2 Modif update

3 generation of thetarget metamodel

4 verification ofmatching

5 generation ofinjection

data

inje

ctio

n

in

input

specific

context

legacy tool out

output

specif

ic to

ol (by t

ransit

ivity)

modif

spec.

Modif

tool's

input

full

matching

M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 5/17

Page 11: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

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

1 generation of a bydefault specification

2 Modif update

3 generation of thetarget metamodel

4 verification ofmatching

5 generation ofinjection

data

inje

ctio

n

in

input

specific

context

legacy tool out

output

specif

ic to

ol (by t

ransit

ivity)

modif

spec.

Modif

tool's

input

full

matching

M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 5/17

Page 12: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

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

1 generation of a bydefault specification

2 Modif update

3 generation of thetarget metamodel

4 verification ofmatching

5 generation ofinjection

data

inje

ctio

n

in

input

specific

context

legacy tool out

output

specif

ic to

ol (by t

ransit

ivity)

modif

spec.

Modif

tool's

input

full

matching

M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 5/17

Page 13: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

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

1 generation of a bydefault specification

2 Modif update

3 generation of thetarget metamodel

4 verification ofmatching

5 generation ofinjection

data

inje

ctio

n

in

input

specific

context

legacy tool out

output

specif

ic to

ol (by t

ransit

ivity)

modif

spec.

Modif

tool's

input

full

matching

M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 5/17

Page 14: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

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

1 generation of a bydefault specification

2 Modif update

3 generation of thetarget metamodel

4 verification ofmatching

5 generation ofinjection

data

inje

ctio

n

in

input

specific

context

legacy tool out

output

specif

ic to

ol (by t

ransit

ivity)

modif

spec.

Modif

tool's

input

full

matching

M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 5/17

Page 15: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

Motivation Modif Reuse of rewriting tools Current and future works Conclusion

Example: a simulator for Finite State Machines (FSM)

begin

idle

running

nominal

degraded

go

go

go

nok ok

Legacy tool

1 takes a FSM complyingwith the simple FSMmetamodel

2 takes a set of incomingevents

3 produces a sequence ofreached states as anexecution trace

M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 6/17

Page 16: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

Motivation Modif Reuse of rewriting tools Current and future works Conclusion

Example: a simulator for Finite State Machines (FSM)

UML statecharts

much largermetamodel!

come withtool 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

Page 17: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

Motivation Modif Reuse of rewriting tools Current and future works Conclusion

Example: a simulator for Finite State Machines (FSM)

UML statecharts

much largermetamodel!

come withtool 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

Page 18: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

Motivation Modif Reuse of rewriting tools Current and future works Conclusion

Example: a simulator for Finite State Machines (FSM)

UML statecharts

much largermetamodel!

come withtool 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

Page 19: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

Motivation Modif Reuse of rewriting tools Current and future works Conclusion

Example: a simulator for Finite State Machines (FSM)

UML statecharts

much largermetamodel!

come withtool 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

Page 20: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

Motivation Modif Reuse of rewriting tools Current and future works Conclusion

Example: a simulator for Finite State Machines (FSM)

UML statecharts

much largermetamodel!

come withtool 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

Page 21: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

Motivation Modif Reuse of rewriting tools Current and future works Conclusion

Example: a simulator for Finite State Machines (FSM)

UML statecharts

much largermetamodel!

come withtool 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

Page 22: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

Motivation Modif Reuse of rewriting tools Current and future works Conclusion

Reusability of tool’s outcome

Contextualization

A Modifspecification canbe inverted toproduce atransformationfrom the tool’sdefinition domainback into thespecific context.

data

inje

ctio

n

in

abstract

data

legacy tool out

by transitivity

modif

spec.

Modif

tool's

inputfull matching

data'

co

nte

xtu

aliz

atio

n

concrete

data

modif

spec.

Modif

initial

contextfull matching

Without deletion, the composition of injection andcontextualization produces identity

Deleted data are lost

M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 8/17

Page 23: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

Motivation Modif Reuse of rewriting tools Current and future works Conclusion

Similar problems in other domains

The view-update problem in the contextof databases

Under which conditions updates onviews can be translated into updates onthe underlying database?

initial context: the underlyingdatabase

tool’s definition domain: view

rewriting tool: set of updatesapplied to the view

data

in

VIEW

updates out

translated updates data'

DATA

BASE

Modif is not restricted to functions to build views

only the effects of the legacy tool can be analysed

M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 9/17

Page 24: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

Motivation Modif Reuse of rewriting tools Current and future works Conclusion

Similar problems in other domains

Bidirectional transformations (lenses)

Propagation of updates betweenconnected structures (e.g. relevant formodel versioning) data1

data1'

MM v2

data2'

data2

MM v1

DIFF

injection and contextualization actually aim at implementingan asymmetrical lense...

but Modif is not intended to maintain the consistency of twometamodels

M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 10/17

Page 25: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

Motivation Modif Reuse of rewriting tools Current and future works Conclusion

Storage and recovery of deleted data

Data recovery

data arebacked up...

and referencedby keys

data

in

abstract

data

legacy tool out

by transitivity

modif

spec.

Modif

tool's

input

data'

concrete

data

modif

spec.

Modif

initial

context

data +

keys

annotated

concrete data

inje

ctio

n

co

nte

xtu

aliz

atio

n

full matching

full matching

two target metamodels are generated

the generated injection produces two sets of instances

a specialized version of contextualization performs a joint

M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 11/17

Page 26: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

Motivation Modif Reuse of rewriting tools Current and future works Conclusion

Join algorithm

data

in legacy tool out

data'

data +

keys

inje

ctio

n

co

nte

xtu

aliz

atio

n

1 For each instance of out with keyk, the corresponding instance ofdata+key with key k is used torecover deleted attributes

2 Each instance of data+key whoseclass had been deleted is recovered

3 Each reference of each instance ofout which itself or its source or itstarget had been deleted isrecovered

4 Keys are removed and then theinverted Modif is applied

M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 12/17

Page 27: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

Motivation Modif Reuse of rewriting tools Current and future works Conclusion

Join algorithm

data

in legacy tool out

data'

data +

keys

inje

ctio

n

co

nte

xtu

aliz

atio

n

1 For each instance of out with keyk, the corresponding instance ofdata+key with key k is used torecover deleted attributes

2 Each instance of data+key whoseclass had been deleted is recovered

3 Each reference of each instance ofout which itself or its source or itstarget had been deleted isrecovered

4 Keys are removed and then theinverted Modif is applied

M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 12/17

Page 28: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

Motivation Modif Reuse of rewriting tools Current and future works Conclusion

Join algorithm

data

in legacy tool out

data'

data +

keys

inje

ctio

n

co

nte

xtu

aliz

atio

n

1 For each instance of out with keyk, the corresponding instance ofdata+key with key k is used torecover deleted attributes

2 Each instance of data+key whoseclass had been deleted is recovered

3 Each reference of each instance ofout which itself or its source or itstarget had been deleted isrecovered

4 Keys are removed and then theinverted Modif is applied

M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 12/17

Page 29: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

Motivation Modif Reuse of rewriting tools Current and future works Conclusion

Join algorithm

data

in legacy tool out

data'

data +

keys

inje

ctio

n

co

nte

xtu

aliz

atio

n

1 For each instance of out with keyk, the corresponding instance ofdata+key with key k is used torecover deleted attributes

2 Each instance of data+key whoseclass had been deleted is recovered

3 Each reference of each instance ofout which itself or its source or itstarget had been deleted isrecovered

4 Keys are removed and then theinverted Modif is applied

M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 12/17

Page 30: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

Motivation Modif Reuse of rewriting tools Current and future works Conclusion

Join algorithm

data

in legacy tool out

data'

data +

keys

inje

ctio

n

co

nte

xtu

aliz

atio

n

1 For each instance of out with keyk, the corresponding instance ofdata+key with key k is used torecover deleted attributes

2 Each instance of data+key whoseclass had been deleted is recovered

3 Each reference of each instance ofout which itself or its source or itstarget had been deleted isrecovered

4 Keys are removed and then theinverted Modif is applied

M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 12/17

Page 31: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

Motivation Modif Reuse of rewriting tools Current and future works Conclusion

Limitations

The legacy tool is a black box

For now, only the effects of rewriting tools can be observed

no traceability between new instances and the existinginstances that have been used to compute them

the way the legacy tool is designed impacts its reusability:

it is higher for rewriting tools that give priority to updateinstead of recreation

the generated tools are helpers

M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 13/17

Page 32: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

Motivation Modif Reuse of rewriting tools Current and future works Conclusion

Example: a flattener for Finite State Machines (FSM)

Legacy rewriting tool: a flattener for simple FSM

Specific context: UML statecharts

including things that should be deleted (e.g. actions)...

M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 14/17

Page 33: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

Motivation Modif Reuse of rewriting tools Current and future works Conclusion

Example: a flattener for Finite State Machines (FSM)

Recovered and lost data

begin

idle

running

entry / start

exit / stop

nominal

entry / run1

degraded

go / init

go / raz

go

nok / runD ok

M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 15/17

Page 34: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

Motivation Modif Reuse of rewriting tools Current and future works Conclusion

Example: a flattener for Finite State Machines (FSM)

Recovered and lost data

begin

idle

running

nominal

degraded

go

go

go

nok ok

begin

idle

running

entry / start

exit / stop

nominal

entry / run1

degraded

go / init

go / raz

go

nok / runD ok

injection

M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 15/17

Page 35: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

Motivation Modif Reuse of rewriting tools Current and future works Conclusion

Example: a flattener for Finite State Machines (FSM)

Recovered and lost data

begin

idle

running

nominal

degraded

go

go

go

nok ok

begin

idle

running

entry / start

exit / stop

nominal

entry / run1

degraded

go / init

go / raz

go

nok / runD ok

begin

idle running nominal

running degraded

gonok ok

go

go

go

injection

fla

tte

ne

rM. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 15/17

Page 36: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

Motivation Modif Reuse of rewriting tools Current and future works Conclusion

Example: a flattener for Finite State Machines (FSM)

Recovered and lost data

begin

idle

running

nominal

degraded

go

go

go

nok ok

begin

idle

running

entry / start

exit / stop

nominal

entry / run1

degraded

go / init

go / raz

go

nok / runD ok

begin

idle running nominal

running degraded

gonok ok

go

go

gogo / raz

go / raz

begin

idlerunning nominal

running degraded

gonok / runD ok

go / init

entry / run1

injection

fla

tte

ne

r

fla

tte

ne

r

contextualization

M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 15/17

Page 37: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

Motivation Modif Reuse of rewriting tools Current and future works Conclusion

Current and future works

Graph semantics

Denotational semantics of Modif to formally:

prove the soundness of the join algorithmidentify a minimal set of core refactoring operations

Ability to add data

customizable rules to create default new instances

Levenshtein distance between two metamodels

to generate a modif specification between two givenmetamodels

the smallest distance between two semantically closemetamodels is expected to be relevant

M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 16/17

Page 38: A DSML for reversible transformations · 2016. 5. 13. · Mickaël Kerboeuf, Jean-Philippe Babau Subject: A DSML for reversible transformations Keywords: DSML, tool support, model

Motivation Modif Reuse of rewriting tools Current and future works Conclusion

Conclusion

Modif

a tranformation language dedicated to semantically closemetamodels

aims at promoting the reusability of legacy transformations

A relational mechanism upon Modif

to enable the reuse of endogenous transformations...

especially when they update instances

J.-P. Babau and M. Kerboeuf.Domain Specific Language Modeling Facilities.In proceedings of the 5th MoDELS workshop on Models andEvolution, 2011.

M. Kerboeuf & J.-P. Babau – A DSML for reversible transformations 17/17