Instant Bidirectional QVT Transformation for Runtime Models.

21
Instant Bidirectional QVT Transformation for Runtime Models
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    223
  • download

    0

Transcript of Instant Bidirectional QVT Transformation for Runtime Models.

Instant Bidirectional QVT Transformation for Runtime Models

Runtime models

• Models that represent the structure, configuration, etc., of an executing system– Monitoring the system by reading the model– Reconfiguring the system by writing the model– With full semantics basis and supporting tools

• A hot topic in the models community– “A new trend” by Robert France’s survey on MDE– A in last MoDELS, a topic in this one

Supporting runtime models

system Runtime system model

System meta-model

conforms to

RFID readers, tags, sensors…

Runtime application

model

Goods, storage…

Runtime application

model

Persons, things, rooms…

Different views according to different application concerns

Supporting runtime models

system Runtime system model

System meta-model

conforms to

Runtime application

model

Applicationmeta-modelrelation

conforms toGuided by

Causal connection

Approach overview

system Runtime system model

System meta-model in

MOF

conforms to

Runtime application

model

Applicationmeta-model in

MOF

Relation in QVT-R

conforms toGuided by

Instant QVT transformation

engine

Challenge

• Instant: – Traditional transformation is from model to model

• Inefficient when the models are big• System changes are small but frequent

– Require a new execution from change to change• With live models maintained as a reference

• Bidirectional:– Not bijective, one change may corresponds to many– Need a proper and determined semantics

Illustration

Batching transformationsr : SysRoot

name : pkusi

ar : AppRoot

name = pkusi

rm : Room

number = 1621temp = 16.0

ps : Person

name = Huiid = 102

th : Thing

name=phoneid = 104

root

room person thing

ownownerperson

locate

sn : Sensor

id = 1621temp=16.0Bright=620.0

rd : Reader

id = 1621

tg1 : Tag

id = 102

rootreader sensor

tag

reader

add:[rd, reader, tg2]

tg2 : Tag

id = 104

Why in-efficient: the impact of the change is not the whole model, but since the change is not considered, the impact scope is not utilized

Instant transformationsr : SysRoot

name : pkusi

ar : AppRoot

name = pkusi

rm : Room

number = 1621temp = 16.0

ps : Person

name = Huiid = 102

th : Thing

name=phoneid = 104

root

room person thing

ownownerperson

locate

sn : Sensor

id = 1621temp=16.0Bright=620.0

rd : Reader

id = 1621

tg1 : Tag

id = 102

rootreader sensor

tag

reader

add:[rd, reader, tg2]

tg2 : Tag

id = 104

set:[th, locate, rm]

About bidirectionalsr : SysRoot

name : pkusi

ar : AppRoot

name = pkusi

rm : Room

number = 1621temp = 16.0

ps : Person

name = Huiid = 102

th : Thing

name=phoneid = 104

root

room person thing

ownownerperson

locate

sn : Sensor

id = 1621temp=16.0Bright=620.0

rd : Reader

id = 1621

tg1 : Tag

id = 102

rootreader sensor

tag

reader

tg2 : Tag

id = 104

remove:[rd, reader, tg2]set:[th, locate, null]

destroy:[th]

Contributions of this paper

• Formal semantics of instant QVT transformation for runtime models

• Algorithms to implement instant QVT transformation

• An instant transformation engine based on mediniQVT

Formal semantics

• Abstraction:• Properties– Consistency:

– Stability:

– Restorability:

The algorithm

• Basic idea– Record the mapped model elements(traces)– Analyze the impact of the change• Influence no relations: stop• Influence a relation:

– Found the relevant traces, re-evaluate

• Cause new groups of elements to be mapped– Create new traces, record changes

• Cause an existing trace to fail– Delete the trace, roll-back the recorded changes

Detailed Algorithm

Evaluation

• Feasibility and effectiveness• Performance• Limitation

feasibility and effectiveness

• Main case study: Our SmartLab IOT system– System meta-model: rfid readers, tags, sensors, switches,

locks– Application meta-model: rooms, persons, things

• Scenarios:– Missing personal effects– Leaving the air-conditioner on– …

• Conforms to the expectations of scenario developers• Other case studies: JOnAS-C2, JOnAS-Client/Server

performance

• Made-up models conforming to IOT case– Control the scale– Eliminate other factors such as device invocations

100 200 300 400 5001

10

100

1000

10000

batchingcreationpropertiesirrelevant

Limitation

• For modeling– Every model element must has a key attribute– Only support unordered multiple properties

• For QVT– No “where” clause (but can use when)

Related work

• Runtime models– Usually based on code wrapping– One on TGG, but no discussion about runtime-model

specific semantics• Model transformation with semantics– On batching transformations

• Incremental transformation (supported by QVT)– Still model to model, not change to change

• Instant transformation– No transformation language, or TGG

Conclusion

• Runtime models and causal connections• A transformation-based approach to support

causal connections– Instant, bidirectional

• Semantics• Algorithms• Implementation and evaluation

Thank you for your attention