Transcript
Page 1: UML et l’Ingénierie des Modèles

10/12/2008

1

1

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

UML et l’Ingénierie des Modèles

2

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

UML les bénéfices

• Une notation unique et standard :– Connue de tous– Pour tous les domaines informatiques– Exploitable pour différents niveaux de développement (Analyse préliminaire

…conception)– Utilisée même en dehors du domaine de l’informatique (Organisation d’entreprise,

Ingénierie des systèmes, etc.)• Un mécanisme d'extension pour adapter UML à tout contexte (les profils)• Inclus un langage d’expression de contraintes• Une sémantique définie par un méta modèle• Un format d’échange entre ateliers (XMI)• Des profils standard sont disponibles :

– cibles techniques (J2EE, CORBA, Soc);– domaine & méthodologie (System engineering, QOS);– SysML (System Modeling Language)

Softeam Defray 2006

Page 2: UML et l’Ingénierie des Modèles

10/12/2008

2

4

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Utilisation de UML1.4 dans les entreprises

Softeam Defray 2006

Tendance: - remontée de l'utilisation de UML vers les phases amont- intensification dans l’usage d’usines logicielles

5

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

UML 2.0 : une cible élargie

• UML1.4 cible la modélisation du développement logiciel.• 20% des développements logiciels utilisent UML.• D'autres cibles devraient être couvertes :

– Les composants (EJB, .NET, etc.)– La modélisation des architectures,– Les domaines « externes » : XML, EJB, SOAP, .NET, etc.– Le domaine des réseaux, temps réel (Marte),– Les modèles de processus métier (activity diagrams, workflow),

connexion EAI, WEB services, etc.– UML executable– Système (SysML)

Softeam Defray 2006

Page 3: UML et l’Ingénierie des Modèles

10/12/2008

3

6

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

UML 2.0 : Composants & ports

Connecteurs

D’après Softeam Defray 2006

7

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

UML 2 et SOA

D’après Softeam Defray 2006

Page 4: UML et l’Ingénierie des Modèles

10/12/2008

4

8

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

UML2 pour le code

• Modèles de composant permettent de produire un code de composants:– Autonomes– Indépendants– Avec des interfaces requis et fournis– Intégrables par « plug & play »

• Le modèle d’assemblage permet de produire le code d’assemblage– Initialisation des composants, connexion

• Le modèle doit être défini précisément pour pouvoir être transformé en du code.

D’après Softeam Defray 2006

9

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Vers Meta UML

Page 5: UML et l’Ingénierie des Modèles

10/12/2008

5

10

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

OCL

11

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Profils UML

Page 6: UML et l’Ingénierie des Modèles

10/12/2008

6

12

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Des profils à l’approche « modèle de modèles »

Meta UML

Extensibility. The UML can be extended in two ways:

1) a new dialect of UML can be defined by using Profiles to customize the language for particular platforms(e.g., J2EE/EJB, .NET/COM+) and domains (e.g., finance, telecommunications, aerospace);

2) a new language related to UML can be specified by reusing part of the InfrastructureLibrary package and augmenting with appropriate metaclasses and metarelationships.

The former case defines a new dialect of UML, while the latter case defines a new member of the UML family of languages.

13

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Métamodel UML : l’esprit [OMG04a]

« The UML specification is defined using a metamodeling approach (i.e., a metamodel is used to specifythe model that comprises UML) that adapts formal specification techniques. While this approach lackssome of the rigor of a formal specification method, it offers the advantages of being more intuitive and pragmatic for most implementors and practitioners. »

The UML metamodel has been architected with the following design principles in mind:• Modularity. This principle of strong cohesion and loose coupling is applied to group constructs into

packages and organize features into metaclasses.• Layering. Layering is applied in two ways to the UML metamodel. First, the package structure is layered

to separate the metalanguage core constructs from the higher-level constructs that use them. Second, a layer metamodel architectural pattern is consistently applied to separate concerns (especially regardinginstantiation) across layers of abstraction.

• Partitioning. Partitioning is used to organize conceptual areas within the same layer. In the case of the InfrastructureLibrary, fine-grained partitioning is used to provide the flexibility required by current and future metamodeling standards. In the case of the UML metamodel, the partitioning is coarser-grainedin order to increase the cohesion within packages and loosing the coupling across packages.

• Extensibility. The UML can be extended in two ways: 1) a new dialect of UML can be defined by usingProfiles to customize the language for particular platforms (e.g., J2EE/EJB, .NET/COM+) and domains(e.g., finance, telecommunications, aerospace); 2) a new language related to UML can be specified by reusing part of the InfrastructureLibrary package and augmenting with appropriate metaclasses and metarelationships. The former case defines a new dialect of UML, while the latter case defines a new member of the UML family of languages.

• Reuse. A fine-grained, flexible metamodel library is provided that is reused to define the UML metamodel, as well as other architecturally related metamodels, such as the Meta Object Facility(MOF) and the Common Warehouse Model (CWM).

Page 7: UML et l’Ingénierie des Modèles

10/12/2008

7

14

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Le métamodèle UML

• Le standard UML définit de manière pseudo formelle la sémantique des concepts UML en fournissant le métamodèle UML

– Plus de 50 concepts (métaclasses)– Structuration en package (core, common behavior, …)– Diagrammes décrits comme des exemples.

15

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Métamodèle

Bibliothèque

Exemplaire

0..1

*

5 objets• Bibliothèque:Class• Undefined:AssociationEnd• Undefined:Association• Undefined:AssociationEnd• Exemplaire:Class

Page 8: UML et l’Ingénierie des Modèles

10/12/2008

8

16

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Modèle et Métamodèles

17

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Organisation générale

Les modèles

Le monde réel

Page 9: UML et l’Ingénierie des Modèles

10/12/2008

9

20

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Des mécanismes d’extensions

• Spécialisation de classes (idem héritage de classe)• Property subsets et unions :

– Spécialisation de propriétés définies dans la classe de base• Redefinitions de propriétés

– Remplacement d’une propriété par une autre• Fusion de packages

– Combinaisons de parties de métamodèles

Mais encore des problèmes de sémantique

• Utilisé en – Pour spécialiser un métamodèle– Pour définir de grands métamodèles

• UML 2.0 : un petit noyau et des extensions pour représenter différents diagrammes

21

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Subsets

Subset : Renommagemais, non restriction de l’association≠ de redefine

Page 10: UML et l’Ingénierie des Modèles

10/12/2008

10

22

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Subsets

23

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Redefines

UML 2 Composition Model,Conrad Bock, JOT 2004

Page 11: UML et l’Ingénierie des Modèles

10/12/2008

11

24

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Redefines

25

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Redefines

Page 12: UML et l’Ingénierie des Modèles

10/12/2008

12

26

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Meta UML

The UML 2.0: Infrastructure defines the foundationallanguage constructs required for UML 2.0 (226 pages).

It is complemented byUML 2.0: Superstructure, which defines the user level

constructs required for UML 2.0.(709 pages)

On one hand, most of the practitioners of UML are not even aware of the existence of the UML metamodel…. On the other hand, the UML Infrastructure and the UML metamodel play an important role in thedevelopment of model-based development environments, including model repositorycomponents, metamodel zoos, model transformation languages and related tools. (Sosym’2007 to be published)

27

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Meta UML

The UML 2.0: Infrastructure defines the foundationallanguage constructs required for UML 2.0.

It is complemented byUML 2.0: Superstructure, which defines the user level

constructs required for UML 2.0.

Page 13: UML et l’Ingénierie des Modèles

10/12/2008

13

28

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Les paquetages de l'Infrastructure Library

« An unlabeled dependency between two packages is interpretedas a package import relationship. »

29

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Classes du paquetage Profile

Page 14: UML et l’Ingénierie des Modèles

10/12/2008

14

30

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Métamodèle des profils

• Les stéréotypes sont les seules sortes de métaclasses qui ne peuvent pas être étendus par des stéréotypes :

« A Stereotype may only generalize or specialize another Stereotype ».generalization.general->forAll(e |e.oclIsKindOf(Stereotype)) and

generalization.specific->forAll(e | e.oclIsKindOf(Stereotype))

• Une extension est une sorte d’association. Elle lie une propriété ordinaire à un stéréotype.

• La notation d’un profil est la même que celle d’un package avec en plus le mot clef «profile» avant ou après le nom du package.

31

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Les paquetages de l'Infrastructure Library

« An unlabeled dependency between two packages is interpretedas a package import relationship. »

Page 15: UML et l’Ingénierie des Modèles

10/12/2008

15

32

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Le rôle du noyau commun dans les méta-(méta)-modèles

33

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Décomposition de “Core”Infrastructure

Page 16: UML et l’Ingénierie des Modèles

10/12/2008

16

34

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Primitives Types

35

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Décomposition de “Core”Infrastructure

Page 17: UML et l’Ingénierie des Modèles

10/12/2008

17

36

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Abstractions

37

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Décomposition de “Core”Infrastructure

Page 18: UML et l’Ingénierie des Modèles

10/12/2008

18

38

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

« Classes Diagram » dans « Basic Package »

39

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Décomposition de “Core”Infrastructure

Page 19: UML et l’Ingénierie des Modèles

10/12/2008

19

40

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Construct

41

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Diagramme racine de « construct »

Page 20: UML et l’Ingénierie des Modèles

10/12/2008

20

42

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Meta UML

The UML 2.0: Infrastructure defines the foundationallanguage constructs required for UML 2.0.

It is complemented by

UML 2.0: Superstructure, which defines the user levelconstructs required for UML 2.0.

43

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

Points de variations sémantiques

The term semantic variation point is used throughout this document to denote a part of the UML specification whose purpose in the overall specification is known but whose form or semantics may bevaried in some way. The objective of a semantic variation point is to enable specialization of that part of UML for a particular situation or domain.There are several forms in which semantic variation points appear in the standard:

Changeable default: in this case, a single default specification for the semantic variation point isprovided in the standard but it may be replaced. For example, the standard provides a default set of rules for specializing state machines, but this default can be overridden (e.g., in a profile) by a differentset of rules (the choice typically depends on which definition of behavioral compatibility is used).

Multiple choice: in this case, the standard explicitly specifies a number of possible mutually exclusive choices, one of which may be marked as the default. Language designers may either select one of those alternatives or define a new one. An example of this type of variation point can be found in the handling of unexpected events in state machines; the choices include (a) ignoring the event (the default), (b) explicitly rejecting it, or (c) deferring it.

Undefined: in this case, the standard does not provide any pre-defined specifications for the semanticvariation point. For instance, the rules for selecting the method to be executed when a polymorphicoperation is invoked are not defined in the standard.

Page 21: UML et l’Ingénierie des Modèles

10/12/2008

21

44

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

UML et Profils

• UML permet de modéliser les applications Orientées Objet

• Grâce aux profils, il est possible de modéliser autre chose que des applications orientées objet (Ex: SQL)

• Cependant, un modèle profilé est toujours un modèle UML!!!– Sémantique OO sous-jacente (classes, héritage, instance, …) – Manque de liberté

[email protected]

45

Mireille Blay-Fornarino – 2008 EPU département SI, Master STIC

De UML aux DSL et IDM

• Il serait intéressant de disposer d’autres langages spécifiques à certains domaines tout en ayant la même productivité que celle des modèles UML– Langage pour modéliser les échanges entre applications– Langage pour modéliser les processus – Langage pour modéliser les exigences– Langage pour modéliser les flux bancaires– …

• La transformation des codes n’est pas formalisée, comment être productif si chaque modification des métamodèles suppose de réécrire toutes les transformations?


Top Related