uncertainty in bidirectional transformations
DESCRIPTION
In model driven engineering, models are primary artifact manipulated by means of automated transformations. A notion of uncertainty has introduced, permitting modelers to postpone design decision in case of lack of information. In other way the uncertainty due to the solution multiplicity in bidirectional transformation is discussed. The problem is illustraded by a round-tripping scenario realized with JTL transformations language.TRANSCRIPT
![Page 1: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/1.jpg)
Università degli Studi dell’Aquila
1
Uncertainty in Bidirectional Transformation @SATToSE2014
Gianni RosaPHD Student @ Computer Science Department,
University of L’Aquila, Italy
Join work with Romina Eramo, Alfonso Pierantonio
![Page 2: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/2.jpg)
Uncertainty in Bidirectional Transformation
Roadmap
• Introduction• Uncertainty
• In user models• In generated models
• Uncertain transformation• An overview on JTL• Specifying uncertain transformations in JTL• Generating concrete alternatives• Factorizing alternatives
• Conclusions and future work
2
![Page 3: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/3.jpg)
INTRODUCTION
UNCERTAINTY IN BIDIRECTIONAL TRANSFORMATION
3
![Page 4: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/4.jpg)
Uncertainty in Bidirectional Transformation
Introduction
In Model-Driven Engineering (MDE), the potential advantages of using bidirectional transformations are largely recognized.
Despite its relevance, bidirectional languages have rarely produced anticipated benefits as demonstrated by the lack of a leading language comparable, for instance, to ATL.
4
![Page 5: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/5.jpg)
Introduction
The problem of non-determinism in bidirectional transformations
5
![Page 6: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/6.jpg)
Introduction
The problem of non-determinism in bidirectional transformations
6
non-injective
![Page 7: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/7.jpg)
Introduction
The problem of non-determinism in bidirectional transformations
7
non-injective
one-to-many mapping
![Page 8: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/8.jpg)
Introduction
The problem of non-determinism in bidirectional transformations
8
non-injective
one-to-many mappingmultiple solutions
![Page 9: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/9.jpg)
Uncertainty in Bidirectional Transformation
Introduction
Transformations may be non-bijective: given a source model, there could be more than one target model which correctly related to the source
Transformations may be not total: only the relevant concepts of the source models are mapped toward the corresponding target elements
9
![Page 10: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/10.jpg)
Uncertainty in Bidirectional Transformation
Introduction
The solutions for this specific problem can be given at
– transformation-centric: the transformation specify how to resolve the ambiguity;
– language-centric: the language is endowed with appropriate semantics to allow transformations to yield all the valid solutions.
10
![Page 11: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/11.jpg)
UNCERTAINTY
UNCERTAINTY IN BIDIRECTIONAL TRANSFORMATION
11
![Page 12: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/12.jpg)
Uncertainty in Bidirectional Transformation
Uncertainty12
![Page 13: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/13.jpg)
Uncertainty in Bidirectional Transformation
Uncertainty
Uncertainty means that «rather than having a single model, we actually have a set of possible models, and we are not sure which is the correct one».
13
![Page 14: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/14.jpg)
Uncertainty in Bidirectional Transformation
Uncertainty
Uncertainty occurs when • The designer does not have the complete,
consistent and accurate information required to make a decision during software development.
• In model transformations
In both cases, design decisions are delayed requiring the manual intervention of the modeler.
14
![Page 15: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/15.jpg)
Uncertainty in Bidirectional Transformation
Uncertainty In User Models
Designers are often unsure about the information to specify in models because of uncertainty and incompleteness of requirements.
15
![Page 16: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/16.jpg)
Uncertainty in Bidirectional Transformation
Uncertainty In User Models
Designers are often unsure about the information to specify in models because of uncertainty and incompleteness of requirements.
16
![Page 17: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/17.jpg)
Uncertainty in Bidirectional Transformation
Uncertainty In Generated Models
Uncertainty in generated models could arise when reversing a non-injective transformation.
It is non unfrequent that the implementor is (partly or completely) unaware that details are missing at design-time and this will be manifest only when the transformation will be executed.
17
![Page 18: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/18.jpg)
Uncertainty in Bidirectional Transformation
Uncertainty In Generated Models
In reference to the previous example:
18
Left Hand Side Hierarchical State Machine
![Page 19: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/19.jpg)
Uncertainty in Bidirectional Transformation
Uncertainty In Generated Models
19
Right Hand Side State Machine
![Page 20: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/20.jpg)
Uncertainty in Bidirectional Transformation
Uncertainty In Generated Models
20
Modified Right Hand Side State Machine
Right Hand Side State Machine
![Page 21: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/21.jpg)
Uncertainty in Bidirectional Transformation
Uncertainty In Generated Models
21
Propagating changes in Left Hand Side Hierarchical State Machine: more of then one model occurs (multiplicity of solutions)
![Page 22: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/22.jpg)
UNCERTAIN TRANSFORMATIONS
UNCERTAINTY IN BIDIRECTIONAL TRANSFORMATION
22
![Page 23: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/23.jpg)
Uncertainty in Bidirectional Transformation
Uncertain TransformationJTL
JTL is a constraint-based model transformation language specifically tailored to support bidirectionality. It adopts a QVT-R like syntax and allows a declarative specification of relationship between MOF models.
The semantics is given in terms of Answer Set Programming(ASP), which is a form of declarative programming orientedtowards difficult (primarily NP-hard) search problems and based on the stable model (answer set) semantics of logic programming.
23
![Page 24: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/24.jpg)
Uncertainty in Bidirectional Transformation
Uncertain TransformationSpecifying uncertanty transformation
24
![Page 25: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/25.jpg)
Uncertainty in Bidirectional Transformation
Uncertain TransformationSpecifying uncertanty transformation
25
Non injective
Different sourceand same target
Elements
![Page 26: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/26.jpg)
Uncertainty in Bidirectional Transformation
Uncertain TransformationGenerating concrete alternatives
26
Target HSM (a)
![Page 27: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/27.jpg)
Uncertainty in Bidirectional Transformation
Uncertain TransformationGenerating concrete alternatives
27
Target HSM (b)
![Page 28: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/28.jpg)
Uncertainty in Bidirectional Transformation
Uncertain TransformationGenerating concrete alternatives
28
Target HSM (c)
![Page 29: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/29.jpg)
Uncertainty in Bidirectional Transformation
Uncertain TransformationGenerating concrete alternatives
29
Target HSM (d)
![Page 30: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/30.jpg)
Uncertainty in Bidirectional Transformation
Uncertain TransformationGenerating concrete alternatives
30
Multiple Solutions in HSM
![Page 31: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/31.jpg)
Uncertainty in Bidirectional Transformation
Uncertain TransformationFactorizing alternatives
31
![Page 32: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/32.jpg)
CONCLUSIONS AND FUTURE WORK
UNCERTAINTY IN BIDIRECTIONAL TRANSFORMATION
32
![Page 33: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/33.jpg)
Uncertainty in Bidirectional Transformation
Conclusions
We discussed the problem of non-determinism in bidirectional transformations. In many respects, the multiplicity of solutions in non-bijective transformations is an aspect which has been largely neglected. Our proposal is based on JTL, a language which is able to generate more than one model at once, whose transformation engine has been modified to accommodate uncertainty.
33
![Page 34: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/34.jpg)
Uncertainty in Bidirectional Transformation
References
• JTL http://jtl.di.univaq.it• Romina Eramo, Alfonso Pierantonio, Gianni Rosa Uncertainty in Bidirectional Transformation,
in: 36th International Conference on Software Engineering (MISE), Hyderabad, India• G. Callow and R. Kalawsky. A Satisficing Bi-Directional Model Transformation Engine using
Mixed Integer Linear Programming. Journal of Object Technology, 12(1):1: 1–43, 2013.• A. Cicchetti, D. Di Ruscio, R. Eramo, and A. Pierantonio. JTL: a bidirectional and change
propagating transformation language. In Procs. of SLE 2010, LNCS 6563, pages 183–202. Springer, 2011.
• K. Czarnecki, J. N. Foster, Z. Hu, R. Lämmel, A. Schürr, and J. F. Terwilliger. Bidirectional Transformations: A Cross-Discipline Perspective - GRACE meeting notes, state of the art, and outlook. In Procs. of ICMT2009, volume 5563 of LNCS, pages 260–283. Springer, 2009.
• M. Famelis, R. Salay, and M. Chechik. Partial models: Towards modeling and reasoning with uncertainty. In ICSE, pages 573–583, 2012.
• M. Famelis, R. Salay, A. D. Sandro, and M. Chechik. Transformation of models containing uncertainty. In MoDELS, pages 673–689, 2013.
• R. Salay, M. Chechik, J. Horkoff, and A. D. Sandro. Managing requirements uncertainty with partial models. Requir. Eng., 18(2):107–128, 2013.
34
![Page 35: Uncertainty in Bidirectional Transformations](https://reader034.vdocument.in/reader034/viewer/2022042700/554f478fb4c905b9508b4634/html5/thumbnails/35.jpg)
Università degli Studi dell’Aquila
35 UNCERTAINTY IN BIDIRECTIONAL TRANSFORMATION