© 2010 hcmuns. nii-internship program proposal: evolution of modeling languages and models...
Post on 28-Dec-2015
212 Views
Preview:
TRANSCRIPT
© 2010 HCMUNS.
NII-Internship program proposal:Evolution of modeling languages and
models
Submitted by: BUI TAN LOCNII Supervisor: Professor ZHENJIANG HUFIT Supervisor : Dr. TRAN HANH NHI
© 2010 HCMUNS. 2/16
Content
1.MDE2.Models Evolution and Synchronization3.Research on Model Evolution and Synchronization
at NII4.Motivation5.Internship Objective6.Research plan
© 2010 HCMUNS.
1. MDE – Model-Driven Engineering
3
We don't want anymore to pay such a high price for simply moving our information system to a new middleware platform (COM, CORBA, Java, HTML, XML, DotNet, etc.) when our business system stays stable.We are prepared to pay a last price for building the abstract models of our business and services that will guarantee us against technological obsolescence.From there, any platform provider will also have to provide the mapping solutions from standard business models before we buy.
The origins o
f MDE
PIM: Platform Independent Model
PSM: Platform Specific ModelPSM: Platform Specific Model
PSM: Platform Specific ModelPSM: Platform Specific Model
Platforms: Web Services, ebXML, J2EE/EJB, CORBA, MS .Net, …
© 2010 HCMUNS. 4/16
Software development considered as a chain of model transformations
PIM PSM Codemodel
1 3 6
52
4 7
Analysis Design Code
M1 M2 M3 M4 M5
© 2010 HCMUNS. 5/16
An example of transformation
Java!Fieldname = “_title”type = “String”
Java!Fieldname = “_price”type = “Double”
Java!Classname = “Book”comment = “”
UML!Classname = “Book”
description = “a demo class”
UML!Attributename = “title”type = “String”
UML!Attributename = “price”type = “Double”
• Models need to be evolved [1].
• One of Models Evolution topics is transformation technique for evolving models including restructuring, refactoring, migration and translation.
© 2010 HCMUNS. 6/16
2. Models Evolution and Synchronization problem
Java!Fieldname = “_price”type = “Double”
UML!Classname = “Book”
description = “a demo class”
UML!Attributename = “title”type = “String”
UML!Attributename = “price”type = “Double”
Java!Fieldname = “_title”type = “String”
Java!Classname = “Book”
comment = “_bookTitle cannot be null”
_bookTitle
UML!Attributename = “authors”
type = “String”
Simply performing the UML2Java transformation again is not adequate because the modifications on the Java model will be lost
© 2010 HCMUNS. 7/16
Existing Approaches
• General Framework:• Model Synchronization Through Traceability [2]
• Basic Incremental Transformation [3]
• Correspondence Construction [4]Rely on users to write code to handle each type of
modifications in each sideIt is users who should ensure the consistency of the code
• Specific Languages:• Synchronization tools: Rational RoseFeature model to code synchronization
© 2010 HCMUNS. 8/16
Restrictions
1.No clear semantics for model synchronization in the context where a model transformation is formally given.
2.Cannot work well here, because they require users to explicitly write synchronization code to deal with each type of modification on each type of model.
3.The methods should be able to deal with general model transformations described in general transformation languages.
© 2010 HCMUNS. 9/16
3. Research on Model Evolution and Synchronization at NII
• Professor Zhenjiang Hu’s team proposes a type of synchronization called state-based synchronization.
• The first result of his team was a model synchronization tool called SyncATL [5].
• Professor Hu proposed a topic on “Developing a tool for supporting synchronization of PIM and PSM models” for the 2011 NII internship program
© 2010 HCMUNS. 10/16
Their contributions
• A clear semantics of model synchronization• Four properties
•Stability
•Preservation
•Propagation
•Composibility
• An automatic model synchronization approach• Using the existing unidirectional ATL byte code program• Requiring no extra code• Satisfying the four properties
• A prototype tool for synchronizing EMF models
© 2010 HCMUNS. 11/16
Their evaluations
Name Source ATL Code Lines Bytecode Lines
UML2Java The running example in the paper
22 501
Make2Ant Examples obtained from the ATLweb site
89 1180
Class2 Relational
127 1576
Book2 Publication
51 566
BibTeXML2 DocBook
262 3198
© 2010 HCMUNS. 12/16
Their restrictions
• Can not deal with all types of insertions in the target side.
• The current implementation of SyncATL is mainly served as a demonstration and an evaluation of the approach we proposed in their paper [5], and is not stable enough for serious use.
© 2010 HCMUNS. 13/16
4. Motivation
• An example of models in my master thesis - “Building a user interface system on mobile devices in the direction of model-based”
Task model
AUI model
Models need to be evolved
=> Models Evolution and Synchronization problem
© 2010 HCMUNS. 14/16
4. Motivation (cont.)
My works Their works
Approach MDD & MBUID MDD
Modeling Language Ecore Ecore
Model 2 model Language ATL ATL, QVT
IDE Eclipse Eclipse
Synchronization problem not be implemented be implemented
Apply SynATL for my master
thesis
© 2010 HCMUNS. 15/16
5. Internship Objective
• An internship on the model evolution topic proposed by Professor Hu will be very useful for me.
• Via a stay at NII, I hope to obtain a solid background on the subject of model evolution, explore the possibility to apply the models synchronization solution of Professor Hu’s team to improve my master solution for MDE user interface for mobile devices.
• I hope to the acquired knowledge will be deep enough to allow me to identify a research plan for my future Ph.D work
© 2010 HCMUNS. 16/16
6. Research plan
• 1st month: study the models evolution and synchronization problem.
• 2nd month: study the state-based synchronization approach used by the professor Hu’s team and experiment the SyncATL tool. Then, I’ll evaluate the applicability of SyncATL tool propose additional extensions.
• 3rd to 5th month: propose a paradigm and implement the extension of SyncATL.
• 6th month: validate the implementation and write report.
© 2010 HCMUNS.
Q&A
Thanks
17/16
top related