© 2010 hcmuns. nii-internship program proposal: evolution of modeling languages and models...

Post on 28-Dec-2015

212 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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