Profils UML 2 et projections



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

OCL - Object Constraint Language

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

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

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

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

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

Object Constraint Language (OCL)

UML. Diagrammes de classes (suite) Delphine Longuet.

UML et les Bases de Données

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

MEMOIRE. Présenté à L École Nationale d Ingénieurs de Sfax. en vue de l obtention du MASTÈRE INFORMATIQUE NTSID. Par.

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

Meta Object Facility. Plan

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

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

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

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

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

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

Object Constraint Language (OCL) Une introduction

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

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur Le 23 novembre 2012

THESE. DOCTORAT EN SCIENCES APPLIQUEES Spécialité : Informatique

Cours en ligne Développement Java pour le web

I4 : Bases de Données

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

Méthodes d évolution de modèle produit dans les systèmes du type PLM

RTDS G3. Emmanuel Gaudin

Diagrammes de Package, de déploiement et de composants UML

Intergiciels orientés composants.

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

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Modelio by Modeliosoft

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

THÈSE. Présentée à. L Université Paris VIII. Pour obtenir le grade de DOCTEUR DE L UNIVERSITE DE PARIS VIII. Spécialité INFORMATIQUE

Démarche dirigée par les modèles pour la conception d entrepôts de données multidimensionnelles. F.Atigui, F.Ravat, O.Teste, G.

Modèle Entité/Association

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.

Université Mohamed Khider Biskra. Faculté des sciences exactes et des sciences de la nature et de la vie. Département d Informatique.

Information utiles. webpage : Google+ : digiusto/

BI2 : Un profil UML pour les Indicateurs Décisionnels

IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL

Une architecture pour les transformations de modèles et la restructuration de modèles uml

UML (Diagramme de classes) Unified Modeling Language

Rappel sur les bases de données

Cours STIM P8 TD 1 Génie Logiciel

devant l université de Rennes 1

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Bases de Données relationnelles et leurs systèmes de Gestion

CREATION WEB DYNAMIQUE

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

Architecture Reconfigurable Hétérogène à Gestion Hiérarchique Distribuée pour la Reconfiguration et la Prise de Décision

Langage SQL : créer et interroger une base

ÉCOLE DE TECHNOLOGIE SUPÉRIEURE UNIVERSITÉ DU QUÉBEC THÈSE PRÉSENTÉE À L ÉCOLE DE TECHNOLOGIE SUPÉRIEURE

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Business Process Modeling (BPM)

Prise en compte des ressources dans les composants logiciels parallèles

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014

IFT2255 : Génie logiciel

TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château

Object Management Group

Le Guide Pratique des Processus Métiers

Objectif du cours. Outline. Complexité des systèmes modernes. La modélisation et UML dans les activités du Génie Logiciel...

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

Les bases de données

Olivier Mondet

Elaboration de processus de développements logiciels spécifiques et orientés modèles : application aux systèmes à évenements discrets

Environnement logiciel basé sur les modèles pour la conception collaborative de produit

Architecture Orientée Service, JSON et API REST

Thème : ELABORATION D UN META-MODELE D INTEGRATION WEB

Projet Active Object

Module BDWEB. Maîtrise d informatique Cours 9 - Xquery. Anne Doucet. anne.doucet@lip6.fr

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2

Génie Logiciel avec Ada. 4 février 2013

UNIVERSITÉ DU QUÉBEC EN OUTAOUAIS VÉRIFICATION ET ANALYSE DES POLITIQUES DE CONTRÔLE D ACCÈS : APPLICATION AU LANGAGE XACML

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Description de la formation

Modélisation de Lignes de Produits en UML *

Modernisation, développement d applications et DB2 sous IBM i Technologies, outils et nouveautés Volubis.fr

3. UML - Unified Modeling Language Diagrammes statiques

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres.

Programme de la 1ère année

Conception fonctionnelle de services d entreprise fondée sur l alignement entre cœur de métier et système d information

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

Le langage SQL (première partie) c Olivier Caron

Visual Paradigm Contraintes inter-associations

Synergies entre Artisan Studio et outils PLM

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

Méthodologies de développement de logiciels de gestion

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

Théodore THLIVITIS Architecture du SI, Conseil & Management

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa Novembre 2008

Data Tier Application avec SQL Server 2008 R2

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

Transcription:

1 Profils UML 2 et projections Plan UML et MDA : points communs Technique des profils Transformation de modèles et profils UML UML 2 : introduction de composants PIM Application MDA : le projet RNTL ACCORD 12 septembre 2007 2 3 MDA et UML Ce sont deux normes délivrées par l OMG MDA : ingénierie des modèles UML : notation graphique de spécification de modèles UML peut être utilisé comme support du MDA : Nécessaire de spécifier des modèles UML PIM mais aussi des modèles UML PSM! Transformation de modèles UML? Les technologies préconisées par MDA UML (from OMG) MOF (Meta Oject facilities) profils UML OCL (Object Constraint Language) XML, XMI

4 5 Qu est-ce qu un profil UML? Mécanisme standard d extension d UML Ensemble cohérent de stéréotypes, valeur marquées (tagged value) et contraintes Principe général : on n ajoute pas de méta-classes mais des annotations Mécanisme d extension UML +extendedelement ModelElement (from Core) 0..1 +constrainedelement 1.. {ordered} +taggedvalue TaggedValue tag : Name value : String +requiredtag aux méta-classes UML existantes. GeneralizableElement (from Core) Constraint (from Core) +constraint +stereotype 0..1 Stereotype icopn : Geometry baseclass : Name 1 +stereotypeconstraint +constrainedelement {xor} 0..1 6 7 Exemple construction profil UML (1/3) Objectif : créer un profil UML permettant de décrire des bases de données relationnelles : Une base de données contient un ensemble de tables. Une table contient un ensemble de colonnes, un sous-ensemble de ces colonnes forme la clé primaire de la table. Exemple construction profil UML (2/3) Phase 1 : attacher les concepts du modèle au modèle UML Profil Bases de données : Concept modèle Méta-classe UML Extension Base Package Stéréotype Table Class Stéréotype Colonne Attribute ClePrimaire Attribute Stéréotype

8 9 Exemple construction profil UML (3/3) Phase 2 : Donner les règles de cohérence d utilisation du profil Utilisation du langage OCL (Object Constraint Language) Le langage OCL (1/3) Langage formel, textuel et normalisé (OMG). Des parsers OCL existent Complémentaire à la notation UML Permet de spécifier des contraintes sur tout schéma UML UML est lui-même spécifié avec OCL (méta-modèle). Devoir : étudiez le langage avec la référence : http ://www.ibisc.univ-evry.fr/ djafri/supportscours/ocl.pdf 10 11 Le langage OCL (2/3) Liè à un contexte : précise le type de l instance auquel la contrainte se rapporte Les stéréotypes suivants sont applicables à une contrainte : inv, pre, post Exemple : Le langage OCL (3/3) Parcours simple d un schéma UML (via les associations) Expressions arithmétiques, booléennes Conformité des types (oclistypeof()) Expressions ensemblistes (collect, select, forall,...) Pile nb_elements : entier ajouter(element) retirer() : entier <<inv>> nb_elements >=0 context Pile inv : nb_elements >=0

12 13 Exemple OCL, source JOOP 1999, uml.free.fr Contraintes OCL (1/3) Un hôtel ne contient jamais d étage numéro 13 (superstition oblige). context Chambre inv: self._étage <> 13 Le nombre de personnes par chambre doit être inférieur ou égal au nombre de lits dans la chambre louée. Les enfants (accompagnés) de moins de 4 ans ne comptent pas dans cette règle de calcul (à hauteur d un enfant de moins de 4 ans maximum par chambre). context Chambre inv: client->size <= _nbdelits or (client->size = _nbdelits + 1 and client->exists(p : Personne p._age < 4)) 14 15 Contraintes OCL (2/3) L étage de chaque chambre est compris entre le premier et le dernier étage de l hôtel. context H^otel inv: self.chambre->forall(c : Chambre c._étage <= self._étagemax and c._étage >= self._étagemin) Chaque étage possède au moins une chambre (sauf l étage 13, qui n existe pas...). context H^otel inv: Sequence{_étageMin.._étageMax}->forAll(i : Integer if i <> 13 then self.chambre->select(c : Chambre c._étage = i)->notempty) endif) Contraintes OCL (3/3) On ne peut repeindre une chambre que si elle n est pas louée. Une fois repeinte, une chambre coûte 10 pour cent de plus. context Chambre::repeindre(c : Couleur) pre: client->isempty post: _prix = _prix@pre 1.1 Une salle de bain privative ne peut être utilisée que par les personnes qui louent la chambre contenant la salle de bain et une salle de bain sur le palier ne peut être utilisée que par les clients qui logent sur le même palier. context SalleDeBain::utiliser(p : Personne) pre: if chambre->notempty then chambre.client->includes(p) else p.chambre._étage = self._étage endif post: _nbutilisateurs = _nbutilisateurs@pre + 1

16 17 Profil Base de données (suite) Quelques règles du profil Bases de données : une table ne contient que des colonnes Context Class : self.feature->forall(ocliskindof(attribute)) une table doit posséder une clé primaire Context Class : self.feature->select(isstereotyped( ClePrimaire )).notempty... Beaucoup d autres règles (un package ne contient que des tables, pas d héritage de table,...) Exemple : Exemple profil base de données Personne <<Table> id <<cleprimaire>> nom prenom age ref_poste Poste <<Table>> num <<cleprimaire>> libelle Compléter avec des outils automatiques, exemple génération des commandes de création de tables SQL 18 19 Exemple profils standards UML Des profils standardisés existent : profil CORBA 2, profil EJB 1.1 En cours : profil CCM (Thales, Alcatel,,...) A venir : profil EJB 2.0 <<EJBEntityBean>> Customer ClientKey <<EJBPrimaryKey>> Client <<EJBRemoteInterface>> <<instantiate>> ClientHome <<EJBEntityHomeInterface>> <<EJBRealizeRemote>> <<EJBRealizeHome>> ClientBean <<EJBImplementation>> Profils UML versus MOF Inconvénients : Obligation de se rattacher au méta-modèle UML Limitation du mécanisme d extension exemple : impossible de créer une nouvelle méta-classe Avantages : Utilisation de la notation graphique UML Utilisation des ateliers UML existants Utilisation des différentes technologies UML associées (XMI, OCL,...)

20 21 Avantages Atelier UML Spécification plus rapide d un composant Outil intégré de vérification structure d un composant Outil de génération de code, de transformation de modèles Transformation de modèles UML (1/2) Approche par Méta-modélisation PIM PIM Metamodel Transformation Specification PSM PSM Metamodel Technologies possibles : XMI, XSLT, règles XSL, profils (UML PSM), MOF 22 23 Exemple transformation de modèles Passage modèle entité-association vers modèle relationnel Transformation de modèles UML (2/2) Approche par annotations (marquage) Entite Meta-Modele Entite-Association contient Association Identifiant 1..1 participe contient Propriete Identifier les règles de traduction : ex : Entite Table identifiant cleprimaire Meta-Modele relationnel contient Attribut Table cleprimaire 1 cleetrangere PIM Marked PIM PSM Marks Mapping Platfform Technologies possibles : profils UML, XMI, règles XSL

24 25 UML, Processus MDA et composants Techniquement possible, architecture de profils UML Un modèle abstrait PIM : le modèle UML Des profils PSM UML pour les plates-formes de composants ( profils UML 2.0 Norme sortie en juillet 2003 Notion de composant logique Favoriser un processus MDA vers plates-formes de composants à partir d un modèle UML 2 EJB, profils CCM, etc) Difficulté principale : UML 1.4 ne dispose pas de la notion de composants logiques. solution : UML 2.0 26 27 Composant UML 2.0 Un composant UML 2 est une classe enrichie. Un composant UML 2 peut disposer de Ports Un port est associé à une ou plusieurs interfaces. Un port peut être requis ou fourni ou les deux. Des instances de composants (définis par des parts) peuvent se connec- Quelques remarques De nombreux éléments restent flous dans la spécification exemple : validité de l assemblage? Stricte compatibilité des interfaces requises et fournies? Même nombre d interfaces dans chaque port?... Solution : proposer un profil avec règles de cohérence ter via les ports Il est possible de définir des composants composites

28 29 Le projet RNTL ACCORD Objectifs : Fournir un atelier de conception orienté composant Intégrer des outils de validation de l assemblage de composants (contrats) Fournir des outils (automatiques?) de génération vers des platesformes technologiques de composants Partenaires : EDF, FT, Softeam,, INRIA Rennes, ENST Paris, Le modèle abstrait de composants Basé sur UML 2 (ensemble de ports, plusieurs interfaces par ports,...) Notion de connecteur-complexe Connector Component 2 ConnectorEnd 1 1 Port Interface ENST Bretagne, CNAM Technologie : profils UML, atelier Objecteering UML 2 ComplexConnector 1.. 1.. Plug {Une prise peut ne pas avoir d'interface explicite} 30 31 Notion de contrats Intégration de contrats d assemblage au niveau du méta-modèle Contrat syntaxique, Contrat sémantique (pré-post conditions), Contrat pragmatique (temps, QoS,...) Profil UML : syntaxe XML stocké dans des notes UML Transformations de modèles PIM vers PSMs Objectif : à partir du modèle abstrait, générer les projections vers EJB et/ou CCM Etude des correspondances ACCORD vers PSM : Un concept ACCORD se traduit en aucun concept PSM (jamais) Un concept ACCORD se traduit en un concept PSM (5%) Un concept ACCORD peut se traduire en plusieurs concepts PSM (95%) Offrir une projection la plus automatique et la plus flexible possible.

32 33 Méthodologie de transformation retenue Profil CCM Modèle abstrait ACCORD génère le modèle abstrait CCM Intégration d outil pour le modèle de programmation CCM (CIDL) Génération de code IDL et CIDL