Une syntaxe concrète pour ASL

mercredi, octobre 22nd, 2008

image Pas trop tôt ! L’OMG a enfin proposé un RFP pour une syntaxe concrète pour ASL (Action Semantics Language). Dit comme ça ça ne fait pas trop rêver :-) Pourtant c’est depuis longtemps un de mes dadas et un sujet dont je parle régulièrement dans mes présentations/séminaires MD.

La norme UML2 définit une syntaxe abstraite (un méta-modèle) pour décrire les actions sur un modèle statique : ASL. C’est ce méta-modèle qui est derrière une bonne partie des diagrammes dynamiques d’UML.

Autrement dit, aujourd’hui, pour décrire un comportement en UML (le contenu d’une méthode par exemple) on dispose des diagrammes dynamiques (activités, séquence, vue d’ensemble des interactions) mais pas d’un langage de programmation (une syntaxe concrète). Même si aucune norme n’existe, certains outils (peu finalement) incluent leur version propriétaire d’un tel langage :

Pourquoi suis-je si intéressé par le sujet ? A mon avis l’absence d’un tel langage dans les modeleurs actuels est un des freins majeurs à l’adoption de démarches MD.

Je m’explique : un modèle source d’une approche MD (le PIM en MDA), pour permettre de générer un pourcentage raisonnable du code (>50% sinon on est pas vraiment centré sur le modèle), doit inclure l’aspect comportemental (les règles de gestion du domaine par exemple).

En théorie il y a tout ce qu’il faut dans UML pour modéliser un algorithme avec les diagrammes dynamiques.

Dans la réalité celui qui a déjà essayé sait que l’approche n’est pas pertinente ! Si on veut pouvoir produire le code cible à partir de ces diagrammes ils doivent être équivalents à du code, c’est-à-dire être complets et extrêmement rigoureux.

Or les diagrammes dynamiques d’UML n’ont pas été faits pour être compilés : ils sont très difficile à maintenir et surtout, leur syntaxe, telle qu’implémentée dans les modeleurs, est toujours incomplète et la plupart du temps beaucoup trop laxiste.

Une syntaxe concrète (i.e. un langage de programmation) associée à ASL suffirait donc pour non plus modéliser, mais programmer en UML !

Avantage supplémentaire de l’approche : on peut simuler, et donc tester, ces méthodes avant même de disposer des transformateurs vers la plate-forme cible.

On espère que (pour une fois à l’OMG !) cette RFP donnera lieu rapidement à un standard dont les éditeurs s’empareront.

Epoux et amants (2)

dimanche, janvier 6th, 2008

Ce post fait suite au premier du même nom qui s’intéressait à l’implémentation de relation UML en java. On avait vu qu’une simple association 1-1 donnait déjà lieu à du code non trivial.

Un problème amusant (!) du même genre est la transformation en java, d’une relation multivaluée. L’objectif est, toujours, de conserver en implémentation le maximum d’informations contenues dans le modèle.

Pour planter le décor concernant nos époux (qui sont tous les deux des personnes :-) ), je vous propose d’étendre le domaine de notre application au delà de leur vie amoureuse. Considérons par exemple leur lieu d’habitation et leurs changements d’adresse successifs. Notre modèle de domaine ressemblera à ça :

Adresses

(suite…)

DSL

jeudi, décembre 27th, 2007

buzzQu’est-ce qu’ un DSL (Domain Specific Language ou Langage Dédié pour les intimes) ? Le dernier buzz word à la mode dans la communauté MD ! Si des gens aussi estimables que Martin Fowler prennent la peine d’écrire un livre sur le sujet, ça doit être un peu plus que ça.

J’ai glané quelques définitions sur le web (les traductions sont personnelles) :

(suite…)

Epoux et amants

mercredi, décembre 19th, 2007

J’ai beaucoup apprécié la réflexion de Xavier Blanc au MDDay expliquant que quand il demandait à ses étudiants de lui implémenter ça en java :

Epoux
On lui écrivait ça :

public class H {
  public F f;
}
public class F {
  public H h;
}

Ce qui s’apparente plutôt à l’implémentation de ça :

Amants

(suite…)

A propos

vendredi, octobre 13th, 2006

Grégory Weinbach

Ce blog présente mes commentaires au quotidien sur le monde du développement, de l’ingénierie de développement par les modèles et tous les buzz words associés (MDA, MDE, MDD, voire DSL, DSM, DDD :-). On y parle aussi bien d’outils ou de méthodo que de mes réflexions et/ou problèmes quotidiens rencontrés lors de leur mise en oeuvre. J’essaie aussi d’annoncer les événements (conférences, séminaires, congrès), voire de les commenter quand j’ai la chance d’y participer.

J’ai 24 ans d’expérience du développement informatique et j’ai découvert les technologies objet en même temps que la modélisation (OMT à l’époque) il y a 20 ans. J’ai participé à de nombreux projets s’appuyant sur des techniques de génération de code. J’ai aussi collaboré au développement d’outils de génie logiciel et d’offres MD et j’ai animé le pôle consulting d’Objet Direct.

Aujourd’hui, je conseille mes clients pour la mise en oeuvre de leurs architectures fonctionnelles et logicielles au sein d’EZOKY, cabinet de conseil en architecture.

Grégory Weinbach
greg@mdblog.fr


View Grégory Weinbach's profile on LinkedIn

 

Add to Technorati Favorites

 

buy sale viagra
buy viagra online price
buy discount levitra
buy sale viagra
viagra 100 mg
buy cheap cialis
buy viagra
cheapest levitra
buy viagra online
buy viagra usa
buy viagra online
buy now viagra
buy price viagra
buy now levitra
buy discount viagra
cheap viagra online
buy viagra fedex
buy viagra overnight
buy viagra las vegas
generic viagra
cheap price viagra
Pfizer viagra free samples
generic cialis
cialis black reviews
buy cheap cialis
free madonna ringtones
cheapest cialis
buy now viagra online