mda start up

Post on 26-Jun-2015

283 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

MDA Start Up

MDA presentation

Lai Duy Ha

Østfold University College

July 15, 2011

Outline

My motivation

Traditional Software Development problems

Overview of MDA

Inside MDA framework

Apply MDA in practice

Next steps

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.

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

Motivation

My approach:

Using configuration data.

Validation.

Layout data.

Using template file & complier to generate code.

Motivation

Challenge

The change of configuration data’s structure over time

Need to re-construct the structure of configuration data

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

Outline

My motivation

Traditional Software Development problems

Overview of MDA

Inside MDA framework

Apply MDA in practice

Next steps

Traditional Software Development problems

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

Productivity

Maintenance

Document

Portability

Outline

My motivation

Traditional Software Development problems

Overview of MDA

Inside MDA framework

Apply MDA in practice

Next steps

Overview of MDA

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

MDA development process

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

Models are the core at MDA

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.

MDA transformation steps

Outline

My motivation

Traditional Software Development problems

Overview of MDA

Inside MDA framework

Apply MDA in practice

Next steps

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.

MDA framework

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.

MDA framework

Participants, tools, and artifacts in the MDA process

Outline

My motivation

Traditional Software Development problems

Overview of MDA

Inside MDA framework

Apply MDA in practice

Next steps

Apply MDA in practice

Pros and cons to apply MDA in practice

Apply MDA in practice

The impact of MDE activities on productivity and maintainability

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.”

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.”

Apply MDA in practice

Conclusion productivity gains associated with MDE.

the issue of abstraction

the importance of training and education.

Outline

My motivation

Traditional Software Development problems

Overview of MDA

Inside MDA framework

Apply MDA in practice

Next steps

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.

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.

top related