A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors:...
-
Upload
dulcie-davis -
Category
Documents
-
view
215 -
download
0
Transcript of A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors:...
![Page 1: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/1.jpg)
A Linguistic Approach to Model Synchronization
Yingfei XiongPh.D., University of Tokyo
Advisors: Zhenjiang Hu and Masato Takeichi
1
![Page 2: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/2.jpg)
Bio
• 2000~2004, UESTC, B.Eng• 2004~2006, Peking University• 2006~2009, University of Tokyo, Ph.D.• 2009~2011?, University of Waterloo, Postdoc
![Page 3: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/3.jpg)
Model Driven Engineering
• An emerging paradigm for software development
• Capturing software artifacts as models• Developing software by transforming and
refining models
3
Feature modelFeature model UML modelUML model Database modelDatabase model Deployment model
Deployment model
![Page 4: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/4.jpg)
Model Synchronization
• Consistency need to be established over all models
• When one model is updated, the update need to be propagated across all models
4
Feature modelFeature model UML modelUML model Database modelDatabase model Deployment model
Deployment model
Consistent
updateupdate
![Page 5: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/5.jpg)
Running Example
5
Database Design ToolUML Modeling Tool
5
EqualEqual
![Page 6: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/6.jpg)
Running Example
6
Database Design ToolUML Modeling Tool
6
Publication
Publication
![Page 7: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/7.jpg)
Synchronizer
• Synchronizing models is not easy– Identify affected locations– Propagate updates to these locations– Trade off between different propagation
strategies
• Synchronizers are needed– A synchronizer propagates updates automatically
to make all models consistent when user modify models
7
![Page 8: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/8.jpg)
Existing Approaches
8
![Page 9: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/9.jpg)
Adhoc synchronizers [FGH+94, GHM98]
• For adhoc cases• Implemented in languages like Java or C++• Example:
If (t is a table&& t.name changes to x) { find the corresponding class c; c.name = x;}
• Problems:– Difficult to develop– Difficult to maintain
9
![Page 10: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/10.jpg)
Bidirectional Transformation [Ste07, SK08b]
10
Updated UML model
Updated UML model
Database modelDatabase model Updated database model
Updated database model
Forward Transformatio
n
Forward Transformatio
n
UML modelUML model
Updated database model
Updated database model
Updated UML model
Updated UML modelBackward
Transformation
Backward Transformatio
n
Consistency Relation in Bidirectional LanguagesConsistency Relation in Bidirectional Languages
generate
![Page 11: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/11.jpg)
Problems of Bidirectional Transformation
• Problem 1: Developers have to learn a new language
• Problem 2: Not allow parallel updates on the two models
• Problem 3: Support limited types of consistency relation– Not support on-site synchronization
11
![Page 12: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/12.jpg)
Off-Site Synchronization
• Synchronize between two applications
Application A Synchronizer Application B
Models of Application A
Models of Application B
12
![Page 13: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/13.jpg)
On-Site Synchronization
• Synchronization within One Application
Application
Synchronizer
UML Modeling Tool
13
EqualEqual
![Page 14: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/14.jpg)
On-Site Synchronization
• Synchronization within One Application
Application
Synchronizer
UML Modeling Tool
14
BookPrice
BookPrice
![Page 15: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/15.jpg)
Our Approach
15
![Page 16: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/16.jpg)
Our Approach
16
![Page 17: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/17.jpg)
Our Approach
SynchronizerSynchronizer
Consistency Relation in Existing LanguagesConsistency Relation in Existing Languages
generate
17
![Page 18: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/18.jpg)
Our Approach
SynchronizerSynchronizer
Consistency Relation in Existing LanguagesConsistency Relation in Existing Languages
generate
• Consistency Relation is specified in existing relation-specifying languages• Benefit• Reusing existing
programs• Reusing developer
knowledge• Different languages for
different situations
• Consistency Relation is specified in existing relation-specifying languages• Benefit• Reusing existing
programs• Reusing developer
knowledge• Different languages for
different situations18
![Page 19: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/19.jpg)
Our Approach
SynchronizerSynchronizer
Consistency Relation in Existing LanguagesConsistency Relation in Existing Languages
generateAllowing parallel updates over different models
Allowing parallel updates over different models
19
![Page 20: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/20.jpg)
Our Approach
SynchronizerSynchronizer
Consistency Relation in Existing LanguagesConsistency Relation in Existing Languages
generate
Supporting more consistency relation description, particularly, on-site synchronization
Supporting more consistency relation description, particularly, on-site synchronization
Supporting more consistency relation description, particularly, on-site synchronization
Supporting more consistency relation description, particularly, on-site synchronization
20
![Page 21: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/21.jpg)
ContributionsRequirement of Model Synchronization (Chapter 2)
Dictionary-based Representation of Models and Updates (Chapter 3)
Unidirectional Transformatio
n
Unidirectional Transformatio
n
Off-Site Synchronizer
Off-Site Synchronizer
Bidirectional Transformatio
n
Bidirectional Transformatio
n
Off-Site Synchronizer
Off-Site Synchronizer
Logic Expression
Logic Expression
On-Site Synchronizer
On-Site Synchronizer
21
Application: Runtime M
anagement
Framew
ork (Section 5.5)(M
odels@Runtim
e 09)
Application: Runtime M
anagement
Framew
ork (Section 5.5)(M
odels@Runtim
e 09)
Chapter 4ASE07
Chapter 5ICMT09
Chapter 6,7FSE09
![Page 22: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/22.jpg)
ContributionsRequirement of Model Synchronization (Chapter 2)
Dictionary-based Representation of Models and Updates (Chapter 3)
Unidirectional Transformatio
n
Unidirectional Transformatio
n
Off-Site Synchronizer
Off-Site Synchronizer
Bidirectional Transformatio
n
Bidirectional Transformatio
n
Off-Site Synchronizer
Off-Site Synchronizer
Logic Expression
Logic Expression
On-Site Synchronizer
On-Site Synchronizer
22
Application: Runtime M
anagement
Framew
ork (Section 5.5)(M
odels@Runtim
e 09)
Application: Runtime M
anagement
Framew
ork (Section 5.5)(M
odels@Runtim
e 09)
Chapter 4ASE07
Chapter 5ICMT09
Chapter 6,7FSE09
![Page 23: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/23.jpg)
Requirement of Model Synchronization
• Three properties– Consistency– Preservation– Stability
• A synchronizer is correct only if it satisfies the three properties
23
![Page 24: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/24.jpg)
Consistency• After synchronization, the data should be
consistent
2424
Equal
Publication
Publication
![Page 25: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/25.jpg)
Consistency• After synchronization, the data should be
consistent
2525
Equal
![Page 26: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/26.jpg)
Preservation• Synchronizer cannot overwrite user updates
2626
Publication
Book
![Page 27: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/27.jpg)
Stability• If users change nothing, the synchronizer
changes nothing
2727
![Page 28: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/28.jpg)
ContributionsRequirement of Model Synchronization (Chapter 2)
Dictionary-based Representation of Models and Updates (Chapter 3)
Unidirectional Transformatio
n
Unidirectional Transformatio
n
Off-Site Synchronizer
Off-Site Synchronizer
Bidirectional Transformatio
n
Bidirectional Transformatio
n
Off-Site Synchronizer
Off-Site Synchronizer
Logic Expression
Logic Expression
On-Site Synchronizer
On-Site Synchronizer
28
Application: Runtime M
anagement
Framew
ork (Section 5.5)(M
odels@Runtim
e 09)
Application: Runtime M
anagement
Framew
ork (Section 5.5)(M
odels@Runtim
e 09)
Chapter 4ASE07
Chapter 5ICMT09
Chapter 6,7FSE09
![Page 29: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/29.jpg)
Why Dictionaries?
• Models are defined by MOF Standard– contains a lot of concepts – easy for end users– difficult for researchers
• Our contribution– Defining a small dictionary structure– Defining updates on dictionaries– Representing most frequently used concepts in
models
29
![Page 30: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/30.jpg)
Dictionaries
• A dictionary maps keys to values– {“name”->”Book”, “persistent”->true}– {1->{5->”a”, 4->”b”}, 2->{3->”x”, 4->”y”}}
• An update on dictionary is also a dictionary mapping from keys to updates
{1->”a”, 2->”b”, 3->”c”}
,4->”y”“x”
{1->!”x”, 2->!null, 4->!”y”}30
![Page 31: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/31.jpg)
Representing Models
{1->{name->Price,
persistent->false,
__type->Class},
2->{name->currency,
type->String,
parent->1,
__type->Attribute},
}
33
1
2
![Page 32: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/32.jpg)
1
2
3
Representing Updates
• Updates on models are converted to updates on dictionaries
BookPrice
{1->{Name->!BookPrice}}
34
![Page 33: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/33.jpg)
ContributionsRequirement of Model Synchronization (Chapter 2)
Dictionary-based Representation of Models and Updates (Chapter 3)
Unidirectional Transformatio
n
Unidirectional Transformatio
n
Off-Site Synchronizer
Off-Site Synchronizer
Bidirectional Transformatio
n
Bidirectional Transformatio
n
Off-Site Synchronizer
Off-Site Synchronizer
Logic Expression
Logic Expression
On-Site Synchronizer
On-Site Synchronizer
35
Application: Runtime M
anagement
Framew
ork (Section 5.5)(M
odels@Runtim
e 09)
Application: Runtime M
anagement
Framew
ork (Section 5.5)(M
odels@Runtim
e 09)
Chapter 4ASE07
Chapter 5ICMT09
Chapter 6,7FSE09
![Page 34: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/34.jpg)
Off-Site Synchronization
• In practice, what we have is
UML modelUML model Database modelDatabase modelUnidirectional Transformatio
n
Unidirectional Transformatio
n
36
![Page 35: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/35.jpg)
Off-Site Synchronization
• What we need is
UML modelUML model Database modelDatabase model
Off-Site Synchronizer
Off-Site Synchronizer
Updated UML model
Updated UML model
Updated database model
Updated database model
Synchronized UML model
Synchronized UML model
Synchronized database model
Synchronized database model
37
![Page 36: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/36.jpg)
Unidirectional Transformation
Program
Unidirectional Transformation
Program
ATL Transformation Program
ATL Transformation Program
Our Approach
UML modelUML model Database modelDatabase model
Off-Site Synchronizer
Off-Site Synchronizer
Updated UML model
Updated UML model
Updated database model
Updated database model
Synchronized UML model
Synchronized UML model
Synchronized database model
Synchronized database model
38
![Page 37: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/37.jpg)
Evaluation
• Applied to five real world ATL transformations– UML to Database– UML to Java– BibTex to DocBook– Make to Ant– Book to Publication
• Working well in all programs
39
A page on ATL web site listing real world ATL programs
![Page 38: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/38.jpg)
Implementation and Impact
• Our approach has been implemented and has been used by other researchers [YKW+08]
• In addition, our ASE paper has been cited 40 times (2009-11-05, Google Scholar), and is one of the most cited paper in ASE 2007
40SyncATL Website
![Page 39: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/39.jpg)
ContributionsRequirement of Model Synchronization (Chapter 2)
Dictionary-based Representation of Models and Updates (Chapter 3)
Unidirectional Transformatio
n
Unidirectional Transformatio
n
Off-Site Synchronizer
Off-Site Synchronizer
Bidirectional Transformatio
n
Bidirectional Transformatio
n
Off-Site Synchronizer
Off-Site Synchronizer
Logic Expression
Logic Expression
On-Site Synchronizer
On-Site Synchronizer
41
Application: Runtime M
anagement
Framew
ork (Section 5.5)(M
odels@Runtim
e 09)
Application: Runtime M
anagement
Framew
ork (Section 5.5)(M
odels@Runtim
e 09)
Chapter 4ASE07
Chapter 5ICMT09
Chapter 6,7FSE09
![Page 40: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/40.jpg)
Motivation• In some cases, we already have a a bidirectional
transformation
• but the two models may be updated at the same time
Updated UML model
Updated UML model Database modelDatabase model
Updated database model
Updated database model
Forward Transformatio
n
Forward Transformatio
n
UML modelUML model Updated database model
Updated database model
Updated UML model
Updated UML model
Backward Transformatio
n
Backward Transformatio
n
42
![Page 41: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/41.jpg)
Our Approach
• Derive a synchronizer from a pair of change-propagating transformations
Forward Transformatio
n
Forward Transformatio
n
Backward Transformatio
n
Backward Transformatio
n
Off-Site Synchronizer
Off-Site Synchronizer
43
![Page 42: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/42.jpg)
Properties of Bidirectional Transformation [Ste07]
• Do the two transformations fit together?– Correctness– Hippocraticness
44
![Page 43: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/43.jpg)
Relation between Properties
• Bidirectional transformation properties lead to synchronization properties
Forward Transformatio
n
Forward Transformatio
n
Backward Transformatio
n
Backward Transformatio
n
Forward Transformatio
n
Forward Transformatio
nBackward
Transformation
Backward Transformatio
n
Synchronizer
CorrectnessCorrectness
HippocraticnessHippocraticness
ConsistencyConsistency
StabilityStability
PreservationPreservation45
![Page 44: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/44.jpg)
ContributionsRequirement of Model Synchronization (Chapter 2)
Dictionary-based Representation of Models and Updates (Chapter 3)
Unidirectional Transformatio
n
Unidirectional Transformatio
n
Off-Site Synchronizer
Off-Site Synchronizer
Bidirectional Transformatio
n
Bidirectional Transformatio
n
Off-Site Synchronizer
Off-Site Synchronizer
Logic Expression
Logic Expression
On-Site Synchronizer
On-Site Synchronizer
46
Application: Runtime M
anagement
Framew
ork (Section 5.5)(M
odels@Runtim
e 09)
Application: Runtime M
anagement
Framew
ork (Section 5.5)(M
odels@Runtim
e 09)
Chapter 4ASE07
Chapter 5ICMT09
Chapter 6,7FSE09
![Page 45: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/45.jpg)
Object Constraint Language (OCL) • OCL is a first-order logic
language used to define and check relations over models
attribute.type=“String”or attribute.type=“Float” orallClasses->exists(class | class.name = attribute.type)
• OCL is also used by adhoc synchronizer developers for dynamically assert the correctness of synchronizers
47
UML Modeling Tool
EqualEqual
![Page 46: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/46.jpg)
Idea: Derive a Synchronizer from an OCL Expression
SynchronizerSynchronizer
OCL ExpressionOCL Expression
48
![Page 47: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/47.jpg)
Problem: Synchronization Behavior Ambiguity
49
UML Modeling Tool UML Modeling Tool
BookPrice
BookPrice
BookPrice
![Page 48: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/48.jpg)
Our Approach
• Beanbag– similar to OCL syntactically – has enriched constructs for confining synchronization
behavior
• Every Beanbag Program has two types of semantics– Checking semantics for checking whether the relation
is satisfied– Synchronization semantics for synchronize updates
50
![Page 49: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/49.jpg)
Beanbag Overview
On-Site SynchronizerOn-Site Synchronizer
Beanbag ProgramBeanbag Program
UpdatesUpdates UpdatesUpdates
51
![Page 50: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/50.jpg)
DEMO
52
![Page 51: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/51.jpg)
Overview: Constructs in Beanbag
expr ::= variable
| constant
| expr.expr
| not expr
| expr=expr
| expr and expr
| expr or expr
| expr->forall(v|expr)
| expr->exists(v|expr)
| expr->exists!(v|expr)
53
![Page 52: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/52.jpg)
Overview: Enriched Constructs for Specifying Synchronization Behavior
OCL Constructs Enriched Constructsexpr1=expr2 expr1=expr2
expr2=expr1expr1 and expr2 expr1 and expr2
expr2 and expr1expr1 or expr2 expr1 or expr2
expr2 or expr1expr->exists(v | expr) expr->exists(v | expr)
expr->exists!(v | expr)
54
![Page 53: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/53.jpg)
Specifying Synchronization Behavior
def rel(attribute, allClasses) = attribute.type=“String” or attribute.type=“Float” or allClasses->exists(class | class.name = attribute.type)
55
UML Modeling Tool
BookPrice
![Page 54: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/54.jpg)
Specifying Synchronization Behavior
def rel(attribute, allClasses) = attribute.type=“String” or attribute. type=“Float” or allClasses->exists!(class | class.name = attribute. type)
56
UML Modeling Tool
BookPrice
BookPrice
![Page 55: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/55.jpg)
How we compile a Beanbag program
• Consider an example:– Relation: a=b and b=c
Basic relations (like a=b) Primitive synchronizers
Connectives(like and, or, forall)
gluing their inner synchronizers into a bigger synchronizer
57
a=ba=b b=cb=cand
![Page 56: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/56.jpg)
Primitive Synchronizer: a=b
58
a=2
b=2
3
3
a=2
b=2
3
3
a=2
b=2
3
3
a=2
b=2
3
4
report conflict
a=ba=b
![Page 57: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/57.jpg)
Combinator
a=ba=b b=cb=cand
a=3b=3c=3
111
59
![Page 58: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/58.jpg)
Evaluation
• Steps– collected 84 consistency relations from MOF
standard, UML standard, and industry [Egyed07]– identified requirements for 24 synchronizer– implementing these programs in Beanbag
• Result– implemented 17 programs, 71% of all programs– The rest 7 programs can be implemented with
minor extensions to Beanbag
60
![Page 59: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/59.jpg)
Implementation
• Beanbag has been implemented and published on the web
• An old version has been used by several researchers [RKK+09]
61
A graphic UML synchronization tool that is developed by University of
Malaga using Beanbag
![Page 60: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/60.jpg)
ContributionsRequirement of Model Synchronization (Chapter 2)
Dictionary-based Representation of Models and Updates (Chapter 3)
Unidirectional Transformatio
n
Unidirectional Transformatio
n
Off-Site Synchronizer
Off-Site Synchronizer
Bidirectional Transformatio
n
Bidirectional Transformatio
n
Off-Site Synchronizer
Off-Site Synchronizer
Logic Expression
Logic Expression
On-Site Synchronizer
On-Site Synchronizer
62
Application: Runtime M
anagement
Framew
ork (Section 5.5)(M
odels@Runtim
e 09)
Application: Runtime M
anagement
Framew
ork (Section 5.5)(M
odels@Runtim
e 09)
Chapter 4ASE07
Chapter 5ICMT09
Chapter 6,7FSE09
![Page 61: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/61.jpg)
Application: Runtime Management Framework
Server10
Clientcalcu
1
Clientphone1
2
Clienttablet
5
synchronize
read
write
Bluetooth Wi-Fi Ethernet
a running system
A management interface
![Page 62: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/62.jpg)
Architecture of the Runtime Management Framework
64
Runtime Management UIRuntime Management UI
Running SystemRunning System
SynchronizerSynchronizerQVT programQVT program generategenerate
![Page 63: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/63.jpg)
Summary• Formalization of model synchronization– Requirement of model synchronization– Dictionary-based representation of models and
updates• Support for off-site synchronization– from unidirectional transformation (ASE07)– from bidirectional transformation (ICMT09)
• Support for on-site synchronization– A first-order logic language (FSE09a, submitted)
• Application (FSE09b, submitted)
65
![Page 64: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/64.jpg)
Future Work - Horizontal
66
![Page 65: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/65.jpg)
Future Work - Vertical
67
![Page 66: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/66.jpg)
68
![Page 67: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/67.jpg)
Reference• [ELF08] Alexander Egyed, Emmanuel Letier, and
Anthony Finkelstein. Generating and evaluating choices for fixing inconsistencies in UML design models. ASE08.
• [NEF03] Christian Nentwich, Wolfgang Emmerich, and Anthony Finkelstein. Consistency management with repair actions. ICSE03.
• [FGH+94] A. C. W. Finkelstein, D. Gabbay, A. Hunter, J. Kramer, and B. Nuseibeh. Inconsistency handling in multiperspective specifications. TSE94.
• [GHM98] John Grundy, John Hosking, and Warwick B. Mugridge. Inconsistency management for multiple-view software development environments. TSE98.
69
![Page 68: A Linguistic Approach to Model Synchronization Yingfei Xiong Ph.D., University of Tokyo Advisors: Zhenjiang Hu and Masato Takeichi 1.](https://reader036.fdocuments.in/reader036/viewer/2022062806/5697bf991a28abf838c91b9c/html5/thumbnails/68.jpg)
Reference• [Ste07] Perdita Stevens. Bidirectional model
transformations in QVT: Semantic issues and open questions. MoDELS07.
• [SK08b] Andy Schurr and Felix Klar. 15 years of triple graph grammars. ICGT08.
• [RKK+09] Daniel Ruiz-Gonzalez, Nora Koch, Christian Kroiss, Jose-Raul Romero, Antonio Vallecillo. Viewpoint Synchronization of UWE Models. (submitted for publication).
• [YKW+08] Yijun Yu, Haruhiko Kaiya, Hironori Washizaki, Yingfei Xiong, Zhenjiang Hu and Nobukazu Yoshioka. Enforcing a security pattern in stakeholder goal models. QoP08.
70