Modélisation en UML/OCL des propriétés des langages de programmation
Modélisation en UML/OCL des langages de programmation : vers un processus IDM incrémental
H3880 v2 Article de référence

Modélisation en UML/OCL des propriétés des langages de programmation
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 95 % à 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

Lecture en cours
Présentation

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

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

Un langage de programmation est défini formellement par un ensemble de propriétés syntaxiques et sémantiques. L'objectif de ces propriétés est de fournir des méthodes pour raisonner sur les programmes en cherchant à prouver qu'ils vérifient toutes les propriétés que l'on peut exiger de leur part. La sémantique d'un langage de programmation repose donc sur une définition de propriétés formelles décrivant les aspects syntaxiques, opérationnels et axiomatiques de tout programme du langage :

  • un langage de programmation est défini préalablement à l'aide d'une grammaire décrivant les mots du langage et la structure des différentes constructions syntaxiques que doit respecter tout programme du langage, considéré dès lors comme un ensemble de formules bien formées ;

  • un langage de programmation est ensuite défini à l'aide de relations logiques décrivant précisément le comportement attendu des différentes constructions syntaxiques sur les données programme, en le comparant à un comportement attendu ;

  • un langage de programmation est enfin défini à l'aide de propriétés axiomatiques permettant de vérifier qu'un fragment de programme est correct.

2.1 Grammaires et propriétés d'un langage

Nous montrons sur un exemple d'un langage de programmation de style impératif, simple mais suffisamment représentatif pour en décrire la grammaire et ses propriétés, et leur modélisation en UML/OCL. Ce langage est appelé le langage « L » .

HAUT DE PAGE

2.1.1 Exemple d'un langage de style impératif

Tout programme du langage est composé d'une partie déclarative définissant les types prédéfinis du langage (Bool pour les booléens et Rel pour les nombres entiers positifs, nul et négatifs) à partir desquels le typage des variables peut être déclaré dans tout programme du langage, et d'une partie instruction contenant les instructions...

Logo Techniques de l'Ingenieur

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

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Lecture en cours
Modélisation en UML/OCL des propriétés des langages de programmation

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 94 % à 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, ...