Conventions communes aux profils UML



Documents pareils
Ingénierie des Modèles. Méta-modélisation

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)*

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

IFT2255 : Génie logiciel

UML (Diagramme de classes) Unified Modeling Language

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Générer du code à partir d une description de haut niveau

MDA (Model Driven Architecture) principes et états de l art.

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

Information utiles. webpage : Google+ : digiusto/

OCL - Object Constraint Language

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Les diagrammes de modélisation

Modélisation de Lignes de Produits en UML *

Université de Bangui. Modélisons en UML

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Chapitre I : le langage UML et le processus unifié

Développement d un interpréteur OCL pour une machine virtuelle UML.

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh

Diagramme de classes

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Formation : Modélisation avec UML 2.0 et Mise en pratique

Le Guide Pratique des Processus Métiers

OASIS Date de publication

3. UML - Unified Modeling Language Diagrammes statiques

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Meta Object Facility. Plan

Cours en ligne Développement Java pour le web

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Université Paris XI Faculté des sciences d Orsay THÈSE. présentée pour l obtention du grade de Docteur en Sciences de l Université Paris-Sud XI Orsay

RTDS G3. Emmanuel Gaudin

SECTION 5 BANQUE DE PROJETS

CORBA. (Common Request Broker Architecture)

Description de la formation

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Composants Logiciels. Le modèle de composant de CORBA. Plan

Analyse,, Conception des Systèmes Informatiques

Nom de l application

NFP111 Systèmes et Applications Réparties

Intégration d un ERP guidée par les modèles

Architecture à base de composants pour le déploiement adaptatif des applications multicomposants

MEGA ITSM Accelerator. Guide de Démarrage

MEGA Database Builder. Guide d utilisation

Visual Paradigm Contraintes inter-associations

En vue de l obtention du. Discipline : Informatique. Présentée et soutenue par Mohamed HADJ KACEM. Le Jeudi 13 Novembre 2008

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Réussir la modélisation UML des phases amont Techniques de «pré-modélisation» : un pont vers le modèle

Chapitre 1 : Introduction aux bases de données

Le génie logiciel. maintenance de logiciels.

UML et les Bases de Données

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Object Constraint Language (OCL)

Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon

CC30 Certificat de compétence Conception, développement et animation de sites Web

RAPPORT DE CONCEPTION UML :

Spécification et transformation de langages de points de vue des systèmes répartis ouverts

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Comparaison de trois techniques de modélisation de processus: ADONIS, OSSAD et UML

Chapitre VI- La validation de la composition.

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

4. SERVICES WEB REST 46

LANDPARK ACTIVE DIRECTORY OPEN/LDAP

modélisation solide et dessin technique

Modélisation des données

Manuel de l'utilisateur d'intego VirusBarrier Express et VirusBarrier Plus

L approche Model-Driven Architecture, crédible pour développer un progiciel de

GOL502 Industries de services

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de

Conception des bases de données : Modèle Entité-Association

La plate-forme DIMA. Master 1 IMA COLI23 - Université de La Rochelle

Utiliser Access ou Excel pour gérer vos données

Méthodes de Conception Orientés Objet (MCOO) SOMMAIRE

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

Annexe : La Programmation Informatique

Rappel sur les bases de données

LES TYPES DE DONNÉES DU LANGAGE PASCAL

CONCEPTION DE PROJET SIG AVEC UML

THÈSE. Présentée à. en habilitation conjointe avec l Université de Rennes 1. En vue de l obtention du grade de. DOCTEUR de l ENST Bretagne.

Patrons de Conception (Design Patterns)

Etat de l art sur le développement logiciel dirigé par les modèles.

Démarches d urbanisation : réorganiser le Système d Information en structurant ses fonctions dans des blocs fonctionnels communicants.

SAP BusinessObjects Web Intelligence (WebI) BI 4

MÉMOIRE DE STAGE DE MASTER SPÉCIALITÉ : Recherche en Informatique Mention : Informatique, Mathématiques, Statistiques

Cours de Génie Logiciel

Extensions à la formation. Laurent Pérochon, avril 2008, RMT Modelia, modélisation conceptuelle, formation UML, INRA Castanet Tolosan

Conception, architecture et urbanisation des systèmes d information

Mise en œuvre des serveurs d application

UML (Paquetage) Unified Modeling Language

Guide No.2 de la Recommandation Rec (2009).. du Comité des Ministres aux États membres sur la démocratie électronique

GUIDE D UTILISATION DE L ISU SEPTEMBRE 2013 GUIDE D UTILISATION DU NAVIGATEUR UIS.STAT (VERSION BÊTA)

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

MEGA ITSM Accelerator. Guide de démarrage

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

Logiciel EV3 LEGO MINDSTORMS Education

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Travail collaboratif à distance

Cours 1 : La compilation

MEGA Application Portfolio Management. Guide d utilisation

Transcription:

Conventions communes aux profils UML Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)* Référence : Livrable 2.1 Date : Juin 2002 * : Les partenaires du projet ACCORD sont CNAM, EDF R&D, ENST, ENST- Bretagne, France Telecom R&D, INRIA, LIFL et Softeam. Le projet est conjointement financé par les partenaires et par le RNTL (Réseau National des Techniques Logicielles). Projet ACCORD Page 1 sur 8

Sommaire 1 Introduction... 3 2 Spécification du profil CORBA... 3 2.1 Méta-modèle virtuel de stéréotypes... 3 2.1.1 Notion de stéréotype... 3 2.1.2 Expression du méta-modèle virtuel avec UML... 4 2.2 La spécification du profil CORBA... 4 2.3 Un exemple... 4 3 Spécification du profil EJB... 4 4 Eléments de description d'un profil... 5 5 Modèle générique de documents de spécification de profil... 6 5.1 Description Générale... 6 5.2 Domaine... 6 5.3 Définition technique... 6 5.3.1 Packages UML utilisés... 6 5.3.2 Stéréotypes... 6 5.3.3 Tagged Values... 7 5.3.4 Contraintes Structurelles... 7 5.3.5 Méta-modèle Virtuel (Facultatif)... 7 5.3.6 Icônes Graphiques... 8 5.4 Définition opérationnelle... 8 5.4.1 Règles de Transformation (Interne / Externe)... 8 5.4.2 Règles de Présentation... 8 5.5 Exemples... 8 6 Références... 8 Projet ACCORD Page 2 sur 8

1 Introduction Dans le cadre du projet ACCORD, plusieurs profils UML vont être spécifiés tels que, entre autres, le profil permettant de décrire des composants EJB (actuelle version EJB 2.0) et le profil pour le modèle de composant CORBA (norme future version CORBA 3). Le but de ce document consiste à définir les règles communes de spécification des profils du projet ACCORD. Chaque lot du projet ACCORD ayant à spécifier un profil devra donc suivre les règles énoncées dans ce document. L OMG et le JCP (Java Community Process) ont, à ce jour, standardisé plusieurs profils. Nous avons étudié plus particulièrement les profils CORBA [1] et EJB [2] pour définir ces règles communes de spécification. Les sections 2 et 3 de ce document décrivent respectivement les documents de spécification du profil CORBA et du profil EJB. La section 4 énumère les éléments essentiels servant à la spécification de profils. Enfin, la section 5 présente le modèle générique de documents de spécification des profils du projet ACCORD. 2 Spécification du profil CORBA Le document étudié est la version 1.0 de la spécification du profil CORBA [1]. Le document OMG présente tout d'abord l'intérêt d'un profil CORBA par rapport à une simple description IDL : un schéma UML présente l'avantage d'ajouter de la sémantique. Cet aspect est illustré par l'exemple d'un attribut d'une interface CORBA matérialisé par une association. La cardinalité du rôle de l'association permet de savoir si la valeur de l'attribut peut être vide ou pas. Cette information ne peut pas être exprimée en IDL. Cette section contient ensuite une courte section sur les grandes décisions du profil. La section 2 du document OMG présente une définition générale d'un profil. Le profil CORBA étant l'un des premiers à être normalisé, les auteurs se sont attachés à également définir les différents concepts pour spécifier un profil. Selon eux, la spécification d'un profil doit : Identifier le sous-ensemble du méta-modèle UML nécessaire au profil cible. Etablir les règles de cohérences de ce sous-ensemble. Ces règles seront décrites par l'intermédiaire d'un ensemble de contraintes écrites soit en langage naturel soit par le langage OCL (Object Constraint Language). Définir l'ensemble des «ajouts standards» rattachés à ce sous-ensemble. UML propose une extension possible d'uml à l'aide de 3 éléments possibles : les méta-classes Stereotype, Constraint et Tagged Value. Spécifier la sémantique en langage naturel. 2.1 Méta-modèle virtuel de stéréotypes 2.1.1 Notion de stéréotype La spécification UML donne la définition suivante pour les stéréotypes : Le concept de Stereotype permet de classer (annoter) des éléments et se comporte suivant des règles comme des nouveaux éléments d'un méta-modèle virtuel. Règles d'utilisation des stéréotypes: Projet ACCORD Page 3 sur 8

Un Stereotype est un GeneralizableElement, donc la relation d'héritage est possible pour les stéréotypes. De même, il est possible de définir des stéréotypes abstraits pour éviter des répétitions quand des stéréotypes ont des propriétés communes. Un élément généralisable (GeneralizableElement) est un élément du modèle (ModelElement), et des relations de dépendances (Dependency Relationships ) peuvent être définies entre des éléments du modèle, donc des relations de dépendances sont possibles pour des stéréotypes. Un stéréotype n'est pas un Classifier, donc des stéréotypes ne peuvent participer à des relations d'associations. 2.1.2 Expression du méta-modèle virtuel avec UML Le document OMG propose de décrire en UML le méta-modèle virtuel avec les règles suivantes: Le modèle est exprimé via le diagramme de classes UML. Chaque Stéréotype est exprimé par une boite Classifier (bien que un stéréotype ne soit pas un Classifier). Le stéréotype est identifié par le mot clé <<Stereotype>>. Si un stéréotype est relié par une relation de dépendances vers une métaclasse UML, cette relation est annotée par le mot-clé <<baseelement>>. Les relations d'héritages entre stéréotypes sont exprimées de manière usuelle. Les contraintes sont exprimées en anglais et en OCL. 2.2 La spécification du profil CORBA La section 3 du document OMG spécifie le profil CORBA. La structuration de cette section est la suivante: 1) Identification du sous-ensemble UML utile au profil CORBA : c'est une énumération des paquetages du Méta-modèle UML nécessaires et, dans ces paquetages, l'énumération des méta-classes. 2) Description du méta-modèle virtuel : Conformément aux règles décrites dans la section, les descriptions des diagrammes de classes sont définies dans un paquetage de nom CORBAProfile. 3) Spécifications plus précises des différents éléments introduits dans le méta-modèle: signification en langage naturel du stéréotype introduit, définition des contraintes possibles pour ce stéréotype, illustration de l'utilisation de ce stéréotype : l'illustration peut se faire par un exemple UML d'utilisation du stéréotype et/ou la correspondance du stéréotype et le langage IDL. 2.3 Un exemple Le document OMG se termine par un exemple significatif décrivant complètement les stéréotypes du profil. Une correspondance de ce schéma UML et de la spécification IDL est donnée pour cet exemple. 3 Spécification du profil EJB Le profil UML pour EJB (JSR 000026) est en cours d élaboration au JCP (Java Community Process). Il est actuellement dans la phase Public Review du JCP ; c est à dire qu il devrait être bientôt validé comme standard. Le document sur lequel nous avons travaillé est le draft public du 25 mai 2001 [2]. Ce document définit un profil UML (version 1.3) pour EJB (version 1.1). Ce document est composé des parties suivantes : Projet ACCORD Page 4 sur 8

4) Introduction : Une brève introduction qui, entre autres, précise à qui s adresse ce document. 5) Overview : Cette partie explique l intérêt du profil UML pour EJB et présente rapidement les concepts des profils UML. 6) UML Profile : Cette partie est la partie la plus importante du document. Elle définit le profil UML pour EJB. Cette partie est composée de plusieurs sous-parties : i. La définition des termes employés par le document ii. L identification des packages du méta-modèle UML utilisés. iii. Les extensions proposées sur le méta-modèle UML. Cette partie est vide, aucune extension n a été apportée au méta-modèle UML. iv. L identification des Model Element prédéfinis et nécessaires pour le profil v. L ensemble des stéréotypes et tagged values définies par le profil. vi. Les règles sémantiques permettant la génération de code Java à partir de modèles UML utilisant le profil UML pour EJB. vii. Les règles OCL de conformité du profil. Dans le draft étudié, cette partie est vide. 7) UML Descriptor : Une DTD définissant la structure des fichiers XML représentant les modèles UML décrivant les artefacts Java et EJB à inclure dans les archives EJB. 8) Virtual Metamodel : Le méta-modèle virtuel du profil. Ce méta-modèle est présenté à titre indicatif. 9) Rationale : La justification du profil et des choix effectués. 10) Examples : Des exemples. 11) Related Documents : Des références. 12) Revision History : L historique des révisions. 4 Eléments de description d'un profil L étude de ces documents nous montre que la description d un profil passe nécessairement par quatre points. Premièrement : le domaine du profil. Les profils permettent d adapter UML à un domaine particulier (EJB ou CORBA pour les profils que nous avons étudiés). La description d un profil passe donc nécessairement par la description du domaine particulier auquel le profil est attaché. La description de ce domaine peut se faire en définissant le méta-modèle du domaine. Ce méta-modèle devra décrire les concepts du domaine en question ainsi que les différentes relations existantes entre ces concepts. Si un tel méta-modèle existe et qu il est défini dans un autre document, la description du profil pourra alors simplement le référencer. Deuxièmement : la définition technique du profil. Techniquement, un profil n est qu un ensemble de stéréotypes, de tagged values et de contraintes. Ces éléments permettent d établir une correspondance entre les concepts UML et les concepts du domaine représentés par le profil. Il est important de noter qu en principe seule cette partie suffit à définir un profil selon le standard UML. Troisièmement : la partie opérationnelle du profil. Concrètement, un profil ne peut se résumer uniquement à une liste de stéréotypes, de tagged values et de contraintes. C est aussi et surtout un ensemble de règles qui permettent de rendre le profil opérationnel. Par exemple, le profil EJB contient un ensemble de règles pour générer automatiquement le code Java correspondant ainsi que Projet ACCORD Page 5 sur 8

les fichiers de déploiement. Cette partie qui n est pas clairement identifiée dans la définition classique de profil UML est fondamentale. Quatrièmement : un exemple d utilisation du profil. Tous les documents de description de profil que nous avons étudiés présentent des exemples. Un exemple, qui a un but pédagogique, est plus que nécessaire dans la description d un profil. Les quatre points que nous venons d énoncer sont essentiels pour la description d un profil. Nous pensons que les documents de description de profils doivent clairement identifier ces points et c est pour cela que nous proposons la structure présentée dans la section 5. 5 Modèle générique de documents de spécification de profil Les cinq sous-sections suivantes représentent les cinq parties des documents de description de profils pour le projet ACCORD. Mise à part la première partie qui correspond à la description générale du profil, les quatre autres parties correspondent aux points que nous avons identifiées dans la section 4 de ce document. 5.1 Description Générale Cette partie décrit le profil d une façon générale. Elle précise l objectif du profil ainsi que le public concerné. Elle référence les documents (standard ou non) nécessaires et identifie, si elles existent, les relations avec d autres profils. 5.2 Domaine Cette partie présente le domaine couvert par le profil. Le but n est pas de définir formellement ce domaine mais, simplement, de le présenter à titre d information. Cette présentation permet de faciliter la compréhension de l ensemble des éléments du profil (stéréotypes, tagged values et contraintes) ainsi que la correspondance avec UML. Nous conseillons fortement l utilisation d un méta-modèle pour représenter les concepts du domaine représenté par le profil. Chacun des concepts sera alors être représenté par une méta-classe du méta-modèle et les relations entre concepts seront représentées par des associations entre les méta-classes du méta-modèle. Si un tel méta-modèle existe déjà, un lien vers celui-ci pourra être établi. 5.3 Définition technique Cette partie définit les aspects techniques des profils, c est à dire les stéréotypes, les tagged value et les contraintes. Ce sont ces éléments qui définissent les correspondances entres les concepts du domaine couvert par le profil et les concepts UML. 5.3.1 Packages UML utilisés Les stéréotypes, tagged values et contraintes d un profil sont rattachés à des métaclasses du méta-modèle UML. Cette partie permet d identifier quels sont les packages du méta-modèle UML qui contiennent ces méta-classes. 5.3.2 Stéréotypes Cette partie dresse la liste des stéréotypes définis par le profil. Nous conseillons d utiliser un tableau en début de partie afin de lister les différents stéréotypes du profil [Tableau 1]. Puis, pour chacun des stéréotype, nous conseillons d expliquer la correspondance avec le concept du domaine couvert par le profil. Projet ACCORD Page 6 sur 8

Tableau 1 - Exemple de tableau dressant la liste de stereotypes. 5.3.3 Tagged Values Cette partie dresse la liste des tagged values définies par le profil. Nous conseillons d utiliser un tableau en début de partie afin de lister les différents tagged values du profil [Tableau 2]. Puis, pour chacune des tagged value, nous conseillons d expliquer la correspondance avec le concept du domaine couvert par le profil. Tableau 2 - Exemple de tableau dressant la liste de tagged values. 5.3.4 Contraintes Structurelles Cette partie dresse la liste des contraintes définies par le profil. Nous conseillons d utiliser, si possible, le langage OCL pour définir des contraintes. Un exemple de contrainte :!"#%$%&')(*,+-+/.10*2 3 45768(9 %&;:=<>%=?@? A!")!B<C>&D.1 FEGA!IHF!"!KJL>NM) O!"%1P Q RTS%U V9WYXZX[%\^]L_ à\%bu S%[%S^\c7deXfaReW gb\%chàs^g"ijkzlksnm,o/_yxrkgp\%xjts 5.3.5 Méta-modèle Virtuel (Facultatif) Plusieurs descriptions de profil utilisent la notion de méta-modèle virtuel pour représenter l ensemble des stéréotypes, tagged values et contraintes du profil [Figure 1]. Les méta-modèles virtuels permettent de représenter graphiquement ces éléments ainsi que leurs relations avec les méta-classes du méta-modèle UML. La façon de définir un méta-modèle virtuel est très bien décrite dans le profil CORBA [1]. Etant donné qu un méta-modèle virtuel ne contient aucune information supplémentaire, son utilisation est facultative. Figure 1 - Exemple de méta-modèle virtuel. Projet ACCORD Page 7 sur 8

5.3.6 Icônes Graphiques Cette partie dresse la liste des différentes icônes graphiques définies dans le profil. 5.4 Définition opérationnelle Cette partie définit les règles qui permettent de rendre le profil opérationnel. Notons que ces règles ne font pas actuellement partie de la définition classique de profil UML. Il nous paraît donc intéressant de les définir dans une partie bien distincte du document. Notons, de plus, que ces règles sont fonction du contexte d utilisation du profil. En effet, certaines règles pourront permettre de générer du code alors que d autres pourront permettre la modification de modèles. Nous avons identifié, à l heure actuelle, deux catégories de règles «d opérationnalisation». Il est important de noter que cette classification n est pas figée et qu elle peut être facilement étendue. 5.4.1 Règles de Transformation (Interne / Externe) Cette partie définit les règles qui permettent de transformer le modèle. Ici, les transformations comprennent aussi bien la génération de code, que la génération de documentation ou que la transformation vers d autres modèles conformes au même profil ou non. Nous qualifions règles de transformation interne toute règle qui permet de modifier des modèles en faisant en sorte que ceux-ci restent conforme au même profil. Nous qualifions règles de transformation externe toute règle qui permet soit de générer du code ou de documentation soit la construction de nouveaux modèles conformes à d autres profils. La définition de ces règles peut soit se faire en utilisant le langage naturel soit se faire en utilisant un langage capable d exprimer de telles transformations (i.e. le langage J dans le cadre de l utilisation de l atelier Objecteering). 5.4.2 Règles de Présentation Cette partie définit les règles qui permettent la manipulation des aspects graphiques de modèles. Nous avons identifié, à ce jour, deux types de règles de présentation. Il est possible d étendre cette liste. 5.4.2.1 Filtrage Les règles de filtrage permettent de masquer ou non certains éléments graphiques d un modèle. Ces règles permettent de ne présenter que certains aspects d un modèle. 5.4.2.2 Vues prédéfinies Une vue prédéfinie identifie précisément un diagramme particulier (et non pas un type de diagramme). Ces vues sont utilisées pour faciliter la communication entre les membres d une même équipe. Les règles de vues prédéfinies permettent la construction automatique du diagramme correspondant à la vue. 5.5 Exemples Cette partie fournit un certain nombre d exemples d utilisation du profil. Les exemples ont principalement un but pédagogique et facilitent la compréhension du profil. 6 Références [1] UML Profile for CORBA Specification, V1.0, OMG, October 2001. [2] UML Profile for EJB, Public Draft, 25/05/2001 Projet ACCORD Page 8 sur 8