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

 > 

Une approche IDM du transformation du modèle ecore vers event-b.

( Télécharger le fichier original )
par Bouazizi Hana
FSM - Mastère recherche 2014
  

précédent 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

2.4 Le Méta-modèle ECore

Dans cette partie, nous allons examiner ECore en détail, dans le but de l'utiliser dans notre contexte de transformation comme méta-modèle source.

2.4.1 Noyau d'ECore

Nous commençons par une illustration d'un sous-ensemble simplifié du méta-modèle ECore. Nous le décrivons comme le noyau d'ECore avec des ajouts d'autres concepts. Ce modèle est illustré sur la Figure 2.3, et définit quatre types d'objets qui sont quatre classes :

1. EClass : modélise les classes elles-mêmes. Les classes sont identifiées par leur nom et peuvent contenir un certain nombre d'EAttributes et d'EReferences. Pour soutenir l'héritage, une classe peut se référer à un certain nombre d'autres classes que ses supertypes.

page 28

2.4 Le Méta-modèle ECore

2. EAttribute : modélise les attributs, les composantes des données d'un objet. Ils sont identifiés par leur nom, et ils ont un type.

3. EDataType : modélise les types d'attributs, représentant des types de données primitifs et objets qui sont définis dans Java, mais pas dans EMF. Les types de données sont également identifiés par leur nom.

4. EReference : est utilisé dans les associations de modélisation entre les classes; il modélise une extrémité d'une telle association. Tout comme les attributs, les références sont identifiés par leur nom et ont un type. Cependant, ce type doit être EClass à l'autre extrémité de l'association. Si l'association est navigable dans la direction opposée, il y aura une autre référence correspondante. Une référence précise bornes inférieures et supérieures sur sa multiplicité.

Maintenant, avec ce sous-ensemble d'ECore, nous pouvons aborder le reste du modèle.

FIGURE 2.3 - Noyau d'ECore

2.4.2 Caractéristiques structurelles

En regardant le noyau ECore, nous remarquons un certain nombre de similitudes entre «EAttribute» et «EReference», ils ont tous deux noms et types. Pour capturer ces similitudes, ECore comprend une base commune pour ces deux classes, appelé EStructuralFeature.

page 29

2.4 Le Méta-modèle ECore

La situation est illustrée dans la Figure 2.4.

FIGURE 2.4 - Concept EStructuralFeature

Comme le montre la Figure, EStructuralFeature est, elle-même, provenant d'autres super-types. «ENamedElement» définit un seul attribut, le nom que nous avons vu dans chaque classe discuté jusqu'à présent. La plupart des classes en ECore étendent cette classe afin d'hériter de cet attribut.

Un autre aspect commun d'EAttribute et EReference que nous avons observé est la notion d'un type. Parce que cela est également partagé avec d'autres classes d'ECore, comme nous le verrons bientôt, l'attribut eType est pris en dehors dans «ETypedElement», le supertype immédiat de «EStructuralFeature».

Le type de «eType» est EClassifier, une classe de base commune de «EDataType» et «Eclass» qui étaient les types requis pour «eAttrbituteType» et «eFeatureType».

EStructuralFeature comprend un certain nombre d'attributs utilisés pour caractériser les deux, «EAttribute» et «EReference». Cinq attributs booléens définissent les caractéristiques structurelles :

~ Changeable : détermine si la valeur de la fonction peut être réglée de l'extérieur. ~ Transient : détermine si la fonction est omise de la sérialisation de l'objet auquel il appartient.

~ Unique : qui n'a de sens que pour les fonctions de multiplicité, spécifie si une seule valeur est empêché de se produire plus d'une fois dans la fonction.

page 30

2.4 Le Méta-modèle ECore

~ Unsettable : précise si la fonction a une valeur supplémentaire possible, appelé unset, qui est unique à partir de l'une des valeurs juridiques de son type.

~ Volatile : précise si la fonction n'a pas de stockage directement; ce qui est généralement le cas lorsque la valeur de la fonction est dérivée uniquement à partir des valeurs d'autres caractéristiques.

2.4.2.1 EAttribute

Après avoir ce que les EAttributes ont en commun avec des EReferences, nous allons maintenant examiner ce qui les distingue.

Figure 2.5 illustre les aspects uniques de «EAttribute».

FIGURE 2.5 - Concept EAttribute

EAttribute définit également une référence «eAttributeType», qui fait référence à la même «EClassifier» que «eType», que nous avons décrit dans le paragraphe précédent. Cependant, le type d'un attribut doit être un type de données et non pas une classe, donc cette référence jette cet objet à un «EDataType».

Comme nous l'avons vu dans la Figure 2.3, «EAttribute» sont contenus par un «Eclass» via sa référence de «eAttributes».

précédent 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








"Aux âmes bien nées, la valeur n'attend point le nombre des années"   Corneille