ApprocheMDA

Un article de Bluexml.com.

Home Official WebSite Download Forum


Sommaire

Introduction

BlueXML can really to create an adaptable and adapted ERP for your activities and your structure. This presentation define how BlueXML use the MDA approach to get an ERP totally generated for a company with the MDA approach. We will define what is the formalisme used and the differents diagrams. We will see the coherency between models and ERP obtained. We will see too which tools used to create models.

MDA Approach

First, we will defined what is the MDA (Model Driven Architecture). From models based on functionnal domain, we generate an ERP wich is the mirror of this models. This approach permit to adapt it at all context and get a customized application for each company without additional development. We have outdated the time where the developers created application from A to Z but the goal is to generate this application simply and to maintain it in the same manner.

The MDA approach is organized with this manner : we write models wich is a representation of the activites of a company ; we integrate this models in the generator BlueXML and we get an ERP wich is a mirror of the models. The models will be reused to generate other tools, per example to change the used technology. To summarize, the MDA approach, it's to have the possibility to generate an application from models.

Used formalism

We define now what is the formalism used to write models. We have a formalism near the UML formalism.

UML formalism

To summarize, UML (Unified Modeling Language) is a general graphical modelisation language in the computer domain. It's very absolute and contains 13 diagram's type for UML1. This is a formalism quite big and lightly difficult to learn and to come to grips with optimal. UML is a formalisme very reach and not proprietor govern by the OMG (Object Management Group).

Here is the arborescence of all diagrams provided by the formalism UML1. We can see that the functional coverage is huge but many diagrams are useless in the case of a generation of ERP. Likewise, some concept are absent and don't permit to represent suitably a configuration for the wanted ERP.

Lnk : http://www.uml.org/

BlueXML formalism

To get a suitable model, BlueXML has defined an own formalism wich contains some concept UML in order to don't re-invent concept already existing. Likewise, we have added some concepts like that meta-informations or additional informations permitting per example to configure the visualization of forms.

Here is the formalism defined by BlueXML, it is very simple because it contains only approximately twenty elements. To compare, the UML formalism contains many hundred of elements. This simplified formalism permit a speed learning to accelerate the modelisation and to concentrate the work on the functional domain.

Differents types of diagram

  • Use case
    • Global definition of the portal
    • Organization of differents portlets
    • Creation of differents parts of users
    • Definition of access rule
  • Class diagram
    • Definition of data
    • Definition of graphical representation
    • Definition of specifical sonstraints

Only 2 types of diagrams are present in the BlueXML formalism. The first is the use cas wich permit to define globally the portal, the organization of differents portlets, the differents users (CFO, accountant...) and the access rule (a CFO will be the access of the same features that the accountant).

The second fiagram is the class diagram wich permit to define the concept used in the functional domain and the specifical constraints like that visualization constraints.

Like here how is placed the BlueXML formalism in comparison with the UML formalism, we have selected only essential diagrams to get simple configuration models and centered on the functional domain.

Use case

Formalism

Which are elements present in use case ?

  • Actor (or Profile) : represents a type of users,
  • Use case : represents a level in the protal's arborescence.

The first elemet is the actor represented by a man, permitting to represent a role in the company (accountant, CFO...). The second element is the use case represented by a bubble, permitting to represent a big functionnality of the company. We define simply by a link the access rule between an actor and a use case.

Generation

We can see on this diagram a role "anonymous" who can access to 7 big functional domain represented by a banner.

A functional domain can have functional subdomain to organize functionnalities in the ERP.

We must define after the portlets (piece of the portal) permitting to contain informations. This element can have differents representation and we can organize its like we want.

Class diagram

Which are elements present in class diaram ?

  • Class : element comparable to an object of a domain. A class contains a set of attributes and a set of methods.
    • Financial domain : a budget, a dashboard
    • Real estate domain : purchase, selling, location
    • ...
  • Attribute : object's caracteristique (color, size, format)
  • Method : action runnable on an object. (per example : generate a report or a note)

On this example, we have a HTML document (the class Html) containing 2 caracteristics wich is the order and the summary. The class Html inherits from the class EmbeddedContent containing 1 caracteristique which is the content. Like a classical inherit, the class Html inherits of the caracteristique content. With the same manner, the class Html inherits of the class Content so a HTML document contains a title. A HTML document is linked with 3 nomeclature (because the inherit) : language, country and status (validate or no). A nomenclature is an enumeration. The nomenclature language permits to have a multilingue portal. A HTML document contains categories to organize HTML document.

After the generation, we get a form in we will insert data. All model's caracteristique are represented in the form. Of course, we can change the model and the application with the same manner.

Personalization of the portal

We can see that some fields are represented with differents manners. It's thanks to our formalism and meta-informations or additional informations that we have added on models.

This additional informations permit us to specify if it's a text area with or without formatting possibility, the size of the field, if it's needed or hidden...

With wich tools create models ?

It is possible to create models with classical UML editors open source (ArgoUML, Umbrello...) or prorpietor (Rational Rose, MagicDraw...) or with the specifical editor provided by the project BlueXML.

BlueXML Developer Studio

BlueXML have created a specifical editor to configure easyly the portal. It's a plugin based on Eclipse, so it's portable on the majority of operating system. It's an editor totally adapted to the creation and the configuration of an ERP attended to a set of features to simplify the models management. It use our formalism so it permit a configuration simplified. It's developped in accord and in adequacy with the project BlueXML.

Additional tools :

  • Java generator
  • Documentation HTML generatior
  • Exportation automatic of diagrams
  • Tool of search in the models
  • Tool of search in the diagrams

State-of-the-art technology

We use for this editor the state-of-the-art technologies :

Eclipse Eclipse is an open source community whose projects are focused on building an open development platform comprised of extensible frameworks, tools and runtimes for building, deploying and managing software across the lifecycle.

http://www.eclipse.org/

Topcased TOPCASED is an integrated System/Software engineering toolkit compliant with the requirements of critical and embedded applications. Developed by AIRBUS.

http://www.topcased.org/
http://topcased-mm.gforge.enseeiht.fr/website/index.html

ATL ATL (ATLAS Transformation Language) is a model transformation language and toolkit developed by the ATLAS Group (INRIA & LINA). In the field of Model-Driven Engineering (MDE), ATL provides ways to produce a set of target models from a set of source models.

http://www.eclipse.org/m2m/atl/
http://www.sciences.univ-nantes.fr/lina/atl/

Acceleo Technology to generate text which permit us to generate Java

http://www.acceleo.org/pages/accueil/fr

An open solution

BlueXML Developer Studio is not a closed solution. With the ATL technology, we can realize importation from UML1 and exportations to UML1 and UML2. This permit us to change editors if we want and to re-use our models in other context.