Hiérarchisation des actions d'un diagramme d'activité
Modélisation en UML/OCL des langages de programmation : vers un processus IDM incrémental
H3880 v2 Article de référence

Hiérarchisation des actions d'un diagramme d'activité
Modélisation en UML/OCL des langages de programmation : vers un processus IDM incrémental

Auteur(s) : Pierre BAZEX, Agusti CANALS

Date de publication : 10 août 2011 | Read in English

Logo Techniques de l'Ingenieur Cet article est réservé aux abonnés
Pour explorer cet article plus en profondeur Consulter l'extrait gratuit

Déjà abonné ?

Présentation

1 - Besoins industriels et processus de développement

2 - Modélisation en UML/OCL des propriétés des langages de programmation

3 - Diagramme d'activité

4 - Hiérarchisation des actions d'un diagramme d'activité

5 - Vers une architecture d'un processus IDM incrémental

  • 5.1 - Modèle de conception, modèle de programmation et code
  • 5.2 - Point de vue de l'industriel

6 - Conclusions et perspectives

Sommaire

Présentation

RÉSUMÉ

La modélisation des propriétés des langages de programmation est devenu indispensable aux besoins industriels utilisants un processus de développement à base de modèles. Le standard UML/OCL, auquel s'attache cet article, permet cette modélisation. Sont abordés, tout d'abord, les besoins industriels et différents processus de développement. Ensuite la modélisation en UML/OCL des propriétés des langages est exposée. Puis finalement, les diagrammes d'activité et leurs hiérarchisations des activités sont expliqués. Pour finir, la définition d'un processus incrémental (modèle de conception, de programmation et de code) est proposée.

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l’article

Auteur(s)

  • Pierre BAZEX : Professeur émérite de l'Université Toulouse III Paul Sabatier

  • Agusti CANALS : Expert génie logiciel - Adjoint du directeur technique de CS Communication & Systèmes

INTRODUCTION

Les besoins industriels liés à l'utilisation d'un processus de développement à base de modèles nécessitent la modélisation des propriétés des langages de programmation. L'application de ces propriétés sur des diagrammes d'activité/classes permet de générer des codes des composants logiciels. L'architecture de processus incrémental à base de modèles proposée dans ce dossier est destinée aux experts d'un domaine pour la mise en place d'un atelier métier.

La sémantique dans les modèles est indispensable aux analystes/concepteurs qui souhaitent contrôler et donc mieux maîtriser le passage des modèles de conception aux composants logiciels.

Quid de l'approche sémantique des modèles dans un milieu industriel confronté aux systèmes critiques ?

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 94 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


VERSIONS

Il existe d'autres versions de cet article :

DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v2-h3880

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

4. Hiérarchisation des actions d'un diagramme d'activité

Cependant, cette transformation ne peut s'appliquer que si l'on est capable de justifier que la structure hiérarchisée des activités représente les mêmes flots de données et de contrôle que le diagramme d'activités source, sachant cependant que nous nous limitons ici à des langages de style impératif, cadre dans lequel nous nous sommes placés au départ en étudiant la modélisation en OCL des propriétés des langages.

Cette transformation est réalisée par étapes successives, en cherchant des fragments :

  • de modèles dont les éléments peuvent s'exprimer en termes de séquences (SequenceNode ) regroupant les actions qui se succèdent dans le modèle ;

  • de tests (ConditionalNode ) portant sur des nœuds d'activité dont l'exécution est soumise à des conditions ;

  • de nœuds de boucle (LoopNode ) portant sur des nœuds d'activité dont la répétitivité des exécutions est soumise à des conditions.

Il est cependant nécessaire que le poids des flots de contrôle soit égal à un, indiquant le passage automatique d'un nœud exécutable à son suivant, en fonction de la garde du flot de contrôle les reliant.

Dans ce paragraphe, nous présentons un algorithme de hiérarchisation des actions d'un diagramme d'activité en montrant tout d'abord les transformations élémentaires puis l'enchaînement de ces transformations. Pour chaque transformation élémentaire, il s'agit tout d'abord de rechercher dans le diagramme d'activité, tout flot de contrôle qui référence un fragment de diagramme transformable en nœud d'activité structurée : ce flot de contrôle doit donc vérifier l'une des propriétés autorisant le fragment de diagramme d'activité qu'il désigne en un nœud d'activité structurée de type, selon le cas, SequenceNode ou ConditionalNode ou LoopNode. Nous définissons ensuite le principe de la transformation et nous décrivons les post-conditions assurant que la transformation est correcte.

Il est à rappeler que si les propriétés concernant la précondition et la post-condition portent sur le diagramme d'activité, elles doivent être écrites au niveau du métamodèle d'UML 2 .0. Il en est de même pour l'algorithme de la transformation énoncé sur le diagramme d'activité et implémenté comme une opération définie dans le métamodèle...

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 94 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Lecture en cours
Hiérarchisation des actions d'un diagramme d'activité

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Sommaire
Sommaire

BIBLIOGRAPHIE

  • (1) - AUDIBERT (L.) -   *  -  Cours – UML. http://laurent-audibert.developpez.com/Cours-UML/html/index.html

  • (2) - DE FOMBELLE (G.) -   Gestion incrémentale des propriétés de cohérence structurelle dans l'ingénierie dirigée par les modèles.  -  Thèse du Lip6, Université de Paris 6 (2007).

  • (3) - LE THI (T.-T.), BAZEX (P.) -   Language modeling in the context of a MDE process.  -  In IADIS International Conference Applied computing, Timisoara, Romania, oct. 2010.

  • (4) - MALENFANT (J.) -   Modélisation de la sémantique formelle des langages de programmation en UML et OCL.  -  Rapport de recherche INRIA (2002).

  • (5) - MEYER (B.) -   Introduction à la théorie des langages de programmation.  -  InterEditions (1992).

  • (6) - BLANC (X.) -   MDA en action.  -  Eyrolles (2005).

  • ...

1 Outils logiciels

DOMINO – Projet RNTL DOMINO http://www.domino-rntl.org

EMF – Eclipse Modeling Framework Project (EMF) http://www.eclipse.org/modeling/emf/

Kermeta – Metaprogramming Environment Based on an Object-Oriented http://www.kermeta.org

TopCased http://www.topcased.org

USE – An UML-based Specification Environment http://www.db.informatik.uni-bremen.de

HAUT DE PAGE

2 Sites Internet

OMG Objet Management Group http://www.omg.org

Liste de logiciel http://jmvanel.free.fr/uml/uml-interop.html

HAUT DE PAGE

3 Événements

NEPTUNE...

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 95 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Ressources documentaires

Langage UML : développement de logiciel et modélisation visuelle

Le langage UML (pour Unified Modeling Language) est un langage graphique de modélisation des systèmes ...

De la modélisation conceptuelle à l'ingénierie des exigences

L’impact critique de l’analyse des exigences sur la qualité du logiciel a été reconnu de longue date et ...

Validation des algorithmes en UML et OCL

Cet article traite de propriétés formelles des langages de programmation dont le but est de vérifier, ...