Friday, April 20, 2007

MDE / MDA / MDSD / etc.

OMG has defined the MDA term.

But now, what a jungle !
Let's see some very simple definitions.

MDE
- Model Driven Engineering
- definition : all the process of creating softwares with a model driven approach.
- examples : it includes some metamodel based analysis, how to manage teams with MDA,
which steps are required to create a real model based software factory, ...

MDA
- Model Driven Architecture
- definition : the technical choice of tool and metamodel for all the creation of a new software
- examples : transformation models engines, separation and links between PIM/CIM/and others

MDSD
- Model Driven Software Development (also call MDD : Model Driven Development)
- definition : metamodel based tools and process for development step
- examples : source code generation (like Acceleo), PSM model based editor

DSM
- Domain Specific Modeling (and DSL : Domain Specific Language)
- definition : metamodel based modelers to design specific and semantical models
- examples : GMF based modelers, Workflow modelers, Wysiwig model based modelers

ADM
- Architecture Driven Modernization
- definition : modernize existing software with a metamodel approach
- examples : reverse engineering systems, recasting engine (like Agility)

Of course, let's do a metamodel of theses model driven definitions :

Work on Acceleo 2

Acceleo (http://www.acceleo.org) is a very impressive code generator.
I work on it since 2005 (v0.0.1 !!).

Acceleo v1.0 was born in 2006/04/01, with many features and a very good EMF and Eclipse integration.

Acceleo v2.0 will be the major evolution of Acceleo with 2 main features :
- modules generator can be deployed as real plugins
- open source modules farm


Acceleo v2.0 should be release on may 2007.

Blog new born

After an unsuccess try of creating my blog, I think this time will be the good one.
As you see, I decide to speak english.... Or try to speak english !

I will speak about :
- MDA
- IT Architecture
- Acceleo
- DSM