Informatique


II- La gestion des différents niveaux d'abstraction



Yüklə 2,35 Mb.
səhifə9/20
tarix16.04.2018
ölçüsü2,35 Mb.
#48320
1   ...   5   6   7   8   9   10   11   12   ...   20

II- La gestion des différents niveaux d'abstraction

Afin de pouvoir gérer les différents niveaux d'abstraction du modèle de graphe, les noeuds et les arcs sont organisés en hiérarchie. Cette hiérarchie est utilisée pour définir la structure de la base de données. Les différentes applications organisent leurs données suivant cette hiérarchie, en utilisant seulement une partie de la hiérarchie, ou en la restructurant totalement. La hiérarchie est définie par un OID logique (Object IDentifier), totalement indépendant de l'OID défini par le Système de Gestion de Base de Données utilisé. Chaque élément de base du modèle de graphe (noeud, arc, réseau) possède un OID global qui est unique dans la base de données. Cet OID global permet de définir un OID logique qui illustre la hiérarchie des noeuds, des arcs et des réseaux. Par la suite, nous appellerons OID cet OID logique. L'OID d'un noeud (resp. arc, réseau) permet d'identifier uniquement ce noeud (resp. arc, réseau) dans la base de données. Il permet de le situer dans la hiérarchie des noeuds (resp. arcs, réseaux) et d'identifier son noeud (resp. arc, réseau) père.

Des types de bases sont définis permettant de construire l'OID. Ces types sont les suivants :
type OID_global : integer;

type OID_général : list (OID_global);

type ordre : list (integer);
Cette partie présente la hiérarchie des noeuds, la hiérarchie des arcs et la hiérarchie des réseaux.

II-1. La hiérarchie des noeuds

Un noeud appartient à une hiérarchie de noeuds. Chaque niveau de cette hiérarchie est appelé une couche. Ces couches représentent un niveau particulier d'abstraction. Soit L la profondeur de cette hiérarchie. L'OID d'un noeud possède L couches; la couche L représente le plus haut niveau d'abstraction, et la couche 1 représente le plus bas niveau d'abstraction.

La Figure II-11 présente un exemple de hiérarchie de noeuds, avec trois niveaux d'abstraction.






Figure II-11. Une hiérarchie de noeuds

L’OID d’un noeud est défini par une liste d'entiers. Un élément de cette liste est appelé une couche. L'OID d'un noeud n appartenant à la couche k d'abstraction est défini par les règles suivantes (Figure II-12).




- n se trouve au plus haut niveau d'abstraction (i.e., k = L). La première couche de son OID contient un oid global (un entier) et les autres couches sont nulles.

- n ne se trouve pas au plus haut niveau d'abstraction (1 k < L). Les (L-k)ièmes premières couches contiennent chaque oid global des plus hauts niveaux d'abstraction. La couche k contient un oid global. Les (k-1)ièmes dernières couches sont nulles.



Figure II-12. Les règles pour construire l'OID d'un noeud
Soit L le niveau d'un noeud (par exemple, France). Ce noeud est appelé le noeud généralisé de tous ses noeuds dépendants (Paris, dans la Figure II-11) ou encore le noeud "père" de tous ces noeuds. En suivant les règles de définition de l'OID d'un noeud, soit 10 l'OID global associé au noeud France, 100 l'OID global associé au noeud Paris, et 230 l'OID global associé au noeud Porte de la Chapelle. La Figure II-13 illustre les OIDs de ces différents noeuds.


France (10, 0, 0)

Paris (10, 100, 0)

Pte de la Chapelle (10, 100, 230)


Figure II-13. OIDs de noeuds

Dépendant des différents niveaux d'abstraction déjà définis dans la base de données, un noeud appartenant à une couche i (par exemple, Tours appartenant à la couche 1 de la Figure II-11) pourrait dépendre d'un noeud généralisé de la couche i+2 (i.e., France à la couche 3). Pour lier ces deux noeuds dans la hiérarchie des noeuds, un noeud fantôme est utilisé à la couche i+1. L'OID global associé à ce noeud est l'opposé de l'OID global du noeud généralisé de la couche i+2 (i.e., -10). Le nom du noeud fantôme est une chaîne de caractères résultant de la concaténation du caractère "*" et du nom du noeud généralisé (le nom de ce noeud fantôme est donc "*France"). Cette construction est appliquée récursivement chaque fois que le nombre de niveaux manquants entre deux noeuds est supérieur à un, mais l'OID global des différents noeuds fantômes est toujours l'opposé de l'OID global du premier noeud généralisé. Un seul noeud fantôme existe pour chaque réseau de noeuds dépendants.

La Figure II-14 et la Figure II-15 représentent la transformation de la Figure II-11 précédente, suite à l'ajout des noeuds Orléans, Blois, Tours, StPierre le Moûtier et Lyon dépendant du noeud France. Elles présentent la hiérarchie du noeud France et les OIDs associés aux différents noeuds de cette hiérarchie.






Figure II-14. Hiérarchie de noeuds


France (10, 0, 0)
Paris (10, 100, 0)

*France (10, -10, 0)


Pte de la Chapelle (10, 100, 230)

Pte d'Orléans (10, 100, 220)

Orléans (10, -10, 665)

Blois (10, -10, 121)

Tours (10, -10, 676)

StPierre le Moûtier (10, -10, 674)

Lyon (10, -10, 120)


Figure II-15. OIDs de noeuds
L'OID d'un noeud possède donc la structure suivante :

type OID_noeud : OID_général



II-2. La hiérarchie des arcs

La hiérarchie des arcs est similaire à la hiérarchie des noeuds. L'OID d'un arc se divise en trois parties. La première (resp. deuxième) partie contient l'OID du noeud initial (resp. final) de l'arc. La troisième partie (la partie arc) contient l'OID général dans la hiérarchie des arcs. La construction de la troisième partie est similaire à la construction de l'OID d'un noeud. Un arc appartient à une hiérarchie d'arcs. Chaque niveau de cette hiérarchie est appelé une couche. Ces couches représentent un niveau particulier d'abstraction. La Figure II-16 présente un exemple de hiérarchie d'arcs, avec deux niveaux d'abstraction. Le noeud Tours qui apparaît dans les couches 1 et 2 est le même noeud.








Figure II-16. Hiérarchie d'arcs
Soit 20 l'OID global associé à l'arc (Paris, Tours), 330 l'OID global associé à l'arc (Pte d'Orléans, Orléans), et 331 l'OID local associé à l'arc (Orléans, Blois), et 332 l'OID local associé à l'arc (Blois, Tours). La Figure II-17 présente les OIDs de ces arcs.


Paris-Tours par A10 ( (10, 100, 0) (10, -10, 676) (20, 0) )

Pte d'Orléans-Orléans par A10 ( (10, 100, 220) (10, -10, 665) (20, 330) )

Orléans-Blois par A10 ( (10, -10, 665) (10, -10, 121) (20, 331) )

Blois-Tours par A10 ( (10, -10, 121) (10, -10, 676) (20, 332) )




Figure II-17. OIDs d'arcs
Dépendant des différents niveaux d'abstraction, une notion d'arc fantôme est créée. Son but est similaire à celui du noeud fantôme. La partie arc d'un arc fantôme suit les mêmes règles que celles des noeuds fantômes. Un unique arc fantôme est défini entre les mêmes noeuds initial et final.

La Figure II-18 présente un exemple de hiérarchie d'arcs contenant des arcs fantômes.








Figure II-18. Hiérarchie d'arcs
Soit 1 l'OID local de l'arc (Paris, Lyon), 420 de l'arc (Pte de la Chapelle, Pte d'Orléans), 421 de l'arc (Tours, StPierre le Moûtier) et 422 de l'arc (StPierre le Moûtier, Lyon). La Figure II-19 présente les OIDs correspondant à ces arcs. Pour simplifier la lecture, les OIDs des noeuds ne sont pas représentés.


Paris-Lyon ( (...) (...) (1, 0, 0) )
Paris-Tours par A10 ( (...) (...) (1, 20, 0) )

Pte d'Orléans-Orléans par A10 ( (...) (...) (1, 20, 330) )

Orléans-Blois par A10 ( (...) (...) (1, 20, 331) )

Blois-Tours par A10 ( (...) (...) (1, 20, 332) )


*Paris-Lyon ( (...) (...) (1, -1, 0) )

Pte de la Chapelle-Pte d'Orléans par Périph. ( (...) (...) (1, -1, 420) )

Tours-StPierre le Moûtier par N76 ( (...) (...) (1, -1, 421) )

StPierre le Moûtier-Lyon par N7 ( (...) (...) (1, -1, 422) )



Figure II-19. OIDs d'arcs
L'OID d'un arc possède donc la structure suivante :

type OID_arc

tuple

(

extrémité_initiale : OID_noeud,



extrémité_finale : OID_noeud,

hiérarchie_d'abstraction : OID_général

);

II-3. La hiérarchie des réseaux

Cette hiérarchie est similaire à la hiérarchie des noeuds. Les règles de construction sont les mêmes. Cependant la notion de réseau fantôme n'existe pas, à ce niveau-là, puisque la hiérarchie des réseaux est complètement définie par celle des noeuds et des arcs.

Notons que la hiérarchie des réseaux représentant les réseaux des noeuds et des arcs, tous les réseaux "feuilles" (c'est-à-dire tous les réseaux ne contenant ni master_noeud ni master_arc) ne se trouvent pas forcément au plus bas niveau de la hiérarchie des réseaux. En effet, si la hiérarchie des noeuds possède, par exemple, trois niveaux, et la hiérarchie des arcs deux niveaux, alors certains réseaux ne possédant plus aucun master_noeud ou master_arc se trouveront au niveau 2 de la hiérarchie des réseaux, alors que d'autres se trouveront au niveau 1 de cette hiérarchie.
L'OID général d'un réseau se divise en deux parties : la partie noeud (ou la partie arc), et la partie ordre. La partie noeud (resp. arc) représente l'OID global du noeud (resp. arc) correspondant à l'abstraction de ce réseau. La partie ordre autorise la distinction entre plusieurs réseaux associés au même noeud.
Un master_noeud peut posséder plusieurs réseaux_associés. Des master_noeuds appartenant à ces réseaux_associés représentent l'abstraction d'autres réseaux. Ces seconds réseaux ont donc plusieurs réseaux pour père dans la hiérarchie des réseaux. La partie ordre est donc assimilée à une liste d'entier (cette partie ordre est toujours égale à une liste composée de l'entier 1 pour le réseau_associé d'un master_arc). Un réseau possédant une hiérarchie de pères aura la liste des ordres de ses pères dans son OID.
Des nouveaux types de base sont donc créés :

type OID_global_réseau

tuple

(

partie_noeud_arc : OID_général,



ordre : ordre

);
et l'OID d'un réseau possède la structure suivante :

type OID_réseau : list (OID_global_réseau);
Pour faciliter la lecture, nous représenterons la partie ordre de l'OID des réseaux sous forme d'une liste uniquement dans le cas où cette liste contient plusieurs éléments. Une liste contenant un seul élément sera représentée par cet élément.
Prenons les hiérarchies de noeuds et d'arcs précédentes.

Le réseau de plus haut niveau d'abstraction contient les noeuds et arcs de plus haut niveau. Il contient donc les noeuds France, Paris, Lyon et l'arc Paris-Lyon. Ce réseau représente l'abstraction d'un noeud fictif d'OID global 10000.








Figure II-20. Réseau de plus haut niveau

Le master_noeud France représente l'abstraction d'un réseau_associé contenant les noeuds Paris, *France, Lyon et l'arc Paris-Lyon.








Figure II-21. Réseau_associé au master_noeud France
Le master_noeud Paris possède un réseau_associé. Ce réseau_associé contient les noeuds Pte de la Chapelle et Pte d'Orléans, et l'arc Périphérique entre Pte de la Chapelle et Pte d'Orléans. Un arc_sortant de ce réseau est l'arc A10 entre Pte d'Orléans et Orléans.






Figure II-22. Réseau_associé au master_noeud Paris
Le master_noeud *France possède un réseau_associé. Ce réseau_associé contient les noeuds Tours et Lyon. Les arcs_entrant de ce réseau sont les arcs A10 entre Paris et Tours, et *Paris-Lyon.






Figure II-23. Réseau_associé au master_noeud *France
Le master_arc Paris-Lyon représente l'abstraction d'un réseau_associé contenant les noeuds Paris, Lyon, Tours, *France et les arcs A10 entre Paris et Tours et *Paris-Lyon. L'arc_entrant de ce réseau est l'arc A10 entre Paris et Tours, et son arc_sortant est l'arc *Paris-Lyon.




Figure II-24. Réseau_associé au master_arc Paris-Lyon
Le master_arc A10 entre Paris et Tours possède un réseau_associé. Ce réseau_associé contient les noeuds Paris, Pte d'Orléans, Orléans, Blois, Tours et *France, et les arcs A10 entre Pte d'Orléans et Orléans, A10 entre Orléans et Blois, A10 entre Blois et Tours. L'arc_entrant de ce réseau est l'arc A10 entre Pte d'Orléans et Orléans. Son arc_sortant est l'arc A10 entre Blois et Tours.






Figure II-25. Réseau_associé au master_arc A10 entre Paris et Tours
Le master_arc *Paris-Lyon possède un réseau_associé. Ce réseau_associé contient les noeuds Paris, Pte de la Chapelle, Pte d'Orléans, Tours, StPierre le Moûtier, Lyon et *France, et les arcs Périphérique entre Pte de la Chapelle et Pte d'Orléans, N76 entre Tours et StPierre le Moûtier, N7 entre StPierre le Moûtier et Lyon. L'arc_entrant de ce réseau est l'arc Périphérique entre Pte de la Chapelle et Pte d'Orléans. Son arc_sortant est l'arc N7 entre StPierre le Moûtier et Lyon.






Figure II-26. Réseau_associé au master_arc *Paris-Lyon
Les OIDs de ces réseaux sont représentés dans la Figure II-27.


Niveau 3 :

Réseau de plus haut niveau ( (10000, 1), (0, 0), (0, 0) )


Niveau 2 :

Réseau du master_noeud France ( (10000, 1), (10, 1), (0, 0) )

Réseau du master_arc Paris-Lyon ( (10000, 1), (1, 1), (0, 0) )
Niveau 1 :

Réseau du master_noeud Paris ( (10000, 1), (10, 1), (100, 1) )

Réseau du master_noeud *France ( (10000, 1), (10, 1), (-10, 1) )

Réseau du master_arc A10 entre Paris et Tours ( (10000, 1), (1, 1), (20, 1) )

Réseau du master_arc *Paris-Lyon ( (10000, 1), (1, 1) , (-1, 1) )


Figure II-27. OIDs de réseaux


Yüklə 2,35 Mb.

Dostları ilə paylaş:
1   ...   5   6   7   8   9   10   11   12   ...   20




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin