SlideShare a Scribd company logo
Dipartimento di Ingegneria e Scienze
Università degli Studi dell’Aquila
dell’Informazione e Matematica
Managing Uncertainty in
Bidirectional Model
Transformations
Alfonso Pierantonio
Joint work with
Romina Eramo and Gianni Rosa
Alfonso Pierantonio – SLE 2015, Pittsburgh (USA)
2
Bidirectionality
Bidirectionality is about keeping a set or related
models synchronized or in a consistent state:
updates to a source entail updates to the others.
Alfonso Pierantonio – SLE 2015, Pittsburgh (USA)
3
Bidirectionality
Bidirectionality is about keeping a set or related
models synchronized or in a consistent state:
updates to a source entail updates to the others.
Many semantic assumptions and misconceptions can
be explored by comparing
synchronization and consistency management
Alfonso Pierantonio – SLE 2015, Pittsburgh (USA)
4
Bidirectionality
Bidirectionality is about keeping a set or related
models synchronized or in a consistent state:
updates to a source entail updates to the others.
Many semantic assumptions and misconceptions can
be explored by comparing
synchronization and consistency management
Can we really use these terms interchangeably, do they
represent the same concept?
As an example, let us consider
Hierarchical State Machines
(HSM)
Out of Service
Off Idle
Self Test
Maintenance
Active
Authentication
Selecting
transaction
Transaction
startup
failed
doneshutdown
in(card)cancel
error
fixed
Model m1: HSM
As an example, let us consider
Hierarchical State Machines
(HSM)
As an example, let us consider
Hierarchical State Machines
(HSM)
and State Machines (SM)
As an example, let us consider
Hierarchical State Machines
(HSM)
and State Machines (SM)
Model m2: SM
in(card)
Out of Service
Off Idle
Active
shutdown
cancel
fixed
startup
done
error
As an example, let us consider
Hierarchical State Machines
(HSM)
and State Machines (SM)
A possible consistency relationship
between them is the following
Model m2: SM
Out of Service
Off Idle
Self Test
Maintenance
Active
Authentication
Selecting
transaction
Transaction
startup
failed
doneshutdown
in(card)cancel
error
fixed
Model m1: HSM
in(card)
Out of Service
Off Idle
Active
shutdown
cancel
fixed
startup
done
error
Alfonso Pierantonio – SLE 2015, Pittsburgh (USA)
11
A model for bidirectional transformation
Let and be two metamodels, then the relation
can be defined by means of the
following directional mappings
Stevens, Perdita. "Bidirectional model transformations
in QVT: semantic issues and open questions." Software
& Systems Modeling 9.1 (2010): 7-20.
Alfonso Pierantonio – SLE 2015, Pittsburgh (USA)
12
A model for bidirectional transformation
Correctness
The transformations and must enforce the
relation , ie they are said correct if
Hippocraticness
In case the models are already consistent then the
following must hold
Let us come back to our
State Machine example …
Out of Service
Off Idle
Self Test
Maintenance
Active
Authentication
Selecting
transaction
Transaction
startup
failed
doneshutdown
in(card)cancel
error
fixed
Out of Service
Off Idle
Self Test
Maintenance
Active
Authentication
Selecting
transaction
Transaction
startup
failed
doneshutdown
in(card)cancel
error
fixed
Out of Service
Off Idle
Self Test
Maintenance
Active
Authentication
Selecting
transaction
Transaction
startup
failed
doneshutdown
in(card)cancel
error
fixed
Out of Service
Off Idle
Active
Out of Service
Off Idle
Self Test
Maintenance
Active
Authentication
Selecting
transaction
Transaction
startup
failed
done
in(card)
Out of Service
Off Idle
Active
cancel
shutdown
error
fixed
cancel
Out of Service
Off Idle
Self Test
Maintenance
Active
Authentication
Selecting
transaction
Transaction
startup
failed
doneshutdown
in(card)
error
fixed
Out of Service
Off Idle
Active
shutdown
cancel
error
fixed
Out of Service
Off Idle
Self Test
Maintenance
Active
Authentication
Selecting
transaction
Transaction
startup
failed
doneshutdown
in(card)cancel
error
fixed
Out of Service
Off Idle
Active
shutdown
cancel
error
fixed
in(card)
startup
Out of Service
Off Idle
Self Test
Maintenance
Active
Authentication
Selecting
transaction
Transactionfailed
doneshutdown
in(card)cancel
error
fixed
Out of Service
Off Idle
Active
shutdown
cancel
error
fixed
startup
done
in(card)
startup
Out of Service
Off Idle
Self Test
Maintenance
Active
Authentication
Selecting
transaction
Transactionfailed
doneshutdown
in(card)cancel
error
fixed
Out of Service
Off Idle
Active
shutdown
cancel
error
fixed
startup
done
in(card)
startup
Out of Service
Off Idle
Self Test
Maintenance
Active
Authentication
Selecting
transaction
Transactionfailed
doneshutdown
in(card)cancel
error
fixed
Out of Service
Off Idle
Active
shutdown
cancel
error
fixed
startup
done
in(card)
startup
Out of Service
Off Idle
Self Test
Maintenance
Active
Authentication
Selecting
transaction
Transacfailed
doneshutdown
in(card)cancel
error
fixed
Out of Service
Off Idle
Active
shutdown
cancel
error
fixed
startup
done
in(card)
startup
Out of Service
Off Idle
Self Test
Maintenance
Active
Authentication
Selecting
transaction
Transacfailed
doneshutdown
in(card)cancel
error
fixed
Out of Service
Off Idle
Active
shutdown
cancel
error
fixed
startup
done
How this manual
change can be
back propagated?
in(card)
startup
Out of Service
Off Idle
Self Test
Maintenance
Active
Authentication
Selecting
transaction
Transacfailed
doneshutdown
in(card)cancel
error
fixed
Out of Service
Off Idle
Active
shutdown
cancel
error
fixed
startup
done
The update entails
multiple choices
This transformation is
non-deterministic
(ie. the transformation does not always
produce a unique result)
Alfonso Pierantonio – SLE 2015, Pittsburgh (USA)
27
Why non-determinism?
The transformation is not-deterministic because
1) The two metamodels are not isomorphic
2) Multiple update strategies are possible and the
designer did not provide a general consistency-
restoration strategy at design-time
Unknown uncertainty: the designer does not hold
enough information for deciding a priori what is the
“wanted” solution
Zan, Tao, Hugo Pacheco, and Zhenjiang Hu. "Writing
bidirectional model transformations as intentional
updates." Procs. 36th International Conference on
Software Engineering, 2014.
in(card)
startup
Out of Service
Off Idle
Self Test
Maintenance
Active
Authentication
Selecting
transaction
Transacfailed
doneshutdown
in(card)cancel
error
fixed
Out of Service
Off Idle
Active
shutdown
cancel
error
fixed
startup
done
An update strategy (among
the valid ones) can make
the transformation
deterministic
determinism
=
consistency relation
+
update strategy
30
Explicit management of non-determinism
While determinism is a desirable quality
– There is no way to detect whether a bidirectional
transformation is deterministic at static-time
– Languages like QVT Relational consider only one
strategy out of the many possible alternatives
Developers have little or no control: the main reason
because bidirectionality did not hold promise
An explicit management of non-determinism in model
transformations has been investigated
Alfonso Pierantonio – SLE 2015, Pittsburgh (USA)
31
Languages with non-determinism
Recently a number of languages has been proposed
with an explicit management of non-determinism:
[1] A. Cicchetti, D. Di Ruscio, R. Eramo, and A. Pierantonio. JTL: a
bidirectional and change propagating transformation language. In SLE10, pages
183–202, 2010.
[2] N. Macedo and A. Cunha. Implementing QVT-R Bidirectional Model
Transformations Using Alloy. In FASE, pages 297–311, 2013.
[3] G. Callow and R. Kalawsky. A Satisficing Bi-Directional Model
Transformation Engine using Mixed Integer Linear Programming. JOT, 12(1):1:
1–43, 2013.
Alfonso Pierantonio – SLE 2015, Pittsburgh (USA)
32
JTL
The JTL language provide an explicit support to non-
determinism, intended as
“. . . programmers need only specify a consistency relation,
allowing the bx engine to resolve the under-specification
non-deterministically” [1]
All valid solutions are generated at once
[1] F. Abou-Saleh, J. Cheney, J. Gibbons, J. McKinna,
and P. Stevens. Notions of Bidirectional Computation
and Entangled State Monads. MPC, 187–214, 2015.
Alfonso Pierantonio – SLE 2015, Pittsburgh (USA)
33
A model for non-deterministic transformations
Let and be two metamodels, then the relation
can be defined as follows
where and are multivalued functions, ie left-
total relations in which inputs are associated with
multiple outputs.
Alfonso Pierantonio – SLE 2015, Pittsburgh (USA)
34
A model for non-deterministic transformations
Correctness
The transformations and must enforce the
relation , ie they are correct if
Hippocraticness
In case the models are already consistent then the
following must hold
Little changes, big impact
startup
Out of Service
Off Idle
Self Test
Maintenance
Active
Authentication
Selecting
transaction
Transactionfailed
done
shutdown
in(card)cancel
error
fixed
in(card)
Out of Service
Off Idle
Active
shutdown
cancel
fixed
startup
error
error
error
error
error
#error = 3
startup
Out of Service
Off Idle
Self Test
Maintenance
Active
Authentication
Selecting
transaction
Transactionfailed
shutdown
in(card)cancel
error
fixed
in(card)
Out of Service
Off Idle
Active
shutdown
cancel
fixed
startup
error
Printing
done
print
Printing
print
printprintprint
error
error
error
error
done
#error = 3
#done = 1
#print = 4
startup
Out of Service
Off Idle
Self Test
Maintenance
Active
Authentication
Selecting
transaction
Transactionfailed
shutdown
in(card)cancel
error
fixed
in(card)
Out of Service
Off Idle
Active
shutdown
cancel
fixed
startup
completed
error
Printing
done
print
Printing
print
printprintprint
completed
completed completed completed
error
error
error
error
done
#error = 3
#done = 1
#print = 4
#completed = 4
39
Little changes, big impact
Little changes in one of the source, cause a
combinatorial explosion of alternatives in the other
one
For instance, the overall number of models in the
State Machine example is
3 x 4 x 4 x 1 = 48
Dealing with the myriad of generated models is
intrinsically difficult if not impractical
#error = 3
#done = 1
#print = 4
#completed = 4
Alfonso Pierantonio – SLE 2015, Pittsburgh (USA)
40
Intensional representation of the
solution space
We need a construction which permits an intentional
representation of the solution space
Therefore, instead of generating a multitude of
models, we want to represent the solution space of a
non-deterministic transformation with a model with
uncertainty.
R. Eramo, A. Pierantonio, and G. Rosa. Uncertainty in
bidi- rectional transformations. In Procs. of MiSE
2014, 2014.
Alfonso Pierantonio – SLE 2015, Pittsburgh (USA)
41
Models with Uncertainty
Given a metamodel M it is possible to derive its
metamodel with uncertainty U(M) by means of an
automated construction.
A model with uncertainty is used to intensionally
represent all the alternative models
generated by a non-deterministic transformation.
R. Eramo, A. Pierantonio, and G. Rosa. Uncertainty in
bidi- rectional transformations. In Procs. of MiSE
2014, 2014.
HSM
U(HSM)
Alfonso Pierantonio – SLE 2015, Pittsburgh (USA)
43
A model for transformations with uncertainty
The directional mappings and can be
reformulated as
such that
where
with
Alfonso Pierantonio – SLE 2015, Pittsburgh (USA)
44
JTL extention to uncertainty
In order to let JTL generate models with uncertainty
for the solution space
1. the “intersection” shared among all choices and
2. the uncertain parts
must be identified.
Alfonso Pierantonio – SLE 2015, Pittsburgh (USA)
45
JTL extention to uncertainty
startup
Out of Service
Off Idle
Self Test
Maintenance
Active
Authentication
Selecting
transaction
Transactionfailed
shutdown
in(card)cancel
error
fixed
Printing
print
printprintprint
completed
completed completed completed
error
error
error
done
Alfonso Pierantonio – SLE 2015, Pittsburgh (USA)
46
JTL extension to uncertainty
JTL engine is a logic program written in ASP and
non-deterministically resolved by the DLV solver, it
can derive how models are related by means of a
deductive process
Traceability management offers enough information
to understand how the models can be factorized
Tracing information stores relevant details about the
linkage between source and target model elements
at run-time.
Alfonso Pierantonio – SLE 2015, Pittsburgh (USA)
47
JTL extension to uncertainty
In essence, given the application
the complete tracing domain is determined as
the collection of all tracing links r(a) = b
Def. An uncertainty point is a set of trace links in
such that if
are two distinguished links in , then
Alfonso Pierantonio – SLE 2015, Pittsburgh (USA)
48
JTL extension to uncertainty
startup
Out of Service
Off Idle
Self Test
Maintenance
Active
Authentication
Selecting
transaction
Transactionfailed
shutdown
in(card)cancel
error
fixed
Printing
print
printprintprint
This the EMF model with
uncertainty representing all
148 solutions.
Designer can easily
inspect it instead of
navigating the solution
space and for each pair of
models finding the
differences!
Alfonso Pierantonio – SLE 2015, Pittsburgh (USA)
50
Experiment
We considered a JTL HSM2SM transformation
consisting of 10 relations
1. The transformation has been (forward) applied to
a model with 20 elements, 29 association and 30
attributes
2. The target model has been increasingly modified
and the transformation (backward) reapplied
The program has been executed on a machine with
an Intel Core i7-4790K 4.00Ghz processor and 8Gb
RAM, running Windows 8.1
Alfonso Pierantonio – SLE 2015, Pittsburgh (USA)
51
Experiment
CPU time #model elements Memory
Alfonso Pierantonio – SLE 2015, Pittsburgh (USA)
52
Conclusions
The explicit management of non-determinism in
bidirectional transformations is an uncertainty
reducing process
The unknown uncertainty during design-time
translates into known (or bound) uncertainty during
run-time
Managing the non-determinism is not enough
because of the combinatorial explosion of
alternatives

More Related Content

Similar to Managing 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 transformations
Alfonso Pierantonio
 
The Hunt for Leading Indicators
The Hunt for Leading IndicatorsThe Hunt for Leading Indicators
The Hunt for Leading Indicators
ServiceWave 2010
 
1. process mapping is a critical part of the define and measure ph
1. process mapping is a critical part of the define and measure ph1. process mapping is a critical part of the define and measure ph
1. process mapping is a critical part of the define and measure ph
abhi353063
 
"I don't trust AI": the role of explainability in responsible AI
"I don't trust AI": the role of explainability in responsible AI"I don't trust AI": the role of explainability in responsible AI
"I don't trust AI": the role of explainability in responsible AI
Erika Agostinelli
 
Analisi di conformità dei requisiti - S. Vuotto (Università di Sassari)
Analisi di conformità dei requisiti - S. Vuotto (Università di Sassari)Analisi di conformità dei requisiti - S. Vuotto (Università di Sassari)
Analisi di conformità dei requisiti - S. Vuotto (Università di Sassari)
Sardegna Ricerche
 
A Study On Hybrid System
A Study On Hybrid SystemA Study On Hybrid System
A Study On Hybrid System
Carmen Sanborn
 
You can go fast by going together: software delivery process performance metrics
You can go fast by going together: software delivery process performance metricsYou can go fast by going together: software delivery process performance metrics
You can go fast by going together: software delivery process performance metrics
Agustin Benito Bethencourt
 
Research Design and Validity
Research Design and ValidityResearch Design and Validity
Research Design and Validity
Hora Tjitra
 
IntroductionThe TJF Company is an organization that is beginni.docx
IntroductionThe TJF Company is an organization that is beginni.docxIntroductionThe TJF Company is an organization that is beginni.docx
IntroductionThe TJF Company is an organization that is beginni.docx
mariuse18nolet
 
Lenovo Final Report
Lenovo Final ReportLenovo Final Report
Lenovo Final Report
Tim Sawicki
 
Mise14 @ ICSE1 14 Uncertainty in Bidirectional Transformations
Mise14 @ ICSE1 14 Uncertainty in Bidirectional TransformationsMise14 @ ICSE1 14 Uncertainty in Bidirectional Transformations
Mise14 @ ICSE1 14 Uncertainty in Bidirectional Transformations
Alfonso Pierantonio
 
Statistics For Bi
Statistics For BiStatistics For Bi
Statistics For Bi
Angela Hays
 
What We Learned from Three Years of Sciencing the Crap Out of DevOps
What We Learned from Three Years of Sciencing the Crap Out of DevOpsWhat We Learned from Three Years of Sciencing the Crap Out of DevOps
What We Learned from Three Years of Sciencing the Crap Out of DevOps
SeniorStoryteller
 
M.E.Bontempi-Panel data: Models, estimation,and the role of attrition and Mea...
M.E.Bontempi-Panel data: Models, estimation,and the role of attrition and Mea...M.E.Bontempi-Panel data: Models, estimation,and the role of attrition and Mea...
M.E.Bontempi-Panel data: Models, estimation,and the role of attrition and Mea...
Istituto nazionale di statistica
 
Towards a framework for making applications provenance aware: UML2PROV
Towards a framework for making applications provenance aware: UML2PROVTowards a framework for making applications provenance aware: UML2PROV
Towards a framework for making applications provenance aware: UML2PROV
Universidad de La Rioja
 
Ws2011 sessione6 camillo_dattoma
Ws2011 sessione6 camillo_dattomaWs2011 sessione6 camillo_dattoma
Ws2011 sessione6 camillo_dattoma
Gruppo Valorizzazione delle Statistiche Pubbliche
 
Running head CRITICAL THINKING IN PSYCHOLOGY 2 CRITICAL THI.docx
Running head CRITICAL THINKING IN PSYCHOLOGY 2 CRITICAL THI.docxRunning head CRITICAL THINKING IN PSYCHOLOGY 2 CRITICAL THI.docx
Running head CRITICAL THINKING IN PSYCHOLOGY 2 CRITICAL THI.docx
healdkathaleen
 
End State: Five steps to success for complex organizations
End State: Five steps to success for complex organizationsEnd State: Five steps to success for complex organizations
End State: Five steps to success for complex organizations
Gregory Rowe, LSS, ITIL
 
Changeability Evaluation Model for Object Oriented Software
Changeability Evaluation Model for Object Oriented SoftwareChangeability Evaluation Model for Object Oriented Software
Changeability Evaluation Model for Object Oriented Software
AIRCC Publishing Corporation
 
CHANGEABILITY EVALUATION MODEL FOR OBJECT ORIENTED SOFTWARE
CHANGEABILITY EVALUATION MODEL FOR OBJECT ORIENTED SOFTWARECHANGEABILITY EVALUATION MODEL FOR OBJECT ORIENTED SOFTWARE
CHANGEABILITY EVALUATION MODEL FOR OBJECT ORIENTED SOFTWARE
AIRCC Publishing Corporation
 

Similar to Managing 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
 
The Hunt for Leading Indicators
The Hunt for Leading IndicatorsThe Hunt for Leading Indicators
The Hunt for Leading Indicators
 
1. process mapping is a critical part of the define and measure ph
1. process mapping is a critical part of the define and measure ph1. process mapping is a critical part of the define and measure ph
1. process mapping is a critical part of the define and measure ph
 
"I don't trust AI": the role of explainability in responsible AI
"I don't trust AI": the role of explainability in responsible AI"I don't trust AI": the role of explainability in responsible AI
"I don't trust AI": the role of explainability in responsible AI
 
Analisi di conformità dei requisiti - S. Vuotto (Università di Sassari)
Analisi di conformità dei requisiti - S. Vuotto (Università di Sassari)Analisi di conformità dei requisiti - S. Vuotto (Università di Sassari)
Analisi di conformità dei requisiti - S. Vuotto (Università di Sassari)
 
A Study On Hybrid System
A Study On Hybrid SystemA Study On Hybrid System
A Study On Hybrid System
 
You can go fast by going together: software delivery process performance metrics
You can go fast by going together: software delivery process performance metricsYou can go fast by going together: software delivery process performance metrics
You can go fast by going together: software delivery process performance metrics
 
Research Design and Validity
Research Design and ValidityResearch Design and Validity
Research Design and Validity
 
IntroductionThe TJF Company is an organization that is beginni.docx
IntroductionThe TJF Company is an organization that is beginni.docxIntroductionThe TJF Company is an organization that is beginni.docx
IntroductionThe TJF Company is an organization that is beginni.docx
 
Lenovo Final Report
Lenovo Final ReportLenovo Final Report
Lenovo Final Report
 
Mise14 @ ICSE1 14 Uncertainty in Bidirectional Transformations
Mise14 @ ICSE1 14 Uncertainty in Bidirectional TransformationsMise14 @ ICSE1 14 Uncertainty in Bidirectional Transformations
Mise14 @ ICSE1 14 Uncertainty in Bidirectional Transformations
 
Statistics For Bi
Statistics For BiStatistics For Bi
Statistics For Bi
 
What We Learned from Three Years of Sciencing the Crap Out of DevOps
What We Learned from Three Years of Sciencing the Crap Out of DevOpsWhat We Learned from Three Years of Sciencing the Crap Out of DevOps
What We Learned from Three Years of Sciencing the Crap Out of DevOps
 
M.E.Bontempi-Panel data: Models, estimation,and the role of attrition and Mea...
M.E.Bontempi-Panel data: Models, estimation,and the role of attrition and Mea...M.E.Bontempi-Panel data: Models, estimation,and the role of attrition and Mea...
M.E.Bontempi-Panel data: Models, estimation,and the role of attrition and Mea...
 
Towards a framework for making applications provenance aware: UML2PROV
Towards a framework for making applications provenance aware: UML2PROVTowards a framework for making applications provenance aware: UML2PROV
Towards a framework for making applications provenance aware: UML2PROV
 
Ws2011 sessione6 camillo_dattoma
Ws2011 sessione6 camillo_dattomaWs2011 sessione6 camillo_dattoma
Ws2011 sessione6 camillo_dattoma
 
Running head CRITICAL THINKING IN PSYCHOLOGY 2 CRITICAL THI.docx
Running head CRITICAL THINKING IN PSYCHOLOGY 2 CRITICAL THI.docxRunning head CRITICAL THINKING IN PSYCHOLOGY 2 CRITICAL THI.docx
Running head CRITICAL THINKING IN PSYCHOLOGY 2 CRITICAL THI.docx
 
End State: Five steps to success for complex organizations
End State: Five steps to success for complex organizationsEnd State: Five steps to success for complex organizations
End State: Five steps to success for complex organizations
 
Changeability Evaluation Model for Object Oriented Software
Changeability Evaluation Model for Object Oriented SoftwareChangeability Evaluation Model for Object Oriented Software
Changeability Evaluation Model for Object Oriented Software
 
CHANGEABILITY EVALUATION MODEL FOR OBJECT ORIENTED SOFTWARE
CHANGEABILITY EVALUATION MODEL FOR OBJECT ORIENTED SOFTWARECHANGEABILITY EVALUATION MODEL FOR OBJECT ORIENTED SOFTWARE
CHANGEABILITY EVALUATION MODEL FOR OBJECT ORIENTED SOFTWARE
 

More from Alfonso Pierantonio

2023-04 OA 2.pptx
2023-04 OA 2.pptx2023-04 OA 2.pptx
2023-04 OA 2.pptx
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'Aquila
Alfonso Pierantonio
 
MDE Adoption: a three legged chair
MDE Adoption:  a three legged chairMDE Adoption:  a three legged chair
MDE Adoption: a three legged chair
Alfonso 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 Engineering
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 metamodels
Alfonso Pierantonio
 
Mining Metrics for Understanding Metamodel Characteristics
Mining Metrics for Understanding Metamodel CharacteristicsMining Metrics for Understanding Metamodel Characteristics
Mining Metrics for Understanding Metamodel Characteristics
Alfonso 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 Techniques
Alfonso 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
 
Model evolution and versioning
Model evolution and versioningModel evolution and versioning
Model evolution and versioning
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 Development
Alfonso Pierantonio
 

More from Alfonso Pierantonio (15)

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

Recently uploaded

THEMATIC APPERCEPTION TEST(TAT) cognitive abilities, creativity, and critic...
THEMATIC  APPERCEPTION  TEST(TAT) cognitive abilities, creativity, and critic...THEMATIC  APPERCEPTION  TEST(TAT) cognitive abilities, creativity, and critic...
THEMATIC APPERCEPTION TEST(TAT) cognitive abilities, creativity, and critic...
Abdul Wali Khan University Mardan,kP,Pakistan
 
Chapter 12 - climate change and the energy crisis
Chapter 12 - climate change and the energy crisisChapter 12 - climate change and the energy crisis
Chapter 12 - climate change and the energy crisis
tonzsalvador2222
 
Equivariant neural networks and representation theory
Equivariant neural networks and representation theoryEquivariant neural networks and representation theory
Equivariant neural networks and representation theory
Daniel Tubbenhauer
 
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
yqqaatn0
 
3D Hybrid PIC simulation of the plasma expansion (ISSS-14)
3D Hybrid PIC simulation of the plasma expansion (ISSS-14)3D Hybrid PIC simulation of the plasma expansion (ISSS-14)
3D Hybrid PIC simulation of the plasma expansion (ISSS-14)
David Osipyan
 
aziz sancar nobel prize winner: from mardin to nobel
aziz sancar nobel prize winner: from mardin to nobelaziz sancar nobel prize winner: from mardin to nobel
aziz sancar nobel prize winner: from mardin to nobel
İsa Badur
 
ESR spectroscopy in liquid food and beverages.pptx
ESR spectroscopy in liquid food and beverages.pptxESR spectroscopy in liquid food and beverages.pptx
ESR spectroscopy in liquid food and beverages.pptx
PRIYANKA PATEL
 
Micronuclei test.M.sc.zoology.fisheries.
Micronuclei test.M.sc.zoology.fisheries.Micronuclei test.M.sc.zoology.fisheries.
Micronuclei test.M.sc.zoology.fisheries.
Aditi Bajpai
 
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
yqqaatn0
 
Eukaryotic Transcription Presentation.pptx
Eukaryotic Transcription Presentation.pptxEukaryotic Transcription Presentation.pptx
Eukaryotic Transcription Presentation.pptx
RitabrataSarkar3
 
Thornton ESPP slides UK WW Network 4_6_24.pdf
Thornton ESPP slides UK WW Network 4_6_24.pdfThornton ESPP slides UK WW Network 4_6_24.pdf
Thornton ESPP slides UK WW Network 4_6_24.pdf
European Sustainable Phosphorus Platform
 
The binding of cosmological structures by massless topological defects
The binding of cosmological structures by massless topological defectsThe binding of cosmological structures by massless topological defects
The binding of cosmological structures by massless topological defects
Sérgio Sacani
 
Applied Science: Thermodynamics, Laws & Methodology.pdf
Applied Science: Thermodynamics, Laws & Methodology.pdfApplied Science: Thermodynamics, Laws & Methodology.pdf
Applied Science: Thermodynamics, Laws & Methodology.pdf
University of Hertfordshire
 
ANAMOLOUS SECONDARY GROWTH IN DICOT ROOTS.pptx
ANAMOLOUS SECONDARY GROWTH IN DICOT ROOTS.pptxANAMOLOUS SECONDARY GROWTH IN DICOT ROOTS.pptx
ANAMOLOUS SECONDARY GROWTH IN DICOT ROOTS.pptx
RASHMI M G
 
Phenomics assisted breeding in crop improvement
Phenomics assisted breeding in crop improvementPhenomics assisted breeding in crop improvement
Phenomics assisted breeding in crop improvement
IshaGoswami9
 
Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.
Nistarini College, Purulia (W.B) India
 
The debris of the ‘last major merger’ is dynamically young
The debris of the ‘last major merger’ is dynamically youngThe debris of the ‘last major merger’ is dynamically young
The debris of the ‘last major merger’ is dynamically young
Sérgio Sacani
 
Sharlene Leurig - Enabling Onsite Water Use with Net Zero Water
Sharlene Leurig - Enabling Onsite Water Use with Net Zero WaterSharlene Leurig - Enabling Onsite Water Use with Net Zero Water
Sharlene Leurig - Enabling Onsite Water Use with Net Zero Water
Texas Alliance of Groundwater Districts
 
EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...
EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...
EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...
Sérgio Sacani
 
Oedema_types_causes_pathophysiology.pptx
Oedema_types_causes_pathophysiology.pptxOedema_types_causes_pathophysiology.pptx
Oedema_types_causes_pathophysiology.pptx
muralinath2
 

Recently uploaded (20)

THEMATIC APPERCEPTION TEST(TAT) cognitive abilities, creativity, and critic...
THEMATIC  APPERCEPTION  TEST(TAT) cognitive abilities, creativity, and critic...THEMATIC  APPERCEPTION  TEST(TAT) cognitive abilities, creativity, and critic...
THEMATIC APPERCEPTION TEST(TAT) cognitive abilities, creativity, and critic...
 
Chapter 12 - climate change and the energy crisis
Chapter 12 - climate change and the energy crisisChapter 12 - climate change and the energy crisis
Chapter 12 - climate change and the energy crisis
 
Equivariant neural networks and representation theory
Equivariant neural networks and representation theoryEquivariant neural networks and representation theory
Equivariant neural networks and representation theory
 
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
 
3D Hybrid PIC simulation of the plasma expansion (ISSS-14)
3D Hybrid PIC simulation of the plasma expansion (ISSS-14)3D Hybrid PIC simulation of the plasma expansion (ISSS-14)
3D Hybrid PIC simulation of the plasma expansion (ISSS-14)
 
aziz sancar nobel prize winner: from mardin to nobel
aziz sancar nobel prize winner: from mardin to nobelaziz sancar nobel prize winner: from mardin to nobel
aziz sancar nobel prize winner: from mardin to nobel
 
ESR spectroscopy in liquid food and beverages.pptx
ESR spectroscopy in liquid food and beverages.pptxESR spectroscopy in liquid food and beverages.pptx
ESR spectroscopy in liquid food and beverages.pptx
 
Micronuclei test.M.sc.zoology.fisheries.
Micronuclei test.M.sc.zoology.fisheries.Micronuclei test.M.sc.zoology.fisheries.
Micronuclei test.M.sc.zoology.fisheries.
 
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
 
Eukaryotic Transcription Presentation.pptx
Eukaryotic Transcription Presentation.pptxEukaryotic Transcription Presentation.pptx
Eukaryotic Transcription Presentation.pptx
 
Thornton ESPP slides UK WW Network 4_6_24.pdf
Thornton ESPP slides UK WW Network 4_6_24.pdfThornton ESPP slides UK WW Network 4_6_24.pdf
Thornton ESPP slides UK WW Network 4_6_24.pdf
 
The binding of cosmological structures by massless topological defects
The binding of cosmological structures by massless topological defectsThe binding of cosmological structures by massless topological defects
The binding of cosmological structures by massless topological defects
 
Applied Science: Thermodynamics, Laws & Methodology.pdf
Applied Science: Thermodynamics, Laws & Methodology.pdfApplied Science: Thermodynamics, Laws & Methodology.pdf
Applied Science: Thermodynamics, Laws & Methodology.pdf
 
ANAMOLOUS SECONDARY GROWTH IN DICOT ROOTS.pptx
ANAMOLOUS SECONDARY GROWTH IN DICOT ROOTS.pptxANAMOLOUS SECONDARY GROWTH IN DICOT ROOTS.pptx
ANAMOLOUS SECONDARY GROWTH IN DICOT ROOTS.pptx
 
Phenomics assisted breeding in crop improvement
Phenomics assisted breeding in crop improvementPhenomics assisted breeding in crop improvement
Phenomics assisted breeding in crop improvement
 
Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.
 
The debris of the ‘last major merger’ is dynamically young
The debris of the ‘last major merger’ is dynamically youngThe debris of the ‘last major merger’ is dynamically young
The debris of the ‘last major merger’ is dynamically young
 
Sharlene Leurig - Enabling Onsite Water Use with Net Zero Water
Sharlene Leurig - Enabling Onsite Water Use with Net Zero WaterSharlene Leurig - Enabling Onsite Water Use with Net Zero Water
Sharlene Leurig - Enabling Onsite Water Use with Net Zero Water
 
EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...
EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...
EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...
 
Oedema_types_causes_pathophysiology.pptx
Oedema_types_causes_pathophysiology.pptxOedema_types_causes_pathophysiology.pptx
Oedema_types_causes_pathophysiology.pptx
 

Managing Uncertainty in Bidirectional Model Transformations

  • 1. Dipartimento di Ingegneria e Scienze Università degli Studi dell’Aquila dell’Informazione e Matematica Managing Uncertainty in Bidirectional Model Transformations Alfonso Pierantonio Joint work with Romina Eramo and Gianni Rosa
  • 2. Alfonso Pierantonio – SLE 2015, Pittsburgh (USA) 2 Bidirectionality Bidirectionality is about keeping a set or related models synchronized or in a consistent state: updates to a source entail updates to the others.
  • 3. Alfonso Pierantonio – SLE 2015, Pittsburgh (USA) 3 Bidirectionality Bidirectionality is about keeping a set or related models synchronized or in a consistent state: updates to a source entail updates to the others. Many semantic assumptions and misconceptions can be explored by comparing synchronization and consistency management
  • 4. Alfonso Pierantonio – SLE 2015, Pittsburgh (USA) 4 Bidirectionality Bidirectionality is about keeping a set or related models synchronized or in a consistent state: updates to a source entail updates to the others. Many semantic assumptions and misconceptions can be explored by comparing synchronization and consistency management Can we really use these terms interchangeably, do they represent the same concept?
  • 5. As an example, let us consider Hierarchical State Machines (HSM)
  • 6. Out of Service Off Idle Self Test Maintenance Active Authentication Selecting transaction Transaction startup failed doneshutdown in(card)cancel error fixed Model m1: HSM As an example, let us consider Hierarchical State Machines (HSM)
  • 7. As an example, let us consider Hierarchical State Machines (HSM) and State Machines (SM)
  • 8. As an example, let us consider Hierarchical State Machines (HSM) and State Machines (SM) Model m2: SM in(card) Out of Service Off Idle Active shutdown cancel fixed startup done error
  • 9. As an example, let us consider Hierarchical State Machines (HSM) and State Machines (SM) A possible consistency relationship between them is the following
  • 10. Model m2: SM Out of Service Off Idle Self Test Maintenance Active Authentication Selecting transaction Transaction startup failed doneshutdown in(card)cancel error fixed Model m1: HSM in(card) Out of Service Off Idle Active shutdown cancel fixed startup done error
  • 11. Alfonso Pierantonio – SLE 2015, Pittsburgh (USA) 11 A model for bidirectional transformation Let and be two metamodels, then the relation can be defined by means of the following directional mappings Stevens, Perdita. "Bidirectional model transformations in QVT: semantic issues and open questions." Software & Systems Modeling 9.1 (2010): 7-20.
  • 12. Alfonso Pierantonio – SLE 2015, Pittsburgh (USA) 12 A model for bidirectional transformation Correctness The transformations and must enforce the relation , ie they are said correct if Hippocraticness In case the models are already consistent then the following must hold
  • 13. Let us come back to our State Machine example …
  • 14. Out of Service Off Idle Self Test Maintenance Active Authentication Selecting transaction Transaction startup failed doneshutdown in(card)cancel error fixed
  • 15. Out of Service Off Idle Self Test Maintenance Active Authentication Selecting transaction Transaction startup failed doneshutdown in(card)cancel error fixed
  • 16. Out of Service Off Idle Self Test Maintenance Active Authentication Selecting transaction Transaction startup failed doneshutdown in(card)cancel error fixed Out of Service Off Idle Active
  • 17. Out of Service Off Idle Self Test Maintenance Active Authentication Selecting transaction Transaction startup failed done in(card) Out of Service Off Idle Active cancel shutdown error fixed
  • 18. cancel Out of Service Off Idle Self Test Maintenance Active Authentication Selecting transaction Transaction startup failed doneshutdown in(card) error fixed Out of Service Off Idle Active shutdown cancel error fixed
  • 19. Out of Service Off Idle Self Test Maintenance Active Authentication Selecting transaction Transaction startup failed doneshutdown in(card)cancel error fixed Out of Service Off Idle Active shutdown cancel error fixed
  • 20. in(card) startup Out of Service Off Idle Self Test Maintenance Active Authentication Selecting transaction Transactionfailed doneshutdown in(card)cancel error fixed Out of Service Off Idle Active shutdown cancel error fixed startup done
  • 21. in(card) startup Out of Service Off Idle Self Test Maintenance Active Authentication Selecting transaction Transactionfailed doneshutdown in(card)cancel error fixed Out of Service Off Idle Active shutdown cancel error fixed startup done
  • 22. in(card) startup Out of Service Off Idle Self Test Maintenance Active Authentication Selecting transaction Transactionfailed doneshutdown in(card)cancel error fixed Out of Service Off Idle Active shutdown cancel error fixed startup done
  • 23. in(card) startup Out of Service Off Idle Self Test Maintenance Active Authentication Selecting transaction Transacfailed doneshutdown in(card)cancel error fixed Out of Service Off Idle Active shutdown cancel error fixed startup done
  • 24. in(card) startup Out of Service Off Idle Self Test Maintenance Active Authentication Selecting transaction Transacfailed doneshutdown in(card)cancel error fixed Out of Service Off Idle Active shutdown cancel error fixed startup done How this manual change can be back propagated?
  • 25. in(card) startup Out of Service Off Idle Self Test Maintenance Active Authentication Selecting transaction Transacfailed doneshutdown in(card)cancel error fixed Out of Service Off Idle Active shutdown cancel error fixed startup done The update entails multiple choices
  • 26. This transformation is non-deterministic (ie. the transformation does not always produce a unique result)
  • 27. Alfonso Pierantonio – SLE 2015, Pittsburgh (USA) 27 Why non-determinism? The transformation is not-deterministic because 1) The two metamodels are not isomorphic 2) Multiple update strategies are possible and the designer did not provide a general consistency- restoration strategy at design-time Unknown uncertainty: the designer does not hold enough information for deciding a priori what is the “wanted” solution Zan, Tao, Hugo Pacheco, and Zhenjiang Hu. "Writing bidirectional model transformations as intentional updates." Procs. 36th International Conference on Software Engineering, 2014.
  • 28. in(card) startup Out of Service Off Idle Self Test Maintenance Active Authentication Selecting transaction Transacfailed doneshutdown in(card)cancel error fixed Out of Service Off Idle Active shutdown cancel error fixed startup done An update strategy (among the valid ones) can make the transformation deterministic
  • 30. 30 Explicit management of non-determinism While determinism is a desirable quality – There is no way to detect whether a bidirectional transformation is deterministic at static-time – Languages like QVT Relational consider only one strategy out of the many possible alternatives Developers have little or no control: the main reason because bidirectionality did not hold promise An explicit management of non-determinism in model transformations has been investigated
  • 31. Alfonso Pierantonio – SLE 2015, Pittsburgh (USA) 31 Languages with non-determinism Recently a number of languages has been proposed with an explicit management of non-determinism: [1] A. Cicchetti, D. Di Ruscio, R. Eramo, and A. Pierantonio. JTL: a bidirectional and change propagating transformation language. In SLE10, pages 183–202, 2010. [2] N. Macedo and A. Cunha. Implementing QVT-R Bidirectional Model Transformations Using Alloy. In FASE, pages 297–311, 2013. [3] G. Callow and R. Kalawsky. A Satisficing Bi-Directional Model Transformation Engine using Mixed Integer Linear Programming. JOT, 12(1):1: 1–43, 2013.
  • 32. Alfonso Pierantonio – SLE 2015, Pittsburgh (USA) 32 JTL The JTL language provide an explicit support to non- determinism, intended as “. . . programmers need only specify a consistency relation, allowing the bx engine to resolve the under-specification non-deterministically” [1] All valid solutions are generated at once [1] F. Abou-Saleh, J. Cheney, J. Gibbons, J. McKinna, and P. Stevens. Notions of Bidirectional Computation and Entangled State Monads. MPC, 187–214, 2015.
  • 33. Alfonso Pierantonio – SLE 2015, Pittsburgh (USA) 33 A model for non-deterministic transformations Let and be two metamodels, then the relation can be defined as follows where and are multivalued functions, ie left- total relations in which inputs are associated with multiple outputs.
  • 34. Alfonso Pierantonio – SLE 2015, Pittsburgh (USA) 34 A model for non-deterministic transformations Correctness The transformations and must enforce the relation , ie they are correct if Hippocraticness In case the models are already consistent then the following must hold
  • 36. startup Out of Service Off Idle Self Test Maintenance Active Authentication Selecting transaction Transactionfailed done shutdown in(card)cancel error fixed in(card) Out of Service Off Idle Active shutdown cancel fixed startup error error error error error #error = 3
  • 37. startup Out of Service Off Idle Self Test Maintenance Active Authentication Selecting transaction Transactionfailed shutdown in(card)cancel error fixed in(card) Out of Service Off Idle Active shutdown cancel fixed startup error Printing done print Printing print printprintprint error error error error done #error = 3 #done = 1 #print = 4
  • 38. startup Out of Service Off Idle Self Test Maintenance Active Authentication Selecting transaction Transactionfailed shutdown in(card)cancel error fixed in(card) Out of Service Off Idle Active shutdown cancel fixed startup completed error Printing done print Printing print printprintprint completed completed completed completed error error error error done #error = 3 #done = 1 #print = 4 #completed = 4
  • 39. 39 Little changes, big impact Little changes in one of the source, cause a combinatorial explosion of alternatives in the other one For instance, the overall number of models in the State Machine example is 3 x 4 x 4 x 1 = 48 Dealing with the myriad of generated models is intrinsically difficult if not impractical #error = 3 #done = 1 #print = 4 #completed = 4
  • 40. Alfonso Pierantonio – SLE 2015, Pittsburgh (USA) 40 Intensional representation of the solution space We need a construction which permits an intentional representation of the solution space Therefore, instead of generating a multitude of models, we want to represent the solution space of a non-deterministic transformation with a model with uncertainty. R. Eramo, A. Pierantonio, and G. Rosa. Uncertainty in bidi- rectional transformations. In Procs. of MiSE 2014, 2014.
  • 41. Alfonso Pierantonio – SLE 2015, Pittsburgh (USA) 41 Models with Uncertainty Given a metamodel M it is possible to derive its metamodel with uncertainty U(M) by means of an automated construction. A model with uncertainty is used to intensionally represent all the alternative models generated by a non-deterministic transformation. R. Eramo, A. Pierantonio, and G. Rosa. Uncertainty in bidi- rectional transformations. In Procs. of MiSE 2014, 2014.
  • 43. Alfonso Pierantonio – SLE 2015, Pittsburgh (USA) 43 A model for transformations with uncertainty The directional mappings and can be reformulated as such that where with
  • 44. Alfonso Pierantonio – SLE 2015, Pittsburgh (USA) 44 JTL extention to uncertainty In order to let JTL generate models with uncertainty for the solution space 1. the “intersection” shared among all choices and 2. the uncertain parts must be identified.
  • 45. Alfonso Pierantonio – SLE 2015, Pittsburgh (USA) 45 JTL extention to uncertainty startup Out of Service Off Idle Self Test Maintenance Active Authentication Selecting transaction Transactionfailed shutdown in(card)cancel error fixed Printing print printprintprint completed completed completed completed error error error done
  • 46. Alfonso Pierantonio – SLE 2015, Pittsburgh (USA) 46 JTL extension to uncertainty JTL engine is a logic program written in ASP and non-deterministically resolved by the DLV solver, it can derive how models are related by means of a deductive process Traceability management offers enough information to understand how the models can be factorized Tracing information stores relevant details about the linkage between source and target model elements at run-time.
  • 47. Alfonso Pierantonio – SLE 2015, Pittsburgh (USA) 47 JTL extension to uncertainty In essence, given the application the complete tracing domain is determined as the collection of all tracing links r(a) = b Def. An uncertainty point is a set of trace links in such that if are two distinguished links in , then
  • 48. Alfonso Pierantonio – SLE 2015, Pittsburgh (USA) 48 JTL extension to uncertainty startup Out of Service Off Idle Self Test Maintenance Active Authentication Selecting transaction Transactionfailed shutdown in(card)cancel error fixed Printing print printprintprint
  • 49. This the EMF model with uncertainty representing all 148 solutions. Designer can easily inspect it instead of navigating the solution space and for each pair of models finding the differences!
  • 50. Alfonso Pierantonio – SLE 2015, Pittsburgh (USA) 50 Experiment We considered a JTL HSM2SM transformation consisting of 10 relations 1. The transformation has been (forward) applied to a model with 20 elements, 29 association and 30 attributes 2. The target model has been increasingly modified and the transformation (backward) reapplied The program has been executed on a machine with an Intel Core i7-4790K 4.00Ghz processor and 8Gb RAM, running Windows 8.1
  • 51. Alfonso Pierantonio – SLE 2015, Pittsburgh (USA) 51 Experiment CPU time #model elements Memory
  • 52. Alfonso Pierantonio – SLE 2015, Pittsburgh (USA) 52 Conclusions The explicit management of non-determinism in bidirectional transformations is an uncertainty reducing process The unknown uncertainty during design-time translates into known (or bound) uncertainty during run-time Managing the non-determinism is not enough because of the combinatorial explosion of alternatives