previous up next contents
Précédent : Implémentations concrètes Remonter : Implémentations Suivant : Impact

Implémentations abstraites

La construction appelée ``décomposition'' (déjà décrite) peut être utilisée pour produire un graphe nouveau à partir des graphes colorés de deux ou plusieurs classes pré-existantes. La sémantique de cette opération s'interprète dans un espace à N dimensions (combinaison des dimensions). L'ordre de nommage des classes est important si un effet de masquage est recherché. Le renommage des noeuds et des transitions est possible s'il s'avère nécessaire.

Une autre construction est utile, la ``dérivation'' : interprétée dans l'espace à N dimensions, elle permet d'ajouter une ou plusieurs dimensions en un point (chroma) donné. On peut isoler dans des classes ``mixins'' ces suppléments de comportement. Il y a lieu de rendre ces mixins aussi simples que possible pour ne pas réduire leur degré de réutilisabilité : chaque transition régulière qui y apparaît induit en effet des contraintes.

Un graphe coloré ainsi bâti, par compositions et dérivations successives, partage évidemment nombre d'items avec les graphes élémentaires dont il est issu. Pour ne pas réécrire le code commun, on étend l'héritage local (limité au graphe coloré d'une classe) à l'héritage de classes (englobant tout une hiérarchie de classes). Cet héritage de classes a une interprétation évidente et simple puisque, pour chaque mini-jeton considéré, les classes impliquées constituent une structure de liste. Cet héritage préserve naturellement la monotonie (aussi appelée encapsulation). Cette approche par les dimensions est complétée par un mécanisme de substitution d'une classe par une de ses sous-classes. La syntaxe adoptée pour nommer les classes intervenant dans les compositions et dérivations est analogue à la liste des superclasses dans un langage à objets classique ; celle de la substitution prend la forme d'un paramétrage.

Il est des propriétés d'une classe qui ne peuvent être formalisées simplement : nous avons emprunté à P. America l'idée de les matérialiser par un ou plusieurs identificateurs (appelés ``propriétés'').

Une dernière construction est offerte qui permet d'abstraire, par un graphe plus simple, un graphe résultant de compositions et dérivations successives. Ceci implique le respect de règles de compatibilité concernant les neuds, les transitions et les propriétés. Le graphe abstrait peut être réutilisé dans de nouvelles combinaisons et dérivations. Il masque l'implémentation dont il est issu.

Les règles de compatibilité peuvent être également utilisées pour chercher de quels ancêtres pourraient dériver un graphe coloré (démarche ascendante).


previous up next contents
Précédent : Implémentations concrètes Remonter : Implémentations Suivant : Impact