MDA and Acceleo

General presentation


Acceleo has been designed to improve software development productivity. Its approach deals with many concepts grouped together under the name MDA (Model Driven Architecture).

mda logo

MDA is currently being standardized by the international organization OMG, which already counts some great successes : UML, Corba, MOF...

MDA is a set of standards, methodologies and ideas but we currently lack effective and operational tools. Acceleo is an innovating software, resulting from the best practices and experience feedbacks from the use of MDA in the industry. It also takes into account the last projections from research around the MDA.

Needs without solutions?

needs

MDA brings significant advances in controlling software development and allows in particular :

  • productivity profits
  • increased reliability
  • significant improvement of durability
  • better ability to face changes

What is MDA?

The MDA approach is strongly focused around models. Its goal is to switch from mainly documentary models to productive models.

In order to tally the concepts, the OMG has defined a number of terms around the models :

  • meta-model: model of a model. It describes the semantics of a model
  • meta-meta-model: repository of models
  • CIM: business model
  • PIM: functional model, independent from the technique
  • PSM: technical model

The MDA approach also defines operations for model handling with the aim of producing software applications. Some of these operations are model transformation, reverse-engineering and reverse-modeling, model checking...

These principles being defined, what about efficient tools? Acceleo is a first step in providing these tools, allowing a pragmatic and operational implementation of this software lifecycle refactoring.

Implementing MDA with Acceleo

Moving to model-centered approach can seem complex or risky. Acceleo is an easy and pragmatic product for massive code generation. This implementation is made through a "bottom-up" method, described below :

  • prototyping
  • validation against software quality criteria, load testing, live environment conditions
  • conversion into a generator
  • application of the generator to the software models

Consequently, Acceleo is entirely adaptable and customizable. In opposition with much more rigid solutions, generators built with Acceleo are based on MDA standards and are designed with a "white box" approach.

In short, Acceleo can deal with any kind of model, but it is particularly efficient for translating high level design models into complex architectural implementation.