Next: Structure interne des blocs Up: La conception par Blocs Previous: L'implementation des blocs

Le comportement des objets

Nous présentons ici un niveau intermédiaire pour la conception des objets. Avant de ce lancer directement dans l'implémentation nous pouvons utiliser des graphes d'états. Leur fonction est de fournir un description simplifiée qui accroît la compréhension du bloc. sans avoir à descendre au niveau du source. et qui fournit une description moins dépendante du langage cible. Dans ces graphes nous décrivons quel stimuli peut être reçu et quels sont alors les actions réalisé à la réception de ce stimulus.

Etats et transitions d'état peuvent être décrits de nombreuses façons. Nous exposons ici quelques une de ces notations. Pour cela nous décrirons une pile. Une pile est une structure linéaire dans laquelle est est possible de stocker des éléments. Toutes les insertions et destruction se font à un bout. Une insertion est réalisé par une opération push et une destruction par une opération pop. Un autre nom des pile et une liste LIFO (DEPS). pile1Graphe d'état avec prédicats pour une pile.

Nous commençons par des diagrammes d'état à prédicats, où toutes les transitions sont bien définies. Une transition dépend d'un stimuli et d'un état interne exprimé par des conditions (prédicats). Figure 1.18. Une autre façon de présenter les prédicats est décrite Figure 1.19. pile2Graphe d'état d'un pile. De nombreuse forme de descriptions de graphes d'état existe, nous utiliserons une extension de la norme CCITT(1988) de SDL : Specfication and Description Language, utilisé depuis longtemps. Le choix de la technique utilisé n'est fondamental ce qui importe c'est d'avoir une technique saine qui permette de s'abstrait de l'implémentation sous forme de code. SDL.symbolesLes icone du langage SDL.

Les symboles utilisés dans SDL sont décrit Figure 1.20 :

début
Création de l'objet
Etat
un état stable de l'objet
Envoi Message
Exécution d'une opération d'un autre objet.
réception message
qui y correspond.
retour
retour de l'opération.
calcul
réalisation d'un calcul ne comportant pas de messages explicites
décision
utiliser pour les alternatives
destruction
destruction de l'instance.
étiquettes
Pour simplifier écriture et lecture, pour les boucles.

Nous avons utiliser ceci pour fabriquer la Figure 1.21 qui décrit une pile. Remarquer que chaque opération commence derrière un état ou un start et ce avec un réception message et se termine sur un état. Retour n'est utiliser que si il y a retour d'une valeur sinon on suppose que un retour automatique juste avant l'état qui suit. (Le label vide indique l'état précédent). SDL.pileUne pile décrite avec SDL.

Cette notation peut être utilisée directement à partir des Diagrammesq d'interaction. L'opération extraite du D.I en Figure 1.22(a) , elle est décrite dans le graphe d'état Figure 1.22(b), cette séquence pourrait être extraite de façon automatique a partir du DI. mais la sémantiques associée ne peut être construite. Si le diagramme d'Interaction décrit un chemin, le Graphe d'états doit les décrire tous. SDL.di1L'opération (a) nous donne le graphe d'états (b).

Avec ce nouvel outil nous pouvons décrire les classes de tous les objets du système. Ainsi le graphe complet pour ArticleDéposé extrait de sont diagramme d'interaction nous fournis la Figure gif. Un Objet qui réalise la même opération quelque soit l'état dans lequel il se trouver est dit contrôlé par les stimuli. L'ordre de réception des stimuli n'a pas d'importance. C'est le comportement normal des objets dans un contexte orienté objet. C'est le principe de la "liste de courses" (Meyer 1988). L'ordre des achats n'a pas d'importance. Il faut seulement pouvoir tous les acheter. C'est le comportement usuel des Entités. Les objets qui sélectionne l'opération en fonction du stimuli et de l'état interne sont dit contrôlé par l'état. Il mettent en tex2html_wrap2161 uvre une forte relation entre leur état et les stimuli qu'ils peuvent recevoir. Ainsi des opérations ne sont réalisable que dans certains états. Les objets qui implémentent les contrôles sont souvent contrôlés par les états. Ce qui ne veut pas dire que l'objet est indépendant des stimuli, l'état d'un objet peut fort bien être dépendant des stimuli et de l'ordre des stimuli qu'il a reçu. Dans l'exemple BaseDeRecu est contrôlé par les stimuli. gif. Ce deuxième graphe est plus complexe. L'interêt des graphes d'état croix avec la complexité de l'objet.

Next: Structure interne des blocs Up: La conception par Blocs Previous: L'implementation des blocs

Pour vos remarques ou sugestions copyright D.revuz 1995

D'autres cours en francais