WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

EM-OCL : une extension mathématique d'OCL

( Télécharger le fichier original )
par Houda Trabesli
Ecole d'ingénieurs de Sfax - Tunisie - MAster de recherche 2010
  

sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

Table des figures

1.1

Modèle UML de la structure de données Pile

13

1.2

Modèle UML d'une compagnie

14

1.3

Le package Types représentant le méta-modèle des types supportés par OCL . .

14

1.4

Les types collectifs en OCL

16

2.1

Le méta-modèle des types EM-OCL

26

2.2

Graphe de classes de la bibliothèque EM ajoutée à OCL

34

3.1

Modèle initial tiré à partir de la spécification initiale

46

3.2

Second modèle après premier raffinement

47

3.3

Troisième modèle après deuxième raffinement

49

3.4

Quatrième modèle après troisième raffinement

52

3.5

Cinquième modèle après quatrième raffinement

54

3.6

Accès Personne/Bâtiment

57

3.7

Deux diagrammes d'objets rspectant l'invariant global

58

3.8

Système bancaire simple

60

Liste des tableaux

3.1 Modèle mathématique correspondant à une association UML 59

Table des matières

Table de figures

Liste de tables

Introduction Générale

1

3

8

1

La conception par contrats en UML/OCL

9

 

1.1

Généralités sur la conception par contrats

9

 

1.2

Le langage OCL

10

 
 

1.2.1 OCL langage sans effet de bord

10

 
 

1.2.2 OCL est un langage basé sur la logique des prédicats du 1er ordre . . .

10

 
 

1.2.3 L'approche fonctionnelle du langage OCL

11

 
 

1.2.4 Exemples

12

 

1.3

Mécanisme de typage dans le langage OCL

14

 
 

1.3.1 Les types collectifs en OCL

15

 

1.4

Travaux liés à OCL

21

2

Une extension d'OCL : EM-OCL

25

 

2.1

Augmentations liées au package Types

25

 
 

2.1.1 Description de nouveaux types

26

 
 

2.1.2 Conformité des types

28

 
 

2.1.3 Règles de bonnes utilisations des nouveaux types

30

 

2.2

Augmentations liées à la bibliothèque standard d'OCL

32

 
 

2.2.1 Conception d'une bibliothèque mathématique

32

 
 

2.2.2 Opérations offertes par la bibliothèque EM

34

3 Quelques utilisations potentielles d'EM-OCL 43

3.1 Notion de raffinement 43

3.2 Le raffinement en EM-OCL 44

3.2.1 Spécification initiale 44

3.2.2 Premier raffinement 47

3.2.3 Deuxième raffinement : Introduction des portes 48

3.2.4 Troisième Raffinement : Introduction des voyants lumineux 51

3.2.5 Quatrième raffinement : Introduction des lecteurs de cartes 53

3.2.6 Discussion 56

3.3 Validation d'un diagramme de classes 56

3.3.1 Approche de validation proposée 56

3.3.2 Exemple 56

3.4 EM-OCL en tant que langage de requêtes 59

3.4.1 Formulation en OCL 60

3.4.2 Formulation en utilisant EM-OCL 60

3.4.3 Comparaison 60

Conclusion et Perspectives 62

A Annexe mathématique 63

A.1 Logique fondamentale 63

A.2 Ensemble 64

A.3 Tuple 64

A.4 Relations 64

A.4.1 Opérations sur les relations 65

A.4.2 Itérations 65

A.4.3 Restrictions 66

A.5 Fonctions 66

B Annexe de la bibliothèque EM 67

B.1 Pair 67

B.2 SetRef 67

B.3 SequenceRef 67

B.4 BinaryRelation 68

Introduction Générale

OCL [10] [11](Object Constraint Language), est un langage déclaratif basé sur la logique du premier ordre. Il est de plus en plus utilisé pour décrire des contraintes formelles des modèles UML en s'inspirant de la conception par contrat [1] [2] (précondition, postcondition et invariant). En outre, OCL est utilisé au niveau méta-modélisation afin de décrire d'une façon formelle les règles de bonne utilisation (Well-formedness rules) des langages de modélisation comme UML et les profils UML.

Mais OCL présente des insuffisances vis-à-vis de son utilisation dans les domaines suivants : développement incrémental des diagrammes de classes basé sur la technique de raffinement, à l'instar des méthodes formelles comme B [3] [7] et Event-B [21], validation des diagrammes de classes en se basant sur des scénarios plausibles décrits en utilisant les diagrammes d'objets et utilisation d'OCL en tant que langage de requêtes. Ces applications nécessitent des propriétés invariantes globales liées aux modèles UML et a fortiori à des diagrammes de classes.

La description des propriétés invariantes globales nécessitent des objets mathématiques non supportés par OCL tels que relations et fonctions. Pour y parvenir, nous apportons une extension à OCL -intitulée EM-OCL (Extension Mathématique pour le langage OCL)- en révisitant sa bibliothèque de classes afin d'y intégrer de nouvelles classes modélisant les relations et fonctions mathématiques.

Ce mémoire se compose de trois chapitres et de deux annexes. Le premier chapitre comporte une présentation de la conception par contrats en UML. En effet, nous présentons successivement la conception par contrats issue du langage Eiffel [6] [4] [5], le langage OCL notamment son mécanisme de typage et ses types collectifs (Collection, Set, Bag, OrderdSet et Sequence). En outre, ce chapitre donne un aperçu sur les travaux de recherche récents liés au langage OCL. Le deuxième chapitre, présente notre extension mathématique d'OCL : EM-OCL. Ce chapitre comporte deux sections importantes : la première section propose des augmentations liées au

package Types d'OCL, quant à la deuxième section, elle propose des augmentations liées à la bibliothèque standard d'OCL. Le dernier chapitre, est consacré à des utilisations potentielles de notre bibliothèque EM-OCL. La première utilisation concerne le développement incrémental des diagrammes de classes UML basé sur la technique de raffinement. La deuxième utilisation concerne la validation des diagrammes de classes, et la dernière utilisation permet d'exhiber les facilités offertes par EM-OCL en tant que langage de requêtes. Enfin, l'annexe A regroupe les définitions des notions mathématiques utilisées pour étendre OCL, et l'annexe B récapitule les nouvelles possibilités offertes par EM-OCL.

sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Soit réservé sans ostentation pour éviter de t'attirer l'incompréhension haineuse des ignorants"   Pythagore