SlideShare uma empresa Scribd logo
1 de 37
Dipartimento di Ingegneria e Scienze
Università degli Studi dell’Aquila
dell’Informazione e Matematica
Uncertainty in Bidirectional
Transformations
Alfonso Pierantonio
Romina Eramo
Gianni Rosa
In spite of its relevance,
bidirectionality has rarely produced
anticipated benefits.
Why?
Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering
3
Model Transformations
A model transformation is an automatable way of
ensuring that a family of models is consistent, in a precise
sense which the software engineer can define.
The aim of using a model transformation is to save effort
and reduce errors by automating the building and
modification of models where possible.
Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering
4
Model Transformations
A model transformation is an automatable way of
ensuring that a family of models is consistent, in a precise
sense which the software engineer can define.
The aim of using a model transformation is to save effort
and reduce errors by automating the building and
modification of models where possible.
Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering
5
Bidirectionality
Bidirectionality is necessary whenever people are
working on more than one model and the models
must be kept consistent.
The relevance of bidirectionality has been advocated
already in 2005 by OMG’s QVT standard, in particular
the QVT Relations (QVT-R) language.
Current approaches include also Triple Graph
Grammars (TGGs), SyncATL, JTL, and
GRoundTram.
Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering
6
Non-bijectivity
Most examples of bidirectional transformations are
non-bijective, therefore there may be multiple ways
to transform two models into a consistent state,
introducing uncertainty and non-determinism.
Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering
7
Non-bijectivity
Most examples of bidirectional transformations are
not bijective, therefore there may be multiple ways to
transform two models into a consistent state,
introducing uncertainty and non-determinism.
?
Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering
8
Unclear semantics of bidirectionality
Existing bidirectional languages translate a non-
deterministic specification into an actual bidirectional
transformation procedure.
Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering
9
Unclear semantics of bidirectionality
Existing bidirectional languages translate a non-
deterministic specification into an actual bidirectional
transformation procedure.
Consistency is enforced by imposing a specific
«update policy» determined by foreign and unknown
factors, ie. language implementation, heuristics, and
rule order.
Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering
10
Unclear semantics of bidirectionality
Existing bidirectional languages translate a non-
deterministic specification into an actual bidirectional
transformation procedure.
Consistency is enforced by imposing a specific
«update policy» determined by foreign and unknown
factors, eg. language implementation, heuristics, and
rule order.
As a consequence, result is unpredictable and
developers have little or no control on the «update
policy».
Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering
11
Solution
Neglecting non-determinism in non-bijective
transformations hampered the adoption of
bidirectional transformations
– Managing the uncertainty: all admissible solutions must
be generated at once letting the designer choose the
desired one
– Managing the update policy: an intentional (and general)
«update policy» is adopted and implemented at design-
time (cfr. [1])
[1] Zan Tao, Hugo Pacheco, and Zhenjiang Hu. "Writing bidirectional model transformations as
intentional updates." Companion Proceedings of the 36th International Conference on Software
Engineering. ACM, 2014.
Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering
12
Non-deterministic languages
Over the last yeast, new languages/semantics have
been proposed
– Janus Transformation Language (JTL)
– Alloy-based Semantics for QVT-R
They are able to produce more than one result.
Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering
13
Janus Transformation Language (JTL)
JTL has formal semantics based on Answer Set
Programming (ASP) and therefore can be considered
a constraint-based approach.
ASP is a form of logic programming with non-
monotonic reasoning related to SAT. Several solvers
are available, eg. DLV.
JTL is embedded in a framework available on the
Eclipse platform and can be applied to Ecore
metamodels
source target
T
Manual Changes
Hierarchical State Machine
Non-hierarchical state
machine obtained by
flattening the source model
source target
T
Manual Changes
The designer performs
some manual changes on
the generated model
Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering
16
Specifying transformation with JTL
Fragment of the HSM2NHSM transformation
specified in JTL
16
transformation hsm2nhsm(source : HSM, target : NHSM) {
top relation StateMachine2StateMachine {
enforce domain source sSM : HSM::StateMachine;
enforce domain target tSM : NHSM::StateMachine;
}
top relation State2State {
enforce domain source sourceState : HSM::State;
enforce domain target targetState : NHSM::State;
when {
sourceState.owningCompositeState.oclIsUndefined();
}
}
top relation CompositeState2State {
enforce domain source sourceState : HSM::CompositeState;
enforce domain target targetState : NHSM::State;
}
}
Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering
17
transformation hsm2nhsm(source : HSM, target : NHSM) {
top relation StateMachine2StateMachine {
enforce domain source sSM : HSM::StateMachine;
enforce domain target tSM : NHSM::StateMachine;
}
top relation State2State {
enforce domain source sourceState : HSM::State;
enforce domain target targetState : NHSM::State;
when {
sourceState.owningCompositeState.oclIsUndefined();
}
}
top relation CompositeState2State {
enforce domain source sourceState : HSM::CompositeState;
enforce domain target targetState : NHSM::State;
}
}
Specifying transformation with JTL
Fragment of the HSM2NHSM transformation
specified in JTL
17
It transforms hierarchical state
machines into flat state machines and
the other way round.
Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering
18
transformation hsm2nhsm(source : HSM, target : NHSM) {
top relation StateMachine2StateMachine {
enforce domain source sSM : HSM::StateMachine;
enforce domain target tSM : NHSM::StateMachine;
}
top relation State2State {
enforce domain source sourceState : HSM::State;
enforce domain target targetState : NHSM::State;
when {
sourceState.owningCompositeState.oclIsUndefined();
}
}
top relation CompositeState2State {
enforce domain source sourceState : HSM::CompositeState;
enforce domain target targetState : NHSM::State;
}
}
Specifying transformation with JTL
Fragment of the HSM2NHSM transformation
specified in JTL
18
The forward transformation is clearly non-injective:
both «State» and «CompositeState» are mapped
to the same target «State»
Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering
19
transformation hsm2nhsm(source : HSM, target : NHSM) {
top relation StateMachine2StateMachine {
enforce domain source sSM : HSM::StateMachine;
enforce domain target tSM : NHSM::StateMachine;
}
top relation State2State {
enforce domain source sourceState : HSM::State;
enforce domain target targetState : NHSM::State;
when {
sourceState.owningCompositeState.oclIsUndefined();
}
}
top relation CompositeState2State {
enforce domain source sourceState : HSM::CompositeState;
enforce domain target targetState : NHSM::State;
}
}
Specifying transformation with JTL
Fragment of the HSM2NHSM transformation
specified in JTL
19
The forward transformation is clearly non-injective:
both «State» and «CompositeState» are mapped
to the same target «State»
Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering
22
Requirements for bidirectional transformations
A bidirectional transformation is a relation
R  M ´ N
characterized by the following directional mappings
R : M ´ N  N*
R : M ´ N  M*
where R takes a pair of models (m, n) and enforces
the relation R. R does it in the opposite direction.
P. Stevens. Bidirectional model transformations in QVT: semantic issues and open questions. SOSYM, 8,
2009.
Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering
23
Requirements for bidirectional transformations
A bidirectional transformation is a relation
R  M ´ N
characterized by the following directional mappings
R : M ´ N  N*
R : M ´ N  M*
where R takes a pair of models (m, n) and enforces
the relation R. R does it in the opposite direction.
Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering
24
Requirements for bidirectional transformations
Ippocraticness
If (m,n) are consistent, ie. (m,n)  R  M ´ N then
R(m,n) = n and R(m,n) = m
Reachability
If R(m, n’) = m*  M*, then R(m’, n’) = n’  N for each
m’  m*
Choice preservation
R(m’,R(m’,n’)) = m’ for each m’  m*
T
Manual Changes
T
The designer performs
some manual changes on
the generated model
Modifications on the target are
back propagated to the source
which is consistently updated
making use of tracing
information
source target
Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering
31
Pragmatics
Dealing with medium-large size models poses many
pragmatic problems due to the combinatorial
explosion of the solution space.
Determining differences and commonalities among
the models by traversing and inspecting the solution
space is impractical.
An intensive representation of the solution space
generated by a JTL transformation is sought to
support traversal and inspection of the models
throughout the solution space.
Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering
32
Uncertainty
Our proposal is to represent the variability in the
solution space by means of models with uncertainty
in the sense of [2].
[2] Salay, R., Chechik, M., Horkoff, J., & Di Sandro, A. (2013). Managing requirements
uncertainty with partial models. Requirements Engineering, 18(2), 107-128.
Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering
33
Uncertainty
The JTL semantics has been extended in order to
factorize the solution space and generate a model
with uncertainty instead of a set of models.
Uncertainty Metamodel
For any metamodel M an uncertainty metamodel
U(M) can obtained by means of an automated
transfromation
U: Ecore  Ecore
Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering
34
Uncertainty metamodel
metamodel-independence, the metamodel must be
agnostic of the base metamodel.
model-based, a set of models representing different
solution alternatives must be represented with a model
with uncertainty.
minimality, a model with uncertainty should not contain
any unnecessary information besides what actually
needed.
interoperability, each model containing uncertainty must
be applicable an unfolding operation, such that whenever
applied to it returns all the correspondent concretizations
models or the specific concretization selected by the
designer.
HSM metamodel
Example
The generated U(HSM) metamodel
Example
Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering
37
Operators
Once the uncertainty metamodel U(M) is
automatically defined starting from the base
metamodel M, interoperability between the base and
the uncertainty metamodels is necessary
– Concretization operator: takes a model with uncertainty
m* and returns the set of concretizations <m1 … mn>
– Refinement operator: takes a model with uncertainty m*
and a predicate p and returns the set of models m
satisfying the predicate
Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering
38
Uncertainty and Bidirectionality
A bidirectional transformation is characterized by the
following directional mappings
Ru : M ´ N  U(N) ´ Ocl
Ru : M ´ N  U(M) ´ Ocl
where U(N) and U(M) are the uncertainty
metamodels automatically obtained from N and M.
If (m,n) is not in R  M ´ N then Ru(m,n) = (n,pN) where
n is a model with uncertainty in U(N) and pN a
predicate over N.
Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering
39
Uncertainty and Bidirectionality
If (m,n) is not in R  M ´ N then Ru(m,n) = (n,pN) where
n is a model with uncertainty in U(N) and pN a
predicate over N such that
concr(Ru(m,n’)) = m = R(m,n’)
for any n’ in refine(n,pN)
Example
Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering
41
Conclusion
The JTL semantics has been refined in order to be
able to generate directly the model with uncertainty
semantically corresponding to the complete solution
space.
The approach is implemented on Eclipse/EMF.
In spite of its relevance,
bidirectionality has rarely produced
anticipated benefits
Why?
«The developer needs full control of what
the transformation does. [...] We claim that
determinism is necessary in order to ensure,
first, that developers will find tool behavior
predictable, and second, that organisations
will not be unacceptably “locked in” to the
tool they first use.»
P. Stevens. Bidirectional model transformations in QVT: semantic issues and open questions. SOSYM, 8,
2009.
Claiming the determinism is
necessary to ensure that developers
will find tool behavior predictable is
unneeded.
Anthropology problem
we often refer to transformation languages as
niche programming languages, ie deterministic
and sequential.

Mais conteúdo relacionado

Mais procurados

Why C is Called Structured Programming Language
Why C is Called Structured Programming LanguageWhy C is Called Structured Programming Language
Why C is Called Structured Programming LanguageSinbad Konick
 
High quality implementation for
High quality implementation forHigh quality implementation for
High quality implementation forijseajournal
 
CS152 Programming Paradigm
CS152 Programming Paradigm CS152 Programming Paradigm
CS152 Programming Paradigm Kaya Ota
 
Deep Learning for Machine Translation - A dramatic turn of paradigm
Deep Learning for Machine Translation - A dramatic turn of paradigmDeep Learning for Machine Translation - A dramatic turn of paradigm
Deep Learning for Machine Translation - A dramatic turn of paradigmMeetupDataScienceRoma
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & LanguagesGaditek
 
INTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMINGINTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMINGJEENA SARA VIJU
 
Introduction to C Programming - I
Introduction to C Programming - I Introduction to C Programming - I
Introduction to C Programming - I vampugani
 
Programming Paradigms Seminar 1
Programming Paradigms Seminar 1Programming Paradigms Seminar 1
Programming Paradigms Seminar 1neoxiuting
 
Introduction to C programming
Introduction to C programmingIntroduction to C programming
Introduction to C programmingRokonuzzaman Rony
 
Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)
Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)
Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)Deep Learning Italia
 
Financial Risk Mgt - Lec 1 by dr. syed muhammad ali tirmizi
Financial Risk Mgt - Lec 1 by dr. syed muhammad ali tirmiziFinancial Risk Mgt - Lec 1 by dr. syed muhammad ali tirmizi
Financial Risk Mgt - Lec 1 by dr. syed muhammad ali tirmiziDr. Muhammad Ali Tirmizi., Ph.D.
 
Financial Risk Mgt - Lec 4 by Dr. Syed Muhammad Ali Tirmizi
Financial Risk Mgt - Lec 4 by Dr. Syed Muhammad Ali TirmiziFinancial Risk Mgt - Lec 4 by Dr. Syed Muhammad Ali Tirmizi
Financial Risk Mgt - Lec 4 by Dr. Syed Muhammad Ali TirmiziDr. Muhammad Ali Tirmizi., Ph.D.
 
Introduction to c
Introduction to cIntroduction to c
Introduction to camol_chavan
 

Mais procurados (20)

Procedural programming
Procedural programmingProcedural programming
Procedural programming
 
Why C is Called Structured Programming Language
Why C is Called Structured Programming LanguageWhy C is Called Structured Programming Language
Why C is Called Structured Programming Language
 
C language
C languageC language
C language
 
High quality implementation for
High quality implementation forHigh quality implementation for
High quality implementation for
 
Prgramming paradigms
Prgramming paradigmsPrgramming paradigms
Prgramming paradigms
 
CS152 Programming Paradigm
CS152 Programming Paradigm CS152 Programming Paradigm
CS152 Programming Paradigm
 
C Language
C LanguageC Language
C Language
 
Deep Learning for Machine Translation - A dramatic turn of paradigm
Deep Learning for Machine Translation - A dramatic turn of paradigmDeep Learning for Machine Translation - A dramatic turn of paradigm
Deep Learning for Machine Translation - A dramatic turn of paradigm
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & Languages
 
INTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMINGINTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMING
 
Introduction to C Programming - I
Introduction to C Programming - I Introduction to C Programming - I
Introduction to C Programming - I
 
Programming Paradigms Seminar 1
Programming Paradigms Seminar 1Programming Paradigms Seminar 1
Programming Paradigms Seminar 1
 
Introduction to C programming
Introduction to C programmingIntroduction to C programming
Introduction to C programming
 
C_Programming_Notes_ICE
C_Programming_Notes_ICEC_Programming_Notes_ICE
C_Programming_Notes_ICE
 
Paradigms
ParadigmsParadigms
Paradigms
 
Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)
Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)
Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)
 
Financial Risk Mgt - Lec 1 by dr. syed muhammad ali tirmizi
Financial Risk Mgt - Lec 1 by dr. syed muhammad ali tirmiziFinancial Risk Mgt - Lec 1 by dr. syed muhammad ali tirmizi
Financial Risk Mgt - Lec 1 by dr. syed muhammad ali tirmizi
 
Introduction to C Programming
Introduction to C ProgrammingIntroduction to C Programming
Introduction to C Programming
 
Financial Risk Mgt - Lec 4 by Dr. Syed Muhammad Ali Tirmizi
Financial Risk Mgt - Lec 4 by Dr. Syed Muhammad Ali TirmiziFinancial Risk Mgt - Lec 4 by Dr. Syed Muhammad Ali Tirmizi
Financial Risk Mgt - Lec 4 by Dr. Syed Muhammad Ali Tirmizi
 
Introduction to c
Introduction to cIntroduction to c
Introduction to c
 

Semelhante a Uncertainty in Bidirectional Model Transformations

Non determinism and bidirectional model transformations
Non determinism and bidirectional model transformationsNon determinism and bidirectional model transformations
Non determinism and bidirectional model transformationsAlfonso Pierantonio
 
Generating Model with Uncertainty by means of JTL
Generating Model with Uncertainty by means of JTLGenerating Model with Uncertainty by means of JTL
Generating Model with Uncertainty by means of JTLGianni Rosa
 
Coping with Semantic Variation Points in Domain-Specific Modeling Languages
Coping with Semantic Variation Points in Domain-Specific Modeling LanguagesCoping with Semantic Variation Points in Domain-Specific Modeling Languages
Coping with Semantic Variation Points in Domain-Specific Modeling LanguagesMarc Pantel
 
Requirements, Design and Data Repositories
Requirements, Design and Data RepositoriesRequirements, Design and Data Repositories
Requirements, Design and Data RepositoriesCS, NcState
 
Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of ...
Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of ...Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of ...
Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of ...Marc Pantel
 
IRJET- On-Screen Translator using NLP and Text Detection
IRJET- On-Screen Translator using NLP and Text DetectionIRJET- On-Screen Translator using NLP and Text Detection
IRJET- On-Screen Translator using NLP and Text DetectionIRJET Journal
 
Master Thesis of Computer Engineering: OpenTranslator
Master Thesis of Computer Engineering: OpenTranslatorMaster Thesis of Computer Engineering: OpenTranslator
Master Thesis of Computer Engineering: OpenTranslatorGiuseppe D'Onofrio
 
The Simple Assembly Line Balancing Problem
The Simple Assembly Line Balancing ProblemThe Simple Assembly Line Balancing Problem
The Simple Assembly Line Balancing ProblemNicole Wells
 
Software evolution and maintenance
Software evolution and maintenanceSoftware evolution and maintenance
Software evolution and maintenanceFeliciano Colella
 
Handling Uncertainty in Automatically Generated Implementation Models in the ...
Handling Uncertainty in Automatically Generated Implementation Models in the ...Handling Uncertainty in Automatically Generated Implementation Models in the ...
Handling Uncertainty in Automatically Generated Implementation Models in the ...Alessio Bucaioni
 
Breathe Life Into Your IDE
Breathe Life Into Your IDEBreathe Life Into Your IDE
Breathe Life Into Your IDEBenoit Combemale
 
From requirements to ready to run
From requirements to ready to runFrom requirements to ready to run
From requirements to ready to runijfcstjournal
 
Lecture 05: Recurrent Neural Networks / Deep Learning by Pankaj Gupta
Lecture 05: Recurrent Neural Networks / Deep Learning by Pankaj GuptaLecture 05: Recurrent Neural Networks / Deep Learning by Pankaj Gupta
Lecture 05: Recurrent Neural Networks / Deep Learning by Pankaj GuptaPankaj Gupta, PhD
 
Notes on attention mechanism
Notes on attention mechanismNotes on attention mechanism
Notes on attention mechanismKhang Pham
 
Precise Semantics Standards at OMG: Executing on the Vision
Precise Semantics Standards at OMG: Executing on the VisionPrecise Semantics Standards at OMG: Executing on the Vision
Precise Semantics Standards at OMG: Executing on the VisionEd Seidewitz
 
Topic 4: The Magician's Hat: Turning Data into Business Intelligence (3)
Topic 4: The Magician's Hat: Turning Data into Business Intelligence (3)Topic 4: The Magician's Hat: Turning Data into Business Intelligence (3)
Topic 4: The Magician's Hat: Turning Data into Business Intelligence (3)TAUS - The Language Data Network
 

Semelhante a Uncertainty in Bidirectional Model Transformations (20)

Non determinism and bidirectional model transformations
Non determinism and bidirectional model transformationsNon determinism and bidirectional model transformations
Non determinism and bidirectional model transformations
 
Generating Model with Uncertainty by means of JTL
Generating Model with Uncertainty by means of JTLGenerating Model with Uncertainty by means of JTL
Generating Model with Uncertainty by means of JTL
 
Coping with Semantic Variation Points in Domain-Specific Modeling Languages
Coping with Semantic Variation Points in Domain-Specific Modeling LanguagesCoping with Semantic Variation Points in Domain-Specific Modeling Languages
Coping with Semantic Variation Points in Domain-Specific Modeling Languages
 
Requirements, Design and Data Repositories
Requirements, Design and Data RepositoriesRequirements, Design and Data Repositories
Requirements, Design and Data Repositories
 
Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of ...
Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of ...Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of ...
Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of ...
 
IRJET- On-Screen Translator using NLP and Text Detection
IRJET- On-Screen Translator using NLP and Text DetectionIRJET- On-Screen Translator using NLP and Text Detection
IRJET- On-Screen Translator using NLP and Text Detection
 
Master Thesis of Computer Engineering: OpenTranslator
Master Thesis of Computer Engineering: OpenTranslatorMaster Thesis of Computer Engineering: OpenTranslator
Master Thesis of Computer Engineering: OpenTranslator
 
The Simple Assembly Line Balancing Problem
The Simple Assembly Line Balancing ProblemThe Simple Assembly Line Balancing Problem
The Simple Assembly Line Balancing Problem
 
Software evolution and maintenance
Software evolution and maintenanceSoftware evolution and maintenance
Software evolution and maintenance
 
Handling Uncertainty in Automatically Generated Implementation Models in the ...
Handling Uncertainty in Automatically Generated Implementation Models in the ...Handling Uncertainty in Automatically Generated Implementation Models in the ...
Handling Uncertainty in Automatically Generated Implementation Models in the ...
 
Breathe Life Into Your IDE
Breathe Life Into Your IDEBreathe Life Into Your IDE
Breathe Life Into Your IDE
 
From requirements to ready to run
From requirements to ready to runFrom requirements to ready to run
From requirements to ready to run
 
An introduction to automated analysis of feature models through propositional...
An introduction to automated analysis of feature models through propositional...An introduction to automated analysis of feature models through propositional...
An introduction to automated analysis of feature models through propositional...
 
Lecture 05: Recurrent Neural Networks / Deep Learning by Pankaj Gupta
Lecture 05: Recurrent Neural Networks / Deep Learning by Pankaj GuptaLecture 05: Recurrent Neural Networks / Deep Learning by Pankaj Gupta
Lecture 05: Recurrent Neural Networks / Deep Learning by Pankaj Gupta
 
Notes on attention mechanism
Notes on attention mechanismNotes on attention mechanism
Notes on attention mechanism
 
Precise Semantics Standards at OMG: Executing on the Vision
Precise Semantics Standards at OMG: Executing on the VisionPrecise Semantics Standards at OMG: Executing on the Vision
Precise Semantics Standards at OMG: Executing on the Vision
 
Machine Tanslation
Machine TanslationMachine Tanslation
Machine Tanslation
 
Topic 4: The Magician's Hat: Turning Data into Business Intelligence (3)
Topic 4: The Magician's Hat: Turning Data into Business Intelligence (3)Topic 4: The Magician's Hat: Turning Data into Business Intelligence (3)
Topic 4: The Magician's Hat: Turning Data into Business Intelligence (3)
 
GPSS interactive learning environment
GPSS interactive learning environmentGPSS interactive learning environment
GPSS interactive learning environment
 
Lect 1
Lect 1Lect 1
Lect 1
 

Mais de Alfonso Pierantonio

Uncertainty and variability in industry-scale projects: Pearls, perils and p...
Uncertainty and variability in industry-scale projects: Pearls, perils and p...Uncertainty and variability in industry-scale projects: Pearls, perils and p...
Uncertainty and variability in industry-scale projects: Pearls, perils and p...Alfonso Pierantonio
 
Fixing Classification: A Viewpoint-Based Approach
Fixing Classification: A Viewpoint-Based Approach Fixing Classification: A Viewpoint-Based Approach
Fixing Classification: A Viewpoint-Based Approach Alfonso Pierantonio
 
Aut tace, Aut Loquere meliora Silentio (and the Likes)
Aut tace, Aut Loquere meliora Silentio (and the Likes) Aut tace, Aut Loquere meliora Silentio (and the Likes)
Aut tace, Aut Loquere meliora Silentio (and the Likes) Alfonso Pierantonio
 
Presentazione del Corso di Laurea in Informatica - L'Aquila
Presentazione del Corso di Laurea in Informatica - L'AquilaPresentazione del Corso di Laurea in Informatica - L'Aquila
Presentazione del Corso di Laurea in Informatica - L'AquilaAlfonso Pierantonio
 
MDE Adoption: a three legged chair
MDE Adoption:  a three legged chairMDE Adoption:  a three legged chair
MDE Adoption: a three legged chairAlfonso Pierantonio
 
Keynote at Educators Symposium, ACM/IEEE 19th Intl. Conference on Model Drive...
Keynote at Educators Symposium, ACM/IEEE 19th Intl. Conference on Model Drive...Keynote at Educators Symposium, ACM/IEEE 19th Intl. Conference on Model Drive...
Keynote at Educators Symposium, ACM/IEEE 19th Intl. Conference on Model Drive...Alfonso Pierantonio
 
Model Management in Model-Driven Engineering
Model Management in Model-Driven EngineeringModel Management in Model-Driven Engineering
Model Management in Model-Driven EngineeringAlfonso Pierantonio
 
Supporting Users to Manage Breaking and Unresolvable Changes in Coupled Evolu...
Supporting Users to Manage Breaking and Unresolvable Changes in Coupled Evolu...Supporting Users to Manage Breaking and Unresolvable Changes in Coupled Evolu...
Supporting Users to Manage Breaking and Unresolvable Changes in Coupled Evolu...Alfonso Pierantonio
 
Managing Uncertainty in Bidirectional Model Transformations
Managing Uncertainty in Bidirectional Model Transformations Managing Uncertainty in Bidirectional Model Transformations
Managing Uncertainty in Bidirectional Model Transformations Alfonso Pierantonio
 
Automated chaining of model transformations with incompatible metamodels
Automated chaining of model transformations with incompatible metamodelsAutomated chaining of model transformations with incompatible metamodels
Automated chaining of model transformations with incompatible metamodelsAlfonso Pierantonio
 
Mining Metrics for Understanding Metamodel Characteristics
Mining Metrics for Understanding Metamodel CharacteristicsMining Metrics for Understanding Metamodel Characteristics
Mining Metrics for Understanding Metamodel CharacteristicsAlfonso Pierantonio
 
Evolutionary Togetherness: How to Manage Coupled Evolution in Metamodeling Ec...
Evolutionary Togetherness: How to Manage Coupled Evolution in Metamodeling Ec...Evolutionary Togetherness: How to Manage Coupled Evolution in Metamodeling Ec...
Evolutionary Togetherness: How to Manage Coupled Evolution in Metamodeling Ec...Alfonso Pierantonio
 
Managing the evolution of F/OSS with Model Driven Techniques
Managing the evolution of F/OSS with Model Driven TechniquesManaging the evolution of F/OSS with Model Driven Techniques
Managing the evolution of F/OSS with Model Driven TechniquesAlfonso Pierantonio
 
What is needed for managing co-evolution in MDE?
What is needed for managing co-evolution in MDE?What is needed for managing co-evolution in MDE?
What is needed for managing co-evolution in MDE?Alfonso Pierantonio
 
Evolution in the Large and in the Small in Model-Driven Development
Evolution in the Large and in the Small in Model-Driven DevelopmentEvolution in the Large and in the Small in Model-Driven Development
Evolution in the Large and in the Small in Model-Driven DevelopmentAlfonso Pierantonio
 

Mais de Alfonso Pierantonio (17)

2023-04 OA 2.pptx
2023-04 OA 2.pptx2023-04 OA 2.pptx
2023-04 OA 2.pptx
 
Uncertainty and variability in industry-scale projects: Pearls, perils and p...
Uncertainty and variability in industry-scale projects: Pearls, perils and p...Uncertainty and variability in industry-scale projects: Pearls, perils and p...
Uncertainty and variability in industry-scale projects: Pearls, perils and p...
 
Fixing Classification: A Viewpoint-Based Approach
Fixing Classification: A Viewpoint-Based Approach Fixing Classification: A Viewpoint-Based Approach
Fixing Classification: A Viewpoint-Based Approach
 
Aut tace, Aut Loquere meliora Silentio (and the Likes)
Aut tace, Aut Loquere meliora Silentio (and the Likes) Aut tace, Aut Loquere meliora Silentio (and the Likes)
Aut tace, Aut Loquere meliora Silentio (and the Likes)
 
Presentazione del Corso di Laurea in Informatica - L'Aquila
Presentazione del Corso di Laurea in Informatica - L'AquilaPresentazione del Corso di Laurea in Informatica - L'Aquila
Presentazione del Corso di Laurea in Informatica - L'Aquila
 
MDE Adoption: a three legged chair
MDE Adoption:  a three legged chairMDE Adoption:  a three legged chair
MDE Adoption: a three legged chair
 
Keynote at Educators Symposium, ACM/IEEE 19th Intl. Conference on Model Drive...
Keynote at Educators Symposium, ACM/IEEE 19th Intl. Conference on Model Drive...Keynote at Educators Symposium, ACM/IEEE 19th Intl. Conference on Model Drive...
Keynote at Educators Symposium, ACM/IEEE 19th Intl. Conference on Model Drive...
 
Model Management in Model-Driven Engineering
Model Management in Model-Driven EngineeringModel Management in Model-Driven Engineering
Model Management in Model-Driven Engineering
 
Supporting Users to Manage Breaking and Unresolvable Changes in Coupled Evolu...
Supporting Users to Manage Breaking and Unresolvable Changes in Coupled Evolu...Supporting Users to Manage Breaking and Unresolvable Changes in Coupled Evolu...
Supporting Users to Manage Breaking and Unresolvable Changes in Coupled Evolu...
 
Managing Uncertainty in Bidirectional Model Transformations
Managing Uncertainty in Bidirectional Model Transformations Managing Uncertainty in Bidirectional Model Transformations
Managing Uncertainty in Bidirectional Model Transformations
 
Automated chaining of model transformations with incompatible metamodels
Automated chaining of model transformations with incompatible metamodelsAutomated chaining of model transformations with incompatible metamodels
Automated chaining of model transformations with incompatible metamodels
 
Mining Metrics for Understanding Metamodel Characteristics
Mining Metrics for Understanding Metamodel CharacteristicsMining Metrics for Understanding Metamodel Characteristics
Mining Metrics for Understanding Metamodel Characteristics
 
Evolutionary Togetherness: How to Manage Coupled Evolution in Metamodeling Ec...
Evolutionary Togetherness: How to Manage Coupled Evolution in Metamodeling Ec...Evolutionary Togetherness: How to Manage Coupled Evolution in Metamodeling Ec...
Evolutionary Togetherness: How to Manage Coupled Evolution in Metamodeling Ec...
 
Managing the evolution of F/OSS with Model Driven Techniques
Managing the evolution of F/OSS with Model Driven TechniquesManaging the evolution of F/OSS with Model Driven Techniques
Managing the evolution of F/OSS with Model Driven Techniques
 
What is needed for managing co-evolution in MDE?
What is needed for managing co-evolution in MDE?What is needed for managing co-evolution in MDE?
What is needed for managing co-evolution in MDE?
 
Model evolution and versioning
Model evolution and versioningModel evolution and versioning
Model evolution and versioning
 
Evolution in the Large and in the Small in Model-Driven Development
Evolution in the Large and in the Small in Model-Driven DevelopmentEvolution in the Large and in the Small in Model-Driven Development
Evolution in the Large and in the Small in Model-Driven Development
 

Último

The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfThe workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfSenaatti-kiinteistöt
 
Air breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animalsAir breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animalsaqsarehman5055
 
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyCall Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyPooja Nehwal
 
Report Writing Webinar Training
Report Writing Webinar TrainingReport Writing Webinar Training
Report Writing Webinar TrainingKylaCullinane
 
Microsoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AIMicrosoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AITatiana Gurgel
 
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779Delhi Call girls
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaKayode Fayemi
 
George Lever - eCommerce Day Chile 2024
George Lever -  eCommerce Day Chile 2024George Lever -  eCommerce Day Chile 2024
George Lever - eCommerce Day Chile 2024eCommerce Institute
 
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort ServiceDelhi Call girls
 
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024eCommerce Institute
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxraffaeleoman
 
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesVVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesPooja Nehwal
 
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxMohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxmohammadalnahdi22
 
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxNikitaBankoti2
 
Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)Chameera Dedduwage
 
Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510Vipesco
 
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Kayode Fayemi
 
Presentation on Engagement in Book Clubs
Presentation on Engagement in Book ClubsPresentation on Engagement in Book Clubs
Presentation on Engagement in Book Clubssamaasim06
 
Mathematics of Finance Presentation.pptx
Mathematics of Finance Presentation.pptxMathematics of Finance Presentation.pptx
Mathematics of Finance Presentation.pptxMoumonDas2
 
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, YardstickSaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, Yardsticksaastr
 

Último (20)

The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfThe workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
 
Air breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animalsAir breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animals
 
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyCall Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
 
Report Writing Webinar Training
Report Writing Webinar TrainingReport Writing Webinar Training
Report Writing Webinar Training
 
Microsoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AIMicrosoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AI
 
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
 
George Lever - eCommerce Day Chile 2024
George Lever -  eCommerce Day Chile 2024George Lever -  eCommerce Day Chile 2024
George Lever - eCommerce Day Chile 2024
 
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
 
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
 
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesVVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
 
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxMohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
 
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
 
Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)
 
Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510
 
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
 
Presentation on Engagement in Book Clubs
Presentation on Engagement in Book ClubsPresentation on Engagement in Book Clubs
Presentation on Engagement in Book Clubs
 
Mathematics of Finance Presentation.pptx
Mathematics of Finance Presentation.pptxMathematics of Finance Presentation.pptx
Mathematics of Finance Presentation.pptx
 
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, YardstickSaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
 

Uncertainty in Bidirectional Model Transformations

  • 1. Dipartimento di Ingegneria e Scienze Università degli Studi dell’Aquila dell’Informazione e Matematica Uncertainty in Bidirectional Transformations Alfonso Pierantonio Romina Eramo Gianni Rosa
  • 2. In spite of its relevance, bidirectionality has rarely produced anticipated benefits. Why?
  • 3. Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering 3 Model Transformations A model transformation is an automatable way of ensuring that a family of models is consistent, in a precise sense which the software engineer can define. The aim of using a model transformation is to save effort and reduce errors by automating the building and modification of models where possible.
  • 4. Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering 4 Model Transformations A model transformation is an automatable way of ensuring that a family of models is consistent, in a precise sense which the software engineer can define. The aim of using a model transformation is to save effort and reduce errors by automating the building and modification of models where possible.
  • 5. Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering 5 Bidirectionality Bidirectionality is necessary whenever people are working on more than one model and the models must be kept consistent. The relevance of bidirectionality has been advocated already in 2005 by OMG’s QVT standard, in particular the QVT Relations (QVT-R) language. Current approaches include also Triple Graph Grammars (TGGs), SyncATL, JTL, and GRoundTram.
  • 6. Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering 6 Non-bijectivity Most examples of bidirectional transformations are non-bijective, therefore there may be multiple ways to transform two models into a consistent state, introducing uncertainty and non-determinism.
  • 7. Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering 7 Non-bijectivity Most examples of bidirectional transformations are not bijective, therefore there may be multiple ways to transform two models into a consistent state, introducing uncertainty and non-determinism. ?
  • 8. Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering 8 Unclear semantics of bidirectionality Existing bidirectional languages translate a non- deterministic specification into an actual bidirectional transformation procedure.
  • 9. Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering 9 Unclear semantics of bidirectionality Existing bidirectional languages translate a non- deterministic specification into an actual bidirectional transformation procedure. Consistency is enforced by imposing a specific «update policy» determined by foreign and unknown factors, ie. language implementation, heuristics, and rule order.
  • 10. Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering 10 Unclear semantics of bidirectionality Existing bidirectional languages translate a non- deterministic specification into an actual bidirectional transformation procedure. Consistency is enforced by imposing a specific «update policy» determined by foreign and unknown factors, eg. language implementation, heuristics, and rule order. As a consequence, result is unpredictable and developers have little or no control on the «update policy».
  • 11. Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering 11 Solution Neglecting non-determinism in non-bijective transformations hampered the adoption of bidirectional transformations – Managing the uncertainty: all admissible solutions must be generated at once letting the designer choose the desired one – Managing the update policy: an intentional (and general) «update policy» is adopted and implemented at design- time (cfr. [1]) [1] Zan Tao, Hugo Pacheco, and Zhenjiang Hu. "Writing bidirectional model transformations as intentional updates." Companion Proceedings of the 36th International Conference on Software Engineering. ACM, 2014.
  • 12. Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering 12 Non-deterministic languages Over the last yeast, new languages/semantics have been proposed – Janus Transformation Language (JTL) – Alloy-based Semantics for QVT-R They are able to produce more than one result.
  • 13. Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering 13 Janus Transformation Language (JTL) JTL has formal semantics based on Answer Set Programming (ASP) and therefore can be considered a constraint-based approach. ASP is a form of logic programming with non- monotonic reasoning related to SAT. Several solvers are available, eg. DLV. JTL is embedded in a framework available on the Eclipse platform and can be applied to Ecore metamodels
  • 14. source target T Manual Changes Hierarchical State Machine Non-hierarchical state machine obtained by flattening the source model
  • 15. source target T Manual Changes The designer performs some manual changes on the generated model
  • 16. Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering 16 Specifying transformation with JTL Fragment of the HSM2NHSM transformation specified in JTL 16 transformation hsm2nhsm(source : HSM, target : NHSM) { top relation StateMachine2StateMachine { enforce domain source sSM : HSM::StateMachine; enforce domain target tSM : NHSM::StateMachine; } top relation State2State { enforce domain source sourceState : HSM::State; enforce domain target targetState : NHSM::State; when { sourceState.owningCompositeState.oclIsUndefined(); } } top relation CompositeState2State { enforce domain source sourceState : HSM::CompositeState; enforce domain target targetState : NHSM::State; } }
  • 17. Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering 17 transformation hsm2nhsm(source : HSM, target : NHSM) { top relation StateMachine2StateMachine { enforce domain source sSM : HSM::StateMachine; enforce domain target tSM : NHSM::StateMachine; } top relation State2State { enforce domain source sourceState : HSM::State; enforce domain target targetState : NHSM::State; when { sourceState.owningCompositeState.oclIsUndefined(); } } top relation CompositeState2State { enforce domain source sourceState : HSM::CompositeState; enforce domain target targetState : NHSM::State; } } Specifying transformation with JTL Fragment of the HSM2NHSM transformation specified in JTL 17 It transforms hierarchical state machines into flat state machines and the other way round.
  • 18. Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering 18 transformation hsm2nhsm(source : HSM, target : NHSM) { top relation StateMachine2StateMachine { enforce domain source sSM : HSM::StateMachine; enforce domain target tSM : NHSM::StateMachine; } top relation State2State { enforce domain source sourceState : HSM::State; enforce domain target targetState : NHSM::State; when { sourceState.owningCompositeState.oclIsUndefined(); } } top relation CompositeState2State { enforce domain source sourceState : HSM::CompositeState; enforce domain target targetState : NHSM::State; } } Specifying transformation with JTL Fragment of the HSM2NHSM transformation specified in JTL 18 The forward transformation is clearly non-injective: both «State» and «CompositeState» are mapped to the same target «State»
  • 19. Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering 19 transformation hsm2nhsm(source : HSM, target : NHSM) { top relation StateMachine2StateMachine { enforce domain source sSM : HSM::StateMachine; enforce domain target tSM : NHSM::StateMachine; } top relation State2State { enforce domain source sourceState : HSM::State; enforce domain target targetState : NHSM::State; when { sourceState.owningCompositeState.oclIsUndefined(); } } top relation CompositeState2State { enforce domain source sourceState : HSM::CompositeState; enforce domain target targetState : NHSM::State; } } Specifying transformation with JTL Fragment of the HSM2NHSM transformation specified in JTL 19 The forward transformation is clearly non-injective: both «State» and «CompositeState» are mapped to the same target «State»
  • 20. Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering 22 Requirements for bidirectional transformations A bidirectional transformation is a relation R  M ´ N characterized by the following directional mappings R : M ´ N  N* R : M ´ N  M* where R takes a pair of models (m, n) and enforces the relation R. R does it in the opposite direction. P. Stevens. Bidirectional model transformations in QVT: semantic issues and open questions. SOSYM, 8, 2009.
  • 21. Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering 23 Requirements for bidirectional transformations A bidirectional transformation is a relation R  M ´ N characterized by the following directional mappings R : M ´ N  N* R : M ´ N  M* where R takes a pair of models (m, n) and enforces the relation R. R does it in the opposite direction.
  • 22. Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering 24 Requirements for bidirectional transformations Ippocraticness If (m,n) are consistent, ie. (m,n)  R  M ´ N then R(m,n) = n and R(m,n) = m Reachability If R(m, n’) = m*  M*, then R(m’, n’) = n’  N for each m’  m* Choice preservation R(m’,R(m’,n’)) = m’ for each m’  m*
  • 23. T Manual Changes T The designer performs some manual changes on the generated model Modifications on the target are back propagated to the source which is consistently updated making use of tracing information source target
  • 24. Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering 31 Pragmatics Dealing with medium-large size models poses many pragmatic problems due to the combinatorial explosion of the solution space. Determining differences and commonalities among the models by traversing and inspecting the solution space is impractical. An intensive representation of the solution space generated by a JTL transformation is sought to support traversal and inspection of the models throughout the solution space.
  • 25. Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering 32 Uncertainty Our proposal is to represent the variability in the solution space by means of models with uncertainty in the sense of [2]. [2] Salay, R., Chechik, M., Horkoff, J., & Di Sandro, A. (2013). Managing requirements uncertainty with partial models. Requirements Engineering, 18(2), 107-128.
  • 26. Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering 33 Uncertainty The JTL semantics has been extended in order to factorize the solution space and generate a model with uncertainty instead of a set of models. Uncertainty Metamodel For any metamodel M an uncertainty metamodel U(M) can obtained by means of an automated transfromation U: Ecore  Ecore
  • 27. Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering 34 Uncertainty metamodel metamodel-independence, the metamodel must be agnostic of the base metamodel. model-based, a set of models representing different solution alternatives must be represented with a model with uncertainty. minimality, a model with uncertainty should not contain any unnecessary information besides what actually needed. interoperability, each model containing uncertainty must be applicable an unfolding operation, such that whenever applied to it returns all the correspondent concretizations models or the specific concretization selected by the designer.
  • 29. The generated U(HSM) metamodel Example
  • 30. Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering 37 Operators Once the uncertainty metamodel U(M) is automatically defined starting from the base metamodel M, interoperability between the base and the uncertainty metamodels is necessary – Concretization operator: takes a model with uncertainty m* and returns the set of concretizations <m1 … mn> – Refinement operator: takes a model with uncertainty m* and a predicate p and returns the set of models m satisfying the predicate
  • 31. Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering 38 Uncertainty and Bidirectionality A bidirectional transformation is characterized by the following directional mappings Ru : M ´ N  U(N) ´ Ocl Ru : M ´ N  U(M) ´ Ocl where U(N) and U(M) are the uncertainty metamodels automatically obtained from N and M. If (m,n) is not in R  M ´ N then Ru(m,n) = (n,pN) where n is a model with uncertainty in U(N) and pN a predicate over N.
  • 32. Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering 39 Uncertainty and Bidirectionality If (m,n) is not in R  M ´ N then Ru(m,n) = (n,pN) where n is a model with uncertainty in U(N) and pN a predicate over N such that concr(Ru(m,n’)) = m = R(m,n’) for any n’ in refine(n,pN)
  • 34. Alfonso Pierantonio – 6th International Workshop on Modeling in Software Engineering 41 Conclusion The JTL semantics has been refined in order to be able to generate directly the model with uncertainty semantically corresponding to the complete solution space. The approach is implemented on Eclipse/EMF.
  • 35. In spite of its relevance, bidirectionality has rarely produced anticipated benefits Why?
  • 36. «The developer needs full control of what the transformation does. [...] We claim that determinism is necessary in order to ensure, first, that developers will find tool behavior predictable, and second, that organisations will not be unacceptably “locked in” to the tool they first use.» P. Stevens. Bidirectional model transformations in QVT: semantic issues and open questions. SOSYM, 8, 2009.
  • 37. Claiming the determinism is necessary to ensure that developers will find tool behavior predictable is unneeded. Anthropology problem we often refer to transformation languages as niche programming languages, ie deterministic and sequential.