declarative model transformations
play

DECLARATIVE MODEL TRANSFORMATIONS WITH TRIPLE GRAPH GRAMMARS - PowerPoint PPT Presentation

Anthony Anjorin DECLARATIVE MODEL TRANSFORMATIONS WITH TRIPLE GRAPH GRAMMARS https://trello.com What is bx /box/? incremental updates model synchronisation change propagation bx = bidirectional transformations consistency


  1. Anthony Anjorin DECLARATIVE MODEL TRANSFORMATIONS WITH TRIPLE GRAPH GRAMMARS

  2. https://trello.com

  3. What is “ bx ” /box/? incremental updates model synchronisation … change propagation bx = bidirectional transformations consistency restoration reversible computations Anthony Anjorin: Declarative Model Transformations with Triple Graph Grammars 4

  4. Model-Driven Engineering Vision: 2066 domain experts should be able to solve problems in their respective domains consistent data exchange powered by bidirectional transformations (bx) using suitable domain specific languages Perdita Stevens: https://youtu.be/sxhGwJkcDuI end users can rely on a consistent software system Anthony Anjorin: Declarative Model Transformations with Triple Graph Grammars 5

  5. Our Example: A MediWare Application Medication Supply Verification, Task Management Validation or goal Complex System (bidirectional) (bidirectional) Transformations Transformations Model Model Platform a “patient dashboard” application to ensure that the hospital has doctor prescribes a certain adequate supplies, this prescription drug via its generic name is mapped to a concrete brand (e.g., Aspirin ) (e.g., Buffaprin ) Jens H. Weber, Simon Diemert, Morgan Price: 
 Using Graph Transformations for Formalizing Prescriptions and Monitoring Adherence. ICGT 2015: 205-220 Anthony Anjorin: Declarative Model Transformations with Triple Graph Grammars 6

  6. Our Running Example: A MediWare Application Medication Supply Verification, Task Management Validation or goal Complex System (bidirectional) (bidirectional) Transformations Transformations my models contain some changes I make should be Model Model Platform extra information though! automatically propagated… I only care about I do not want to share my whole prescriptions, everything model. I only want to share what else is irrelevant for me. is absolutely necessary. Anthony Anjorin: Declarative Model Transformations with Triple Graph Grammars 7

  7. Consistency Maintenance patient information, doctors in the hospital, … prescriptions (via generic names) this must be kept consistent in both models! mapping to concrete brands Anthony Anjorin: Declarative Model Transformations with Triple Graph Grammars 8

  8. MDE Vision: 2066 MediSoft MediSupply let’s build those wires! Perdita Stevens: https://youtu.be/sxhGwJkcDuI Anthony Anjorin: Declarative Model Transformations with Triple Graph Grammars 9

  9. The name of the bx game Nodes are models, arrows are deltas, dashed outline indicates derived elements r r A B A B 7 ! 7! bpg fpg a a b b r' r' A' B' B' A' Anthony Anjorin: Declarative Model Transformations with Triple Graph Grammars 10

  10. What’s a Model Space? Nodes are sets, arrows are total functions assigns every src all deltas in delta a source model space A model id A M A ∆ A also referred to as vertical deltas all models in assigns every trg model space A delta a target model Anthony Anjorin: Declarative Model Transformations with Triple Graph Grammars 11

  11. What’s a Model Space? Nodes are sets, arrows are total functions src assigns every model an idle delta id A M A ∆ A this will be important later trg Anthony Anjorin: Declarative Model Transformations with Triple Graph Grammars 12

  12. What’s a Triple Space? Nodes are sets, arrows are total functions all models in model space B trg src M A M B ∆ AB horizontal deltas all models in (or correspondence model space A models) Anthony Anjorin: Declarative Model Transformations with Triple Graph Grammars 13

  13. What’s a Triple Space? Nodes are sets, arrows are total functions modelspace A src B src A trg src M A M B ∆ B ∆ A ∆ AB trg A trg B R modelspace B R A → B ← Anthony Anjorin: Declarative Model Transformations with Triple Graph Grammars 14

  14. Symmetric Delta Lenses (SDL) Nodes are sets, arrows are total functions ∆ AB × ∆ B source target model bpg model space space source src A src B models trg src M A M B ∆ AB ∆ B ∆ A source correspondence trg A trg B deltas models fpg ∆ AB × ∆ A an SDL is a pair of functions … with all incidence conditions fpg and bpg operating in a R indicated on previous slide given triple space A → B ← Anthony Anjorin: Declarative Model Transformations with Triple Graph Grammars 15

  15. A MediSoft < > MediSupply Triple and Deltas trg nodes are sets, src M A M B ∆ AB arrows are functions trg(AB) nodes are models, A AB B arrows are mappings src(AB) :HospitalTo source target :Hospital :DosagePlan DosagePlan name = "Springfield General Hospital" patients doctors dosages pharmaceuticals :Doctor :MedicationTo source target :Aspirin :Dosage Dosage name = "Nick Riviera" Brand = Ascriptin prescribed patients :Patient name = "Lisa" Anthony Anjorin: Declarative Model Transformations with Triple Graph Grammars 16

  16. A MediSoft < > MediSupply Triple and Deltas trg src M A M B ∆ AB A AB B this is also (in general), a models realised as typed, attributed graph typed, attributed graphs :HospitalTo source target :Hospital :DosagePlan DosagePlan name = "Springfield General Hospital" patients doctors dosages pharmaceuticals :Doctor :MedicationTo source target :Aspirin :Dosage Dosage name = "Nick Riviera" Brand = Ascriptin prescribed patients :Patient name = "Lisa" Anthony Anjorin: Declarative Model Transformations with Triple Graph Grammars 17

  17. A MediSoft < > MediSupply Triple and Deltas trg src M A M B ∆ AB A AB B this mapping can be realised as a typed graph morphism :HospitalTo source target :Hospital :DosagePlan DosagePlan name = "Springfield General Hospital" patients doctors dosages pharmaceuticals :Doctor :MedicationTo source target :Aspirin :Dosage Dosage name = "Nick Riviera" Brand = Ascriptin prescribed patients :Patient name = "Lisa" Anthony Anjorin: Declarative Model Transformations with Triple Graph Grammars 18

  18. :HospitalTo source target :Hospital :DosagePlan DosagePlan name = "Springfield General Hospital" patients doctors pharmaceuticals :Doctor :Aspirin name = "Nick Riviera" patients :Patient name = "Lisa" one could also choose to have vertical deltas on correspondence models :HospitalTo source target :Hospital :DosagePlan DosagePlan name = "Springfield General Hospital" patients doctors dosages pharmaceuticals :Doctor :MedicationTo source target :Aspirin :Dosage Dosage name = "Nick Riviera" Brand = Ascriptin prescribed patients :Patient name = "Lisa"

  19. Specifying SDLs R A → B ← given a triple space, how do we specify an SDL? r r A B A B Idea 1: 7 ! 7! bpg fpg Enumerate all squares: a a b b r' r' A' B' B' A' not really feasible… but why not? Anthony Anjorin: Declarative Model Transformations with Triple Graph Grammars 20

  20. Exhaustive Enumeration :HospitalTo source target :Hospital :DosagePlan DosagePlan name = "Springfield General Hospital" patients doctors pharmaceuticals :Doctor :Aspirin name = "Nick Riviera" patients :Patient name = "Lisa" Anthony Anjorin: Declarative Model Transformations with Triple Graph Grammars 21

  21. :HospitalTo source target :Hospital :DosagePlan DosagePlan name = "Springfield General Hospital" patients doctors pharmaceuticals :Doctor :Aspirin name = "Nick Riviera" patients 7! :Patient fpg name = "Lisa" :HospitalTo source target :DosagePlan :Hospital DosagePlan name = "Springfield General Hospital" dosages patients doctors pharmaceuticals :Doctor :MedicationTo source target :Dosage :Aspirin Dosage name = "Nick Riviera" Brand = Ascriptin patients prescribed :Patient name = "Lisa"

  22. Simultaneous , exhaustive enumeration r A B Idea 2: ! ! 7 7 Enumerate all squares representing a b combined fpg and bpg squares bpg fpg r' B' A' still infeasible, but quite a nice idea… Why? • promotes “symmetrical” thinking and avoids favouring either fpg or bpg • easier to enforce “good” lens specifications • we obviously only have to enumerate half of all squares (still typically infinitely many) Anthony Anjorin: Declarative Model Transformations with Triple Graph Grammars 23

  23. :HospitalTo source target :Hospital :DosagePlan DosagePlan name = "Springfield General Hospital" patients doctors pharmaceuticals :Doctor :Aspirin 7! 7! name = "Nick Riviera" patients :Patient name = "Lisa" bpg fpg :HospitalTo source target :DosagePlan :Hospital DosagePlan name = "Springfield General Hospital" dosages patients doctors pharmaceuticals :Doctor :MedicationTo source target :Dosage :Aspirin Dosage name = "Nick Riviera" Brand = Ascriptin patients prescribed :Patient name = "Lisa"

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend