SlideShare a Scribd company logo
Towards a Framework for Multidirectional Model
Transformations
Nuno Macedo Alcino Cunha Hugo Pacheco
BX 2014
March 28, Athens, Greece
Introduction MX Dependencies Conclusion
MDE
• In MDE models are the primary development artifact;
• Multiple models must coexist in a consistent manner;
• Keeping two of those models consistent has been a main focus
of research in BX;
• However, not all consistency relations can be decomposed into
the BX scenario.
Nuno Macedo, Alcino Cunha, Hugo Pacheco 2 / 15
Introduction MX Dependencies Conclusion
QVT-R
• QVT-R is able to specify consistency between any number of
models;
• The standard semantics has known issues;
• Extensive work has been done on the bidirectional scenario;
• However, the multidirectional scenario has been disregarded.
Nuno Macedo, Alcino Cunha, Hugo Pacheco 3 / 15
Introduction MX Dependencies Conclusion
Multidirectional Scenario
name : String
Feature
name : String
mandatory: bool
Feature
• Consider the (very simplified) problem of keeping a feature
model consistent with k configurations;
• Mandatory features MF:
• MFCFi
: every mandatory feature is selected in every CFi ;
• MFFM: features selected in every configuration are set as
mandatory – not representable as BX;
• Optional features OF: selected features must exist in the
feature model.
Nuno Macedo, Alcino Cunha, Hugo Pacheco 4 / 15
Introduction MX Dependencies Conclusion
Multidirectional QVT-R Checking
• Extension of the bidirectional forall-there-exists quantifier
patterns with a single target;
• One predicate for every model: for all elements in all source
models, there exists at least one element in the target model.
Nuno Macedo, Alcino Cunha, Hugo Pacheco 5 / 15
Introduction MX Dependencies Conclusion
Multidirectional QVT-R Checking
top relation MF { n : String;
domain cf1 s1 : Feature { name = n }
domain cf2 s2 : Feature { name = n }
domain fm f : Feature { name = n,
mandatory = true } }
CF1 CF2 FM CF1 CF2 FM CF1 CF2 FM
MFFM MFCF1 MFCF2
Nuno Macedo, Alcino Cunha, Hugo Pacheco 6 / 15
Introduction MX Dependencies Conclusion
Multidirectional QVT-R Checking
∅ name : "f"
f1 : Feature
name : "f"
mandatory: True
f : Feature
cf 1 cf 2 fm
CF1 CF2 FM
∀ n : String, s1 : Featurecf 1
, s2 : Featurecf 2
) |
n = s1.name ∧ n = s2.name ⇒
(∃ f : Featurefm | n = f .name ∧ f ∈ mandatory)
• Desired behavior.
Nuno Macedo, Alcino Cunha, Hugo Pacheco 7 / 15
Introduction MX Dependencies Conclusion
Multidirectional QVT-R Checking
∅ name : "f"
f1 : Feature
name : "f"
mandatory: True
f : Feature
cf 1 cf 2 fm
CF1 CF2 FM
∀ n : String, f : Featurefm, s2 : Featurecf 2
|
n = f .name ∧ n = s2.name ∧ f ∈ mandatory ⇒
(∃ s1 : Featurecf 1
| n = s1.name)
• Trivially true: no extra conditions would fix it.
Nuno Macedo, Alcino Cunha, Hugo Pacheco 8 / 15
Introduction MX Dependencies Conclusion
Relation Dependencies
• No fixed combination of dependencies could specify the
transformation intentions;
• OF is not representable: QVT-R does not support asymmetric
relations;
• The model dependencies must be customizable;
• We propose an extension to handle these issues.
Nuno Macedo, Alcino Cunha, Hugo Pacheco 9 / 15
Introduction MX Dependencies Conclusion
Relation Dependencies
• We introduce the notion of consistency dependency;
• {M1, ..., M2 } → MT , MT = Mi ;
• A single target model depends on a set of source domains;
• Checking semantics runs a predicate for each dependency.
Nuno Macedo, Alcino Cunha, Hugo Pacheco 10 / 15
Introduction MX Dependencies Conclusion
Example Revisited
• MF : {CF1 CF2 → FM, FM → CF1, FM → CF2 }
CF1 CF2 FM CF1 CF2 FM CF1 CF2 FM
• OF : {CF1 → FM, CF2 → FM}
• Conservative extensions: standard semantics can be easily
implemented.
Nuno Macedo, Alcino Cunha, Hugo Pacheco 11 / 15
Introduction MX Dependencies Conclusion
Relation Invocations
• The direction of invocations should follow the direction of the
current check;
• Each dependency predicate should invoke relations under the
same dependency;
• May not exist: a relation R can be called by another S if the
dependencies of R entail those of S.
Nuno Macedo, Alcino Cunha, Hugo Pacheco 12 / 15
Introduction MX Dependencies Conclusion
Multidirectional QVT-R Enforcement
• The standard enforcement semantics also follow the
forall-there-exists pattern;
• A single target model is generated from all the sources;
•
−−→
MF : CF1 × CF2 → FM,
−−→
MF : CF2 × FM → CF1,
−−→
MF : CF1 × FM → CF2
• Too restrictive: consider the update of the feature model FM.
Nuno Macedo, Alcino Cunha, Hugo Pacheco 13 / 15
Introduction MX Dependencies Conclusion
Enforcement Semantics
• In previous work we proposed enforcement semantics based on
the principle of least change;
• Given a consistency relation and a model distance ∆, calculate
the closest consistent model;
• This can be trivially adapted to the multidirectional scenario
considering ∆ is generalized;
• The transformation shapes are specified by different ∆;
• E.g., ∆CF1×CF2 gives rise to
−−→
MF : FM → CF1 × CF2
Nuno Macedo, Alcino Cunha, Hugo Pacheco 14 / 15
Introduction MX Dependencies Conclusion
Conclusions
• We have explored multidirectional transformations under
QVT-R and shown that the language is too restrictive;
• We proposed an initial extension that allows the specification
of interesting examples;
• Also improves expressiveness in the bidirectional scenario:
allows the definition of asymmetric relations;
• Further work is required to test the expressiveness of the
dependency language.
Nuno Macedo, Alcino Cunha, Hugo Pacheco 15 / 15

More Related Content

PDF
Implementing QVT-R bidirectional model transformations using Alloy
PPT
Tmp
PDF
Speech recognition: Survey
PPT
Reginf pldi3
PDF
Comparison of Single Channel Blind Dereverberation Methods for Speech Signals
PPTX
PERFORMANCE VEHICULAR AD-HOC NETWORK (VANET)
PPTX
Testing Concurrent Programs to Achieve High Synchronization Coverage
PDF
Code matlab mô phỏng dung lượng kênh truy ền reyleght trong kĩ thuật mimo
Implementing QVT-R bidirectional model transformations using Alloy
Tmp
Speech recognition: Survey
Reginf pldi3
Comparison of Single Channel Blind Dereverberation Methods for Speech Signals
PERFORMANCE VEHICULAR AD-HOC NETWORK (VANET)
Testing Concurrent Programs to Achieve High Synchronization Coverage
Code matlab mô phỏng dung lượng kênh truy ền reyleght trong kĩ thuật mimo

What's hot (16)

PPTX
Vehicular Ad-hoc network (VANET)
DOCX
Mat lab for bplc
PDF
High Speed Decoding of Non-Binary Irregular LDPC Codes Using GPUs (Paper)
PDF
Sparse Random Network Coding for Reliable Multicast Services
PDF
Deformable Part Models are Convolutional Neural Networks
PDF
Reduced Energy Min-Max Decoding Algorithm for Ldpc Code with Adder Correction...
PPTX
Programacion Cuadratica
DOCX
Question bank of module iv packet switching networks
PPT
Thesis F. Redaelli UIC Slides EN
PDF
Consider the individual acknowledgment protocol with bounded sequence numbers...
PDF
Consider the individual acknowledgment protocol with bounded sequence numbers...
PDF
Performance Analysis on 802.11
PPT
3DD 1e SyCers
PDF
Reduced Complexity Maximum Likelihood Decoding Algorithm for LDPC Code Correc...
PDF
PDF
REPRESENTATION LEARNING FOR STATE APPROXIMATION IN PLATFORM GAMES
Vehicular Ad-hoc network (VANET)
Mat lab for bplc
High Speed Decoding of Non-Binary Irregular LDPC Codes Using GPUs (Paper)
Sparse Random Network Coding for Reliable Multicast Services
Deformable Part Models are Convolutional Neural Networks
Reduced Energy Min-Max Decoding Algorithm for Ldpc Code with Adder Correction...
Programacion Cuadratica
Question bank of module iv packet switching networks
Thesis F. Redaelli UIC Slides EN
Consider the individual acknowledgment protocol with bounded sequence numbers...
Consider the individual acknowledgment protocol with bounded sequence numbers...
Performance Analysis on 802.11
3DD 1e SyCers
Reduced Complexity Maximum Likelihood Decoding Algorithm for LDPC Code Correc...
REPRESENTATION LEARNING FOR STATE APPROXIMATION IN PLATFORM GAMES
Ad

Viewers also liked (20)

PPTX
pictures used
PPT
Кристаллическая решетка
PDF
Advancements in Rodent Surgical Monitoring
PDF
Jupiter's Acrux Commanders Acropolis Brocher
PDF
Parent education and high school achievement
PPT
CAP computer Aided Program for pronunciation
DOCX
Ec
PDF
critica
ODP
Revised Pitch
PPTX
UNIT 9 LIVING TOGETHER.
PPTX
Images used
PPTX
Expert system
DOCX
MALTRATO INFANTIL
PPTX
El hidrogeno y el carbono son los elementos
PPTX
Shopcherriescom
PDF
SoMIRAC nf text complexity
PPTX
Металлы
PPTX
Magazine analysis
PPT
Pollinition.
PPTX
PALCS Network Parent Rewards Program
pictures used
Кристаллическая решетка
Advancements in Rodent Surgical Monitoring
Jupiter's Acrux Commanders Acropolis Brocher
Parent education and high school achievement
CAP computer Aided Program for pronunciation
Ec
critica
Revised Pitch
UNIT 9 LIVING TOGETHER.
Images used
Expert system
MALTRATO INFANTIL
El hidrogeno y el carbono son los elementos
Shopcherriescom
SoMIRAC nf text complexity
Металлы
Magazine analysis
Pollinition.
PALCS Network Parent Rewards Program
Ad

Recently uploaded (20)

PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
cuic standard and advanced reporting.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
KodekX | Application Modernization Development
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Spectral efficient network and resource selection model in 5G networks
PPT
Teaching material agriculture food technology
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Electronic commerce courselecture one. Pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
cuic standard and advanced reporting.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Unlocking AI with Model Context Protocol (MCP)
KodekX | Application Modernization Development
Programs and apps: productivity, graphics, security and other tools
Reach Out and Touch Someone: Haptics and Empathic Computing
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Spectral efficient network and resource selection model in 5G networks
Teaching material agriculture food technology
sap open course for s4hana steps from ECC to s4
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Encapsulation_ Review paper, used for researhc scholars
The Rise and Fall of 3GPP – Time for a Sabbatical?
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Electronic commerce courselecture one. Pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...

Towards a Framework for Multidirectional Model Transformations

  • 1. Towards a Framework for Multidirectional Model Transformations Nuno Macedo Alcino Cunha Hugo Pacheco BX 2014 March 28, Athens, Greece
  • 2. Introduction MX Dependencies Conclusion MDE • In MDE models are the primary development artifact; • Multiple models must coexist in a consistent manner; • Keeping two of those models consistent has been a main focus of research in BX; • However, not all consistency relations can be decomposed into the BX scenario. Nuno Macedo, Alcino Cunha, Hugo Pacheco 2 / 15
  • 3. Introduction MX Dependencies Conclusion QVT-R • QVT-R is able to specify consistency between any number of models; • The standard semantics has known issues; • Extensive work has been done on the bidirectional scenario; • However, the multidirectional scenario has been disregarded. Nuno Macedo, Alcino Cunha, Hugo Pacheco 3 / 15
  • 4. Introduction MX Dependencies Conclusion Multidirectional Scenario name : String Feature name : String mandatory: bool Feature • Consider the (very simplified) problem of keeping a feature model consistent with k configurations; • Mandatory features MF: • MFCFi : every mandatory feature is selected in every CFi ; • MFFM: features selected in every configuration are set as mandatory – not representable as BX; • Optional features OF: selected features must exist in the feature model. Nuno Macedo, Alcino Cunha, Hugo Pacheco 4 / 15
  • 5. Introduction MX Dependencies Conclusion Multidirectional QVT-R Checking • Extension of the bidirectional forall-there-exists quantifier patterns with a single target; • One predicate for every model: for all elements in all source models, there exists at least one element in the target model. Nuno Macedo, Alcino Cunha, Hugo Pacheco 5 / 15
  • 6. Introduction MX Dependencies Conclusion Multidirectional QVT-R Checking top relation MF { n : String; domain cf1 s1 : Feature { name = n } domain cf2 s2 : Feature { name = n } domain fm f : Feature { name = n, mandatory = true } } CF1 CF2 FM CF1 CF2 FM CF1 CF2 FM MFFM MFCF1 MFCF2 Nuno Macedo, Alcino Cunha, Hugo Pacheco 6 / 15
  • 7. Introduction MX Dependencies Conclusion Multidirectional QVT-R Checking ∅ name : "f" f1 : Feature name : "f" mandatory: True f : Feature cf 1 cf 2 fm CF1 CF2 FM ∀ n : String, s1 : Featurecf 1 , s2 : Featurecf 2 ) | n = s1.name ∧ n = s2.name ⇒ (∃ f : Featurefm | n = f .name ∧ f ∈ mandatory) • Desired behavior. Nuno Macedo, Alcino Cunha, Hugo Pacheco 7 / 15
  • 8. Introduction MX Dependencies Conclusion Multidirectional QVT-R Checking ∅ name : "f" f1 : Feature name : "f" mandatory: True f : Feature cf 1 cf 2 fm CF1 CF2 FM ∀ n : String, f : Featurefm, s2 : Featurecf 2 | n = f .name ∧ n = s2.name ∧ f ∈ mandatory ⇒ (∃ s1 : Featurecf 1 | n = s1.name) • Trivially true: no extra conditions would fix it. Nuno Macedo, Alcino Cunha, Hugo Pacheco 8 / 15
  • 9. Introduction MX Dependencies Conclusion Relation Dependencies • No fixed combination of dependencies could specify the transformation intentions; • OF is not representable: QVT-R does not support asymmetric relations; • The model dependencies must be customizable; • We propose an extension to handle these issues. Nuno Macedo, Alcino Cunha, Hugo Pacheco 9 / 15
  • 10. Introduction MX Dependencies Conclusion Relation Dependencies • We introduce the notion of consistency dependency; • {M1, ..., M2 } → MT , MT = Mi ; • A single target model depends on a set of source domains; • Checking semantics runs a predicate for each dependency. Nuno Macedo, Alcino Cunha, Hugo Pacheco 10 / 15
  • 11. Introduction MX Dependencies Conclusion Example Revisited • MF : {CF1 CF2 → FM, FM → CF1, FM → CF2 } CF1 CF2 FM CF1 CF2 FM CF1 CF2 FM • OF : {CF1 → FM, CF2 → FM} • Conservative extensions: standard semantics can be easily implemented. Nuno Macedo, Alcino Cunha, Hugo Pacheco 11 / 15
  • 12. Introduction MX Dependencies Conclusion Relation Invocations • The direction of invocations should follow the direction of the current check; • Each dependency predicate should invoke relations under the same dependency; • May not exist: a relation R can be called by another S if the dependencies of R entail those of S. Nuno Macedo, Alcino Cunha, Hugo Pacheco 12 / 15
  • 13. Introduction MX Dependencies Conclusion Multidirectional QVT-R Enforcement • The standard enforcement semantics also follow the forall-there-exists pattern; • A single target model is generated from all the sources; • −−→ MF : CF1 × CF2 → FM, −−→ MF : CF2 × FM → CF1, −−→ MF : CF1 × FM → CF2 • Too restrictive: consider the update of the feature model FM. Nuno Macedo, Alcino Cunha, Hugo Pacheco 13 / 15
  • 14. Introduction MX Dependencies Conclusion Enforcement Semantics • In previous work we proposed enforcement semantics based on the principle of least change; • Given a consistency relation and a model distance ∆, calculate the closest consistent model; • This can be trivially adapted to the multidirectional scenario considering ∆ is generalized; • The transformation shapes are specified by different ∆; • E.g., ∆CF1×CF2 gives rise to −−→ MF : FM → CF1 × CF2 Nuno Macedo, Alcino Cunha, Hugo Pacheco 14 / 15
  • 15. Introduction MX Dependencies Conclusion Conclusions • We have explored multidirectional transformations under QVT-R and shown that the language is too restrictive; • We proposed an initial extension that allows the specification of interesting examples; • Also improves expressiveness in the bidirectional scenario: allows the definition of asymmetric relations; • Further work is required to test the expressiveness of the dependency language. Nuno Macedo, Alcino Cunha, Hugo Pacheco 15 / 15