mda start up

28
MDA Start Up MDA presentation Lai Duy Ha Østfold University College July 15, 2011

Upload: lai-ha

Post on 26-Jun-2015

283 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Mda start up

MDA Start Up

MDA presentation

Lai Duy Ha

Østfold University College

July 15, 2011

Page 2: Mda start up

Outline

My motivation

Traditional Software Development problems

Overview of MDA

Inside MDA framework

Apply MDA in practice

Next steps

Page 3: Mda start up

Motivation

Boring code cause by:

Follow templates or coding style guide.

The consistent of the system.

The benefit of maintaining.

Disadvantage

Reduce inspiration of developers.

Silly copy/paste code.

Page 4: Mda start up

Motivation

Example of one normal module:

Insert, update, delete record in one table.

Each field has its own validation.

Field’s presentation (type of control, row, column,….)

etc…

One system may contains more than 20+ modules like this

Page 5: Mda start up

Motivation

My approach:

Using configuration data.

Validation.

Layout data.

Using template file & complier to generate code.

Page 6: Mda start up

Motivation

Challenge

The change of configuration data’s structure over time

Need to re-construct the structure of configuration data

Page 7: Mda start up

Motivation

Should have the system approach to define the structure of configuration data as flexible as possible.

Should analyze the problems at higher level.

MDA

Page 8: Mda start up

Outline

My motivation

Traditional Software Development problems

Overview of MDA

Inside MDA framework

Apply MDA in practice

Next steps

Page 9: Mda start up

Traditional Software Development problems

Most of the artifacts during the first three phases is just paper and nothing more.

Productivity

Maintenance

Document

Portability

Page 10: Mda start up

Outline

My motivation

Traditional Software Development problems

Overview of MDA

Inside MDA framework

Apply MDA in practice

Next steps

Page 11: Mda start up

Overview of MDA

Model driven architecture: was launched by the OMG in 2001.

Page 12: Mda start up

MDA development process

The artifacts are formal models(which can be understood by computers)

Models are the core at MDA

Page 13: Mda start up

MDA Models

Platform Independent Model (PIM)

a high level abstraction.

independent of any implementation technology.

Platform Specific Model (PSM)

tailored to specify system in terms of the implementation.

Page 14: Mda start up

MDA transformation steps

Page 15: Mda start up

Outline

My motivation

Traditional Software Development problems

Overview of MDA

Inside MDA framework

Apply MDA in practice

Next steps

Page 16: Mda start up

MDA framework

What is a model ???

A model is always an abstraction of something that exists in reality.

A model is different from the thing it models, e.g., details are left out or its size is different.

A model can be used as an example to produce something that exists in reality.

A model is a description of (part of) a system

written in a well-defined language.

Page 17: Mda start up

MDA framework

Page 18: Mda start up

MDA framework

Building blocks: A model is a description of a system.

PIM

PSM

Well-defined language is used to write models.

A transformation definition describes how a model in a source language can be transformed into a model in a target language. This also should be written by well-defined language.

A transformation tool performs a transformation for a specific source model according to a

transformation definition.

Page 19: Mda start up

MDA framework

Participants, tools, and artifacts in the MDA process

Page 20: Mda start up

Outline

My motivation

Traditional Software Development problems

Overview of MDA

Inside MDA framework

Apply MDA in practice

Next steps

Page 21: Mda start up

Apply MDA in practice

Pros and cons to apply MDA in practice

Page 22: Mda start up

Apply MDA in practice

The impact of MDE activities on productivity and maintainability

Page 23: Mda start up

Apply MDA in practice

“...when you build an enterprise system, do you program all the low-level database stuff...the B+ trees... or do you define a data model and feed it into a database management system...are you constantly writing raw HTML or Java code or are you using tools that allow you to paint a dialog box and generate some code... for the front and back ends of our systems, we long ago abandoned low-level coding as a dominant abstraction of development...”

“So the idea of applying a sort of methodology approach to modeling and code generation was really attractive –it seemed like it was an obvious next step to take in insuring quality and consistency and again not solving the same kinds of problems over and over again.”

Page 24: Mda start up

Apply MDA in practice

“So the question is, is somebody naturally inclined to think in terms of design or do they think more in terms of detail? ...I don’t think that the education that people get necessarily gets them thinking towards design”

“There are people who you can’t teach this to because they think always in examples.”

Page 25: Mda start up

Apply MDA in practice

Conclusion productivity gains associated with MDE.

the issue of abstraction

the importance of training and education.

Page 26: Mda start up

Outline

My motivation

Traditional Software Development problems

Overview of MDA

Inside MDA framework

Apply MDA in practice

Next steps

Page 27: Mda start up

Next steps

Name the project.

Divide group:

Define the requirements of our MDA framework.

Choose a pilot project & model it.

Analyze existing MDA frameworks.

Research more about MDA, make the presentation.

Next presentation

More on Transformations.

Metamodeling.

Defining Your Own Transformations.

The MDA Promise.

Page 28: Mda start up

Reference

Kleppe, A. G., J. Warmer, et al. 2003 MDA Explained: TheModel Driven Architecture: Practice and Promise, Addison-Wesley Longman Publishing Co., Inc.

John Hutchinson, Jon Whittle, Mark Rouncefield and Steinar Kristoffersen 2011 Empirical Assessment of MDE in Industry, ACM.