1 / 21

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

misu
Download Presentation

Instant Bidirectional QVT Transformation for Runtime Models

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Instant Bidirectional QVT Transformation for Runtime Models

  2. 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

  3. Supporting runtime models Goods, storage… System meta-model Runtime application model conforms to Different views according to different application concerns system Runtime application model Runtime system model RFID readers, tags, sensors… Persons, things, rooms…

  4. Supporting runtime models Applicationmeta-model System meta-model relation conforms to conforms to Guided by system Runtime application model Runtime system model Causal connection

  5. Approach overview Applicationmeta-model in MOF System meta-model in MOF Relation in QVT-R conforms to conforms to Guided by system Runtime application model Runtime system model Instant QVT transformation engine

  6. 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

  7. Illustration

  8. Batching transformation th : Thing ps : Person rm : Room rd : Reader sn : Sensor sr : SysRoot ar : AppRoot tg1 : Tag tg2 : Tag name=phone id = 104 id = 1621 temp=16.0 Bright=620.0 number = 1621 temp = 16.0 name : pkusi id = 1621 name = Hui id = 102 id = 104 id = 102 name = pkusi root root room person thing sensor reader reader owner person own locate tag 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 add:[rd, reader, tg2]

  9. Instant transformation th : Thing ps : Person rm : Room rd : Reader sn : Sensor sr : SysRoot ar : AppRoot tg1 : Tag tg2 : Tag name=phone id = 104 id = 1621 temp=16.0 Bright=620.0 number = 1621 temp = 16.0 name : pkusi id = 1621 name = Hui id = 102 id = 104 id = 102 name = pkusi root root room person thing sensor reader reader owner person own locate tag set:[th, locate, rm] add:[rd, reader, tg2]

  10. About bidirectional th : Thing ps : Person rm : Room rd : Reader sn : Sensor sr : SysRoot ar : AppRoot tg2 : Tag tg1 : Tag name=phone id = 104 id = 1621 temp=16.0 Bright=620.0 id = 1621 name : pkusi number = 1621 temp = 16.0 id = 104 id = 102 name = Hui id = 102 name = pkusi root root room person thing sensor reader reader owner person own locate tag set:[th, locate, null] remove:[rd, reader, tg2] destroy:[th]

  11. 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

  12. Formal semantics • Abstraction: • Properties • Consistency: • Stability: • Restorability:

  13. 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

  14. Detailed Algorithm

  15. Evaluation • Feasibility and effectiveness • Performance • Limitation

  16. 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

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

  18. 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)

  19. 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

  20. Conclusion • Runtime models and causal connections • A transformation-based approach to support causal connections • Instant, bidirectional • Semantics • Algorithms • Implementation and evaluation

  21. Thank you for your attention

More Related