Archive for the ‘Norme’ Category

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.

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