• Aucun résultat trouvé

Adaptation du noyau de projet sur micro-ordinateur 16 bits en pascal

N/A
N/A
Protected

Academic year: 2021

Partager "Adaptation du noyau de projet sur micro-ordinateur 16 bits en pascal"

Copied!
71
0
0

Texte intégral

(1)

HAL Id: hal-01888593

https://hal.archives-ouvertes.fr/hal-01888593

Submitted on 5 Oct 2018

HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

To cite this version:

Jean-Pierre Goulette. Adaptation du noyau de projet sur micro-ordinateur 16 bits en pascal. [Rapport de recherche] 236/84, Ministère de l’urbanisme et du logement / Secrétariat de la recherche architec-turale (SRA); Ecole nationale supérieure d’architecture de Toulouse / Laboratoire d’informatique appliquée à l’architecture (LI2A). 1984. �hal-01888593�

(2)
(3)

l ' A r c h i t e c t u r e , S e c r é t a r i a t de la R e c h e r c h e A r c h i t e c t u r a l e . A D A P A T I O N DU N O Y A U DE " P R O J E T " S U R M I C R O - O R D I N A T E U R 16 B I T S EN P A S C A L J e a n — P i e r r e G O U L E T T E R A P P O R T F I N A L DE R E C H E R C H E Le p r é s e n t d o c u m e n t c o n s t i t u e le r a p p o r t -final d une r e c h e r c h e r e m i s e au S e c r é t a r i a t de la R e c h e r c h e A r c h i t e c t u r a l e en e x é c u t i o n du p r o g r arrime g é n é r a l de r e c h e r c h e m e n é par le M i n i s t è r e de l ' U r b a n i s m e et du L o g e m e n t avec le M i n i s t è r e de l ' I n d u s t r i e et de la R e c h e r c h e . L e s j u g e m e n t s et o p i n i o n s é m i s par les r e s p o n s a b l e s de la r e c h e r c h e n ' e n g a g e n t que l e u r s a u t e u r s . R e s p o n s a b 1e s c i e n t i f i q u e Mi c h e 1 L E G L I S E L I 2 A , Mai 1 9 3 4

(4)

P R E S E N T A T I O N G E N E R A L E

La r e c h e r c h e p o r t a i t sur l ' a d a p t a t i o n en P a scal du n o y a u du l ogiciel de C o n c e p t i o n A s s i s t é e par O r d i n a t e u r “P r o j e t " ( I m p l a n t é au C e n t r e d ' i n f o r m a t i q u e et de M é t h o d o loq i e en A r c h i t e c t u r e ) . C e t t e p r o j e c t i o n du F o r t r a n v e r s le Pasc al d e v a i t s ' a p p u y e r sur les p o s s i b i l i t é s de ce d e r n i e r l a n q a g e et i n d u i r e c e r t a i n e s m o d i f i c a t i o n s c o n f o r m e s à une p e r s p e c t i v e de c o n n e x i o n s f u t u r e s avec l ' i n t e l l i g e n c e a r t i ­ f i c i e l l e . C e t t e a d a p t a t i o n a été r é a l i s é e et le l o g i c i e l r é s u l t a n t est i m p l a n t é sur B F M 186.

C e p e n d a n t il n o u s a s e m b l é n é c e s s a i r e de p o u s s e r l ' é t u d e un peu p l u s a v a n t par une r é a l i s a t i o n p e r m e t t a n t l ' u t i l i s a t i o n r é e l l e de la ba s e de d o n n é e s que n o u s v e n i o n s d ' é t a b l i r . C e t t e d e r n i è r e p h a s e a c o n s i s t é en la d é f i n i t i o n et l ' é c r i t u r e d ' u n e i n t e r f a c e e n t r e le n o y a u de la b a s e et un p r o g r a m m e d ' é d i t i o n g r a p h i q u e ( P A D A O ) . La b a s e d o c u m e n t : " en C o n c e p t i on d ' A r c h i t e c t u r e C o n s t r u c t i on , et sa s t r u c t u r e sont d é c r i t e s d a n s le ' P r o j e t ' , une b a s e de d o n n é e s r e l a t i o n n e l l e s A s s i s t é e par O r d i n a t e u r , p o u r le p r o j e t ", M a r c h é N " 81 6 1 1 5 6 00 2 2 3 75 01 du P l a n Se p t em b r e 1982. Le C e n t r e d ' i n f o r m a t i q u e et de M é t h o d o l o g i e en A r c h i t e c t u r e n o u s a fourni un c a h i e r d e s c h a r g e s c o m p e que n o u s a v o n s r e s p e c t é et auquel n o u s a v o n s a p p o r t é c e r t a i n e s a m é l i o r a t i o n s ne m o d i f i a n t p a s la d é m a r c h e de c o m m u n i c a t i o n avec la base.

(5)

N o u s r a p p e l o n s b r i è v e m e n t ici la s t r u c t u r e de la b a s e de " P r o j e t " . Le n o y a u de la base de d o n n é e s est d i v i s é en d e u x b l o c s : - Un n o y a u que n o u s n o m m e r o n s " N o y a u R e l a t i o n n e l " (par a b r é v i a t i o n N R , d a n s la s u i t e de ce t e xte p o u r p l u s de c o m m o d i t é ) p o s s é d a n t q u a t r e t y p e s de c e l l u l e s ( O b j e t , R e l a ­ tion A s s o c i a t e u r , D o n n é e ) p o u v a n t êt r e a s s o c i é e s et d o n n e r l i e u ' à la dé-finition d' une i n f o r m a t i o n d ' o r d r e s y n t a x i q u e e n t r e les d i v e r s é l é m e n t s c o n s t i t u t i-f s d' u n b a t i m e n t . — Un a u t r e n o y a u que n o u s n o m m e r o n s N o y a u H i é r a r c h i que (par a b r é v i a t i o n NH) ne p o s s é d a n t q' u n seul type de c e l l u l e s p o u v a n t être a s s o c i é e s par d e s c o n s i d é r a t i o n s d ' o r d r e h i é r a r c h i q u e . C ' e s t un bl o c à s t r u c t u r e de liste a n i v e a u v a r i a b l e p e r m e t t a n t une d é c o m p o s i t i o n s i m p l e d un b a t i m e n t et un p a r c o u r s r a p i d e e n t r e c e s é l é m e n t s c o n s itu tifs. C ' e s t d a n s ce b l o c que n o u s m é m o r i s e r o n s de p r é f é r e n ­ ce les d e s c r i p t e u r s p h y s i q u e s d e s é l é m e n t s . N o u s é t u d i e r o n s c e s de u x b l o c s s é p a r é m e n t .

(6)

NR, LE N O Y A U R E L A T I O N N E L Il a p o u r but l ' é t a b l i s s e m e n t de l i s t e s de r e l a t i o n a-f-fectées à d e s o b j e t s . Il d o n n e à l ' u t i l i s a t e u r la p o s ­ s i b i l i t é de " t i s s e r " (par le b i a i s d e s c e l l u l e s de type O b j e t , R e l a t i o n , A s s o c i a t e u r et d e s p r i m i t i v e s de g e s t i o n p r é s e n t é e s c i - d e s s o u s ) un s c h é m a r e l a t i o n n e l e n t r e s e s d o n ­ n é es. Le type de ce s c h é m a p e u t se p r é s e n t e r de la m a n i è r e s u i v a n t e : l ' O b j e t , 01, p o i n t e sur la R e l a t i o n , R, qui p o i n t e e l l e - m ê m e (è t r a v e r s un A s s o c i a t e u r ) sur l ' O b j e t 02. 01 et 02 s o n t m i s en r e l a t i o n par R ; on p e u t é c r i r e 01 R 02. Le n o m b r e de R e l a t i o n s sur lequel p e u t p o i n t e r un O b j e t est in-fini (en t h é o r i e ) ainsi que le n o m b r e s d ' A s s o c i a t e u r s a-f-f ec tabl es à c h a c u n e de c e s R e l a t i o n s . Il y a c r é a t i o n d ' u n e s t r u c t u r e de g r a p h e p r é s e n t é e d a n s le s c h é m a de la pa g e s u i v a n t e .

R e p r é s e n t a t i o n l o g i q u e :

N R est c o n s t i t u é d' u n e n s e m b l e de c e l l u l e s de n a t u r e d i f-f ér en tes p o s s é d a n t c h a c u n e un n u m é r o 1 ' i den t i-f i an t d ' u n e m a n i è r e b i j e c t i v e à l ' i n t é r i e u r de l ' e n s e m b l e . Ce n u m é r o

est le " c o n t a c t " de N R avec le m o n d e e x t é r i e u r et l ' a c t e u r p r i v i l é g i é d e s -fonctions r é g i s s a n t la bas e . Une c e l l u l e c o n t i e n t de p l u s di-f-férents p a r a m è t r e s d é c r i v a n t une p e r ­ s o n n a l i s a t i o n q u e l c o n q u e ( l a i s s é e à la d i s p o s i t i o n de 1 u t i l i s a t e u r ) et s e s l i e n s avec l ' e n v i r o n n e m e n t .

L ' e n s e m b l e de c e s c e l l u l e s ne r é s i d e p a s en i n t é g r a ­ lité en m é m o i r e c e n t r a l e , il est " p a g i n é " : s e u l e s les c e l l u l e s i n t é r e s s a n t les a c t i o n s p r é s e n t e s s o n t a c c e s s i b l e s d i r e c t eme n t .

(7)
(8)

R e p r é s e n t a t i o n p h y s i q u e :

tsjR est c on s-titué d / un -fichier à a c c è s d i r e c t don t c h a q u e e n r e g i s t r e m e n t c o r r e s p o n d à une c e l l u l e . Ce -fichier est d é c o m p o s é en t a b l e a u x ( p a g e s ) de c i n q u a n t e c e l l u l e s ; s e u l s q u a t r e de c e s t a b l e a u x (et d o n c d e u x c e n t s c e l l u l e s ) so n t p r é s e n t s en m é m o i r e c e n t r a l e à un i n s t a n t d o n n é ( c e s d e u x v a l e u r s p a r a m é t r a n t l ' o r g a n i s a t i o n en m é m o i r e de N R so n t d é c l a r é e s en c o n s t a n t e s en d é b u t du p r o g r a m m e P a sca l et p e u v e n t être a i s é m e n t modi-fiées). L ' a l g o r i t h m e de p a g i n a t i o n u t i l i s é est 1 a l g o r i t h m e L R U ( L e a s t R e c e n t l y Use d ) : l o r s q u ' u n m o d u l e e f f e c t u e une d e m a n d e d ' a c c è s à une p a g e ne r é s i d a n t p a s en m é m o i r e c e n t r a l e , la p a g e "la p l u s a n c i e n n e m e n t u t i l i s é e " est é c a r ­ tée p o u r l a i s s e r p l a c e à la p a g e d e m a n d é e . C e t t e pa g e " é c a r t é e " est r e c o p i é e sur d i s q u e si elle a été m o d i f i é e en m é m o i r e c e n t r a l e . Il est donc a s s o c i é à c h a q u e p a g e une v a r i a b l e i n d e x a n t son a n c i e n e t é de c o n s u l t a t i o n et un b o o

léen f o r c é à "True" 1o r s q u e la p a g e est m o d i f i é e .

L ' i d e n t i f i c a t i o n d ' u n e c e l l u l e c o r r e s p o n d do n c son n u m é r o d ' e n r e g i s t r e m e n t sur le f i c h i e r et est " t r a d u i t " , à c h a q u e appel de c e l l u l e , en un index de t a b l e a u par les f o n c t i o n s de g e s t i o n i n t e r n e de N R . Le n u m é r o d ' u n e c e l l u l e s u p p r i m é e est m é m o r i s é d a n s une p i l e de p o i n t e u r s ( a d r e s s e s s e g m e n t é e s ) de m a n i è r e à ê t r e r é u t i l i s é lo r s d ' u n e p r o c h a i n e c r é a t i o n de c e l l u l e . C e t t e p i l e de p o i n t e u r s est d é v e r s é e sur un f i c h i e r s é q u e n ­ tiel à la m i s e à jo u r f i n a l e de la b a s e et s e r a r é i n c o r p o r é e en m é m o i r e c e n t r a l e l o r s d une p r o c h a i n e initial i sa t i o n .

(9)

D e s c r i p t i o n d e s c e l l u l e s : La n a t u r e d e s c e l l u l e s est d é c l a r é e en tête de p r o ­ g r a m m e d a n s un T y p e Pascal : T y p e N a t _ C e 1 = (Obj ,R e 1 ,A s s ,D o n ) ; La c e l l u l e Ob.j e t : - S t r u c t u r e in t e r n e : E l l e p o s s è d e en p r e m i e r lieu une v a r i a b l e (de type N a t _ C e l > " a t t e s t a n t " q u ' e l l e est b i e n un O b j e t et s e r v a n t au d é c a l a g e d e s e r r e u r s p o u v a n t s u r v e n i r au c o u r s d ' u n e c o m m u n i c a t i o n av e c N R . E l l e p o s s è d e de p l u s un C o d e (-formé par une chai ne de t r o i s c a r a c t è r e s ) p e r m e t ­

tant une " p e r s o n n a l i s a t i o n " de l ' o b j e t et un M o t (un e n t i e r c o d é sur de u x o c t e t s ) qui est g é n é r a l e m e n t u t i l i s é p o u r m é m o r i s e r le n u m é r o de la c e l l u l e h o m o l o g u e d a n s NH. T r o i s p o i n t e u r s ( t r o i s n u m é r o s de c e l l u l e s do n c t r o i s e n t i e r s ) d é c r i v e n t s e s r a p p o r t s avec l ' e n v i r o n n e m e n t .

- R a p p o r t avec l ' e n v i r o n n e m e n t : T r o i s p o i n t e u r s .

Un p o i n t e u r i n d i q u a n t le n u m é r o du s u c c e s s e u r d a n s la liste de r e l a t i o n (une c e l l u l e de type R e l a t i o n ) .

Un p o i n t e u r i n d i q u a n t le n u m é r o du s u c c e s s e u r d a n s la lis t e de d é p e n d a n c e (une c e l l u l e de type A s s o c i a t e u r ) .

Un p o i n t e u r i n d i q u a n t le n u m é r o du s u c c e s s e u r d a n s la liste de d o n n é e s (une c e l l u l e de type Don née).

La c e l l u l e R e 1 a t i on : - S t r u c t u r e i n t e r n e : T o u t c o m m e la c e l l u l e O b j e t e l l e p o s s è d e une v a r i a b l e de type N a t _ C e l , un C o d e et un M o t . E l l e di-f-fère de la c e l l u l e O b j e t d a n s s e s r a p p o r t s avec 1 'envi r o n n e m e n t . - R a p p o r t avec l ' e n v i r o n n e m e n t : T r o i s P o i n t e u r s . Un p o i n t e u r i n d i q u a n t le n u m é r o du s u c c e s s e u r d a n s la lis t e de r e l a t i o n (une c e l l u l e de type R e l a t i o n ) .

Un p o i n t e u r i n d i q u a n t le n u m é r o de la la tête de lis t e de r e l a t i o n s (une c e l l u l e de type O b j e t c o n s t i t u a n t la tête de l i ste de t o u t e s les r e l a t i o n s c h a î n é e s par le p r e m i e r p o i n t e u r ) .

Un p o i n t e u r i n d i q u a n t le n u m é r o du s u c c e s s e u r d a n s la l i s t e d ' a s s o c i a t i o n (une c e l l u l e de type a s s o c i a t e u r ) .

(10)

La c e l l u l e A s s o c i a t e u r : - S t r u c t u r e i n t e r n e : E l l e p o s s è d e une v a r i a b l e de type N a t _ C e l , un C o d e ( C h a i n e de T r o i s c a r a c t è r e s ) et q u a t r e p o i n t e u r s . - R a p p o r t avec l ' e n v i r o n n e m e n t : Q u a t r e p o i n t e u r s Un p o i n t e u r i n d i q u a n t le n u m é r o de la tête de liste d ' a s s o c i a t i o n (une c e l l u l e de type R e l a t i o n , tête de lis t e de to u s les A s s o c i a t e u r s c h a î n é s par le q u a t r i è m e p o i n - teur ) . Un p o i n t e u r i n d i q u a n t le n u m é r o de la tête de lis t e O b j e t c o n s t i t u a n t le de d é p e n d a n c e (une c e l l u l e de type m e m b r e d r o i t d ' u n e r e l a t i o n 01 R 02). Un p o i n t e u r i n d i q u a n t le n u m é r o du lis t e de d é p e n d a n c e (une c e l l u l e de type m ê m e tête de liste de d é p e n d a n c e ) .

Un p o i n t e u r i n d i q u a n t le n u m é r o du liste d ' a s s o c i a t i o n (une c e l l u l e de type m ê m e tête de liste d ' a s s o c i a t i o n ) . s u c c e s s e u r d a n s la A s s o c i a t e u r a y a n t A s s o c i a t e u r a y a n t La c e l l u l e D o n n e e : - S t r u c t u r e in t e r n e : E l l e p o s s è d e une v a r i a b l e de t>pe N a t _ C e 1 , un Co d e ( c h a î n e de t r o i s c a r a c t è r e s ) , t r o i s M o t s ( t r o i s e n t i e r s ) et un p o i n t e u r . - R a p p o r t avec l ' e n v i r o n n e m e n t : Un p o i n t e u r i n d i q u a n t le n u m é r o de la c e l l u l e s u u c c e - s s e u r d a n s la liste de d o n n é e s (une c e l l u l e de type D o n ­ née ) .

(11)

E l l e s se d i v i s e n t en de u x t y p e s : - L e s p r i m i t i v e s de g e s t i o n i n t e r n e qui g è r e n t la r e p r é s e n t a t i o n p h y s i q u e , la c o h é r e n c e , la p a g i ­ n a t i o n . . . , et qui ne s e r o n t p a s d é t a i l l é e s ici p u i s q u ' e l l e s sont i n v i s i b l e s par l ' u t i l i s a t e u r . - L e s p r o c é d u r e s de c o m m u n i c a t i o n qui a s s u r e n t 1 ' i n t e r f a c e de la b a s e avec le p r o g r a m m e u t i l i ­ s a t e u r et qui sont do n c d é t a i l l é e s c i - d e s s o u s . L ' e n s e m b l e de c e s p r o c é d u r e s de c o m m u n i c a t i o n p e u t ê t r e s u b d i v i s é en ci n q g r a n d s g r o u p e s : - P r o c é d u r e s de c o m m a n d e s . - C r é a t i o n de c e l l u l e s . - T r a n s f e r t de d o n n é e s . - P a r c o u r s de la base. - S u p p r e s s i o n de c e l l u l e s . L e s p r o c é d u r e s de N R L e s p r o c é d u r e s de c o m m a n d e : Ce sont d e s p r o c é d u r e s d ' i n i t i a l i s a t i o n et de fer m e t u r e de la base. Un T y p e “C h a i n e 8 " est d é c l a r é en tête de p r o g r a m m e et c o r r e s p o n d à une c h a i n e de h u i t c a r a c t è r e s . - F u n c t i on C r N R (N o m : C h a i n e 8 ) : B o o l e a n ; C r é a t i o n d' u n f i c h i e r d i r e c t de c e l l u l e s de n o m N o m . Si un f i c h i e r e x i s t e d é j à s o u s le n o m N o m la f o n c t i o n est a v o r t é e et sa v a l e u r est m i s e à " F a l s e (ceci p o u r é v i t e r la d e s t r u c t i o n d ' u n e b a s e e x i s t a n t d é j à s o u s le m ê m e nom ) . Si la c r é a t i o n du f i c h i e r se p a s s e s a n s p r o b l è m e , la f onc t i on r e t ou rne " T rue". Le pr em ier e n r e g i s t r eme n t du f i c h i e r est r é s e r v é po u r m é m o r i ser le n o m b r e total de c e l l u l e s c r é é e s ; la p r e m i è r e c e l l u l e p r e n d r a d o n c 2 c o m m e n u m é r o . - F u n c t i on In i t F N R ( N o m : C h a i n e 8) :E o o l e a n ; O u v e r t u r e d' u n f i c h i e r d i r e c t de c e l l u l e s de n o m N o m . Si le f i c h i e r de n o m N o m n ' e s t p a s p r é s e n t sur d i s q u e la f o n c t i o n est a v o r t é e et sa v a l e u r est m i s e à “F a l s e . Si l ' o u v e r t u r e du f i c h i e r se p a s s e s a n s p r o b l è m e , e l l e est s u i v i e d ' i n i t i a l i s a t i o n s d i v e r s e s p o u r les p r o c é d u r e s in­ t e r n e s à N R (en p a r t i c u l i e r p o u r la g e s t i o n d e s c e l l u l e s v i d e s , s'il y en a) et la f o n c t i o n r e t o u r n e “T r u e " . - P r o c e d u r e F i n N R ; F e r m e t u r e du f i c h i e r d i r e c t de c e l l u l e s o u v e r t par une d e s d e u x f o n c t i o n s p r é c é d e n t e s .

(12)

Un T y p e C h a i n e 3 est d é c l a r é en tête de p r o g r a m m e et c o r r e s p o n d à une c h a i n e de t r o i s c a r a c t è r e s , ainsi q u ' u n type T a b D o n c o r r e s p o n d a n t à un t a b l e a u de t r o i s e n t i e r s . La s e u l e e r r e u r p o u v a n t s u r v e n i r est le d é p a s s e m e n t de la v a l e u r e n t i è r e m a x i m a l e r e p r é s e n t a b l e par la m a c h i n e p o u r la n u m é r o t a t i o n de la c e l l u l e ( " o v e r f l o w " du -fichier). C e t t e e r r e u r est " t r â p é e " par le p r o g r a m m e qui a-f-fecte, d a n s ce cas, la v a l e u r z é r o à la -fonction. La v a l e u r du Co d e c o m m u n i q u é c o m m e p a r a m è t r e de la f o n c t i o n ne p e u t êt r e (po u r d e s r a i s o n s que n o u s v e r r o n s au c h a p i t r e c o n c e r n a n t les p r o c é d u r e s de p a r c o u r s de la bas e ) la c h a i n e de c a r a c t è r e s : '0' (zéro, de type c a r a c t è r e ) . Si un tel C o d e est p a s s é en p a r a m è t r e d ' u n e f o n c t i o n de c r é a ­ tion, la f o n c t i o n a v o r t e et p r e n d la v a l e u r z é ro. - F u n c t i o n N e w Q b j (C : C h a i n e S ; M o t :I n t e g e r ) :I n t e g e r ; C r é a t i o n d ' u n e c e l l u l e O b j e t isolé de c o d e C et de m o t M o t . La f o n c t i o n r e t o u r n e le n u m é r o de la c e l l u l e c r é é e . L e s p r o c é d u r e s de c r é a t i o n de c e l l u l e s . - F u n c t i o n N e w R e 1 ( N c Q b j : I n t e g e r ; C : C h a i n e ; M o t : I n t e g e r ) : I n t e g e r ; C r é a t i o n d ' u n e c e l l u l e R e l a t i o n de c o d e C et de m o t

M o t . C e t t e c e l l u l e est p l a c é e en tête de liste de r e l a t i o n de l ' O b j e t N c O b j avec une liste d ' a s s o c i a t i o n v i d e . La f o n c t i o n r e t o u r n e le n u m é r o de la c e l l u l e c r é é e .

- F u n c t i on N e w A s s ( N c O b j ,NcRel : I n t e g e r ; C : C h a i n e 3 ) : In t e g e r ; C r é a t i o n d ' u n e c e l l u l e A s s o c i a t e u r de c o d e C. C e t t e c e l l u l e est p l a c é e en tête de liste de d é p e n d a n c e de l ' O b ­ jet N c O b j et en tête de liste d ' a s s o c i a t i o n de la R e l a t i o n N c R e l . La f o n c t i o n r e t o u r n e le n u m é r o de la c e l l u l e c r é é e .

- F u n c t i o n S u c c A s s ( N c Q b j ,N e A s s :I n t e g e r ;C :C h a i ne3) :I n t e g e r ; C r é a t i o n d ' u n e c e l l u l e A s s o c i a t e u r de c o d e C. C e t t e c e l l u l e est p l a c é e en tête de lis t e de d é p e n d a n c e de l ' O b ­ jet N c O b j et sur la lis t e d ' a s s o c i a t i o n à l a q u e l l e a p p a r ­ tient N c A s s , à la s u i t e de c e t t e d e r n i è r e . La f o n c t i o n r e t o u r n e le n u m é r o de la c e l l u l e c r é é e .

- F u n c t i on NeuiDat (NcObj : I n t e g e r ;C:Chai ne3; I t a b : T a b D o n ) : I n t e g e r C r é a t i o n d ' u n e c e l l u l e D o n n é e de c o d e C. C e t t e c e l ­

lule est " r e m p l i e " avec les v a l e u r s du t a b l e a u I t a b et est p l a c é e en fin de liste de d o n n é e de l ' O b j e t N c O b j . La f o n c t i o n r e t o u r n e le n u m é r o de la c e l l u l e c r é é e .

(13)

D a n s c e s p r o c é d u r e s , un n u m é r o de c e l l u l e est c o m m u ­ n i q u é à NR. Si ce n u m é r o c o r r e s p o n d à un c e l l u l e v a l i d e la f o n c t i o n est e x e c u t é e n o r m a l e m e n t ( a v e c c e r t a i n e s r e s t r i c ­ t i o n s d u e s à la n é c e s s a i r e c o m p a t i b i l i t é e n t r e le type de la c e l l u l e et l ' o p é r a t i o n d e m a n d é e ) . D a n s le c a s c o n t r a i r e ( c e l l u l e i n e x i s t a n t e ou s u p p r i m é e ) la f o n c t i o n r e t o u r n e "une v a l e u r n u l l e " (que ce soit, s u i v a n t le cas, un e n t i e r , un t a b l e a u ou une c h a î n e de c a r a c t è r e s ) et un m e s s a g e d ' e r r e u r est e n v o y é à l ' é c r a n . N o u s a v o n s p r i s c e t t e l i b e r t é , l ' e x p é r i e n c e n o u s a y a n t m o n t r é que la p r é s e n c e de c e s m e s s a g e s f a c i l i t a i t g r a n d e m e n t la m i s e au p o i n t d e s i n t e r f a c e s a v e c les p r o g r a m m e s u t i l i s a t e u r ( c e s m e s s a g e s ne d e v a n t p l u s a p p a r a t t r e d è s que que le p r o g r a m m e a p p e l a n t est c o r r e c t ) . N o u s a v o n s do n c p r é f é r é c e t t e m é t h o d e è. c e l l e qui a u r a i t c o n s i s t é à écri're s y s t é m a t i q u e m e n t d e s f o n c t i o n s qui r e t o u r n e r a i e n t un co d e d ' e r r e u r . L e s p r o c é d u r e s de t r a n s f e r t de d o n n é e s : - F u n c t i o n L i r D a t ( N c D : I n t e q e r ) : T a b D o n ; C e t t e f o n c t i o n r e t o u r n e le t a b l e a u de d o n n é e s c o n t e n u d a n s la c e l l u l e N c D . Si la c e l l u l e n ' e s t p a s du type D o n ­ née, un m e s s a g e ( " L E C T U R E I M P O S S I B L E " ) est e n v o y é è l ' é c ­ ran et la f o n c t i o n r e t o u r n e un t a b l e a u de t r o i s z é r o s . - F u n c t i o n Li r c o d ( N c :I n t e o e r ) : C h a i ne3; C e t t e f o n c t i o n r e t o u r n e le c o d e de la c e l l u l e de n u m é r o Ne. A u c u n e r e s t r i c t i o n n ' e s t f a i t e sur le type de la c e 1 Iule.

- F u n c t i o n Li r M o t ( N c :I n t e o e r ) :I n t e o e r ;

C e t t e f o n c t i o n r e t o u r n e le M o t de la c e l l u l e de n u m é r o Ne. Si la c e l l u l e est du type A s s o c i a t e u r (ne c o n t e ­ na n t p a s de M o t ) , un m e s s a g e ( " L E C T U R E I M P O S S I B L E " ) est e n v o y é à l ' é c r a n et la f o n c t i o n p r e n d la v a l e u r n u l l e . - P r o c e d u r e M o d D a t ( N c D : I n t e g e r ; N d a t a : T a b D o n ) ; C e t t e p r o c é d u r e r e m p l a c e le t a b l e a u de d o n n é é s de la c e l l u l e de n u m é r o N c D par le t a b l e a u N d a t a . Si la c e l l u l e n ' e s t p a s du type D o n n é e , un m e s s a g e ( " M O D I F I C A T I O N I M P O S ­ S I B L E " ) est e n v o y é à l ' é c r a n . - P r o c e d u r e M o d C o d ( N c : I n t e ç e r ; C : C h a i n e 3 ) ; C e t t e p r o c é d u r e r e m p l a c e le C o d e de la c e l l u l e de n u m é r o Ne par la v a l e u r de C. Si C a p o u r v a l e u r '0', la p r o c é d u r e a v o r t e et un m e s s a g e ( " M O D I F I C A T I O N I M P O S S I B L E " ) est e n v o y é à l ' é c r a n .

(14)

- P r o c e d u r e M o d M o t ( N e , I n f o : I n t e g e r ) ; C e t t e p r o c é d u r e r e m p l a c e le M o t de 1 n u m é r o Ne par la v a l e u r c o n t e n u e d a n s Info,

est du type A s s o c i a t e u r (ne c o n t e n a n t p a s de M o t ) m e s s a g e ( " M O D I F I C A T I O N I M P O S S I B L E " ) la p r o c é d u r e a v o r t e . a c e l l u l e de Si la c e l l u l e un e t est e n v o y é à 1 ''écran L e s p r o c é d u r e s de p a r c o u r s de la b a s e : - F u n c t i o n Nx t D e p ( N c o a : I n t e g e r ; C : C h a i n e 3 ) : I n t e g e r ; Si C est d i f f é r e n t de '0', c e t t e f o n c t i o n p a r c o u r t la lis t e de d é p e n d a n c e de la c e l l u l e N c o a ( O b j e t ou A s s o c i a - teur), à p a r t i r de la c e l l u l e N c o a (non c o m p r i s e ) j u s q u ' a u p r e m i e r a s s o c i a t e u r a y a n t le c o d e C d o n t el l e r e t o u r n e le n u m é r o . Si a u c u n A s s o c i a t e u r de la 1 iste n 'a le c o d e C la f o n c t i o n r e t o u r n e la v a l e u r zéro. Si C est égal k '0', la f o n c t i o n r e t o u r n e le n u m é r o de la c e l l u l e A s s o c i a t e u r s u i v a n t la c e l l u l e N c o a sur la lis t e de d é p e n d a n c e (ou r e t o u r n e z é r o si N c o a est fin de l i s t e ) . Si la c e l l u l e de n u m é r o N c o a n ' e s t ni de type O b j e t , ni de type A s s o c i a t e u r , la f o n c t i o n r e t o u r n e zéro. - F o n c t i o n Nx t A s s ( N c r a : I n t e g e r ; C : C h a i n e S ) : In t e g e r ; Si C est d i f f é r e n t de '0', c e t t e f o n c t i o n p a r c o u r t la lis t e d ' a s s o c i a t i o n de la c e l l u l e N c r a ( R e l a t i o n ou A s s o ­ c i a t e u r ) , à p a r t i r de la c e l l u l e N c r a (non c o m p r i s e ) j u s q u ' a u p r e m i e r A s s o c i a t e u r a y a n t le c o d e C d o n t el l e r e t o u r n e le n u m é r o . Si a u c u n A s s o c i a t e u r de 1 a 1 iste n ' a le c o d e C la f o n c t i o n r e t o u r n e la v a l e u r zéro. Si C est égal à 'Û', la f o n c t i o n r e t o u r n e le n u m é r o de la c e l l u l e A s s o c i a t e u r s u i v a n t la c e l l u l e N c r a sur la lis t e d ' a s s o c i a t i o n (ou r e t o u r n e z é r o si N c r a est fin de 1 i s t e ) . Si la c e l l u l e de n u m é r o N c r a n ' e s t ni du type R e l a ­ tion, ni du type A s s o c i a t e u r , la f o n c t i o n r e t o u r n e z é r o . - F u n c t i o n Nx t R e 1 ( N c r o :I n t e g e r ;C :C h a i n e 3 ) : I n t e g e r ; Si C est d i f f é r e n t de '0', c e t t e f o n c t i o n p a r c o u r t 1 l i s t e de r e l a t i o n de la c e l l u l e N c r o ( O b j e t ou R e l a t i o n ) , p a r t i r de la c e l l u l e N c r o (non c o m p r i s e ) j u s q u ' à la p r e ­ m i è r e R e l a t i o n a y a n t le c o d e C d o n t e l l e r e t o u r n e le n u m é ­ ro. Si a u c u n e R e l a t i o n de la l i s t e n ' a le c o d e C la f o n c ­ tion r e t o u r n e zéro. Si C est égal à '0', la f o n c t i o n r e t o u r n e le n u m é r o de la c e l l u l e R e l a t i o n s u i v a n t N c r o sur la liste' de r e l a ­ tion (ou r e t o u r n e z é r o si N c r o est fin de l i s t e ) .

Si la c e l l u l e de n u m é r o N c r o n ' e s t ni du type R e l a ­ tion, ni du type O b j e t , la f o n c t i o n r e t o u r n e z é r o .

(15)

en 3 - F u n c t i on Nx t P a t ( N c o d : I n t e g e r ; C : C h a i n e 3 ) : I n t e g e r ; Si C est d i f f é r e n t de '0', c e t t e f o n c t i o n p a r c o u r t la l i ste " de d o n n é e s de la c e l l u l e N c o d ( O b j e t ou D o n n é e ) , à p a r t i r de la c e l l u l e N c o d (non c o m p r i s e ) j u s q u ' à la p r e - ière D o n n é e a y a n t le co d e C do n t el l e r e t o u r n e le n u m é r o , i a u c u n e D o n n é e de la liste n ' a le c o d e C la f o n c t i o n re t o u r n e z é r o . Si C est éqal à '0', la f o n c t i o n r e t o u r n e le n u m é r o de la c e l l u l e D o n n é e s u i v a n t N c o d sur la lis t e de d o n n é e s

(ou r e t o u r n e z é r o si N c o d est fin de li s t e ) .

Si la c e l l u l e de n u m é r o N c o d n ' e s t ni du type O b j e t , ni du type D o n n é e , la f o n c t i o n r e t o u r n e zéro.

— F n n r t i o n L h d O b j (N era : I n t e g e r): I n t e g e r ;

C e t t e f o n c t i o n r e t o u r n e le n u m é r o de l ' O b j e t tête de lis t e de r e l a t i o n si la c e l l u l e N c r a est de type R e l a t i o n , ou le n u m é r o de l ' O b j e t tête de liste de d é p e n d a n c e si la c e l l u l e N c r a est de type A s s o c i a t e u r . Si la c e l l u l e de n u m é r o N c r a n ' e s t ni de type R e l a ­ tion, ni de type A s s o c i a t e u r , la f o n c t i o n r e t o u r n e zér o . - F u n c t i o n L h d R e l (Ne a : I n t e g e r ): I n t e g e r ; C e t t e f o n c t i o n r e t o u r n e le n u m é r o de la R e l a t i o n de l i s t e d ' a s s o c i a t i o n c o n t e n a n t 1 ' A s s o c i a t e u r N c a . Si la c e l l u l e de n u m é r o N c a n ' e s t p a s du type c i a t e u r , la f o n c t i o n r e t o u r n e zéro. tête A s s o

(16)

-L e s p r o c é d u r e s de s u p p r e s s i o n de c e l l u l e s : C e s c e 1 Iule type) et c e 1 I u l e s p r o c é d u r e s l i b è r e n t la p l a c e o c c u p é e par une d ' u n type p a r t i c u l i e r <une p r o c é d u r e p o u r c h a q u e insère son n u m é r o d a n s la p i l e d e s p o i n t e u r s de v i d e s . " P r o c e d u r e Su o D o n (N c O b j jNcd ï I n t e g e r ) , C e t t e p r o c é d u r e s u p p r i m e la c e l l u l e D o n n é e de n u m é r o N e d a p p a r t e n a n t à la liste de d o n n é e s de l ' O b j e t N c O b j . Si la c e l l u l e de N u m é r o N c d n ' e s t p a s du type D o n n é e , ou si la c e l l u l e de n u m é r o N c O B j n ' e s t p a s du type O b j e t , la p r o c é d u r e a v o r t e . — P r o c e d u r e Sup da t (N e o : In t e g e r ); C e t t e p r o c é d u r e s u p p r i m e t o u t e s les c e l l u l e s de la lis t e de d o n n é e s de l ' O b j e t N c o . Si la c e l l u l e de n u m é r o N e o n ' e s t p a s du type O b j e t , la p r o c é d u r e a v o r t e . — P r o c é d u r e Su o A s s (N c a : I n t e g e r ) ; C e t t e p r o c é d u r e s u p p r i m e la c e l l u l e A s s o c i a eur de n u m é r o N c a et m e t à jo u r les l i s t e s de d é p e n d a n c e et d a s ­ s o c i a t i o n auquel 1 es e l l e a p p a r t e n a i t . ~ 3i la c e l l u l e de n u m é r o N c a n ' e s t p a s du type A s s o c i a t e u r , la p r o c é d u r e a v o r t e . de n u m é - é t a i t la — P r o c e d u r e S u p R e 1 (N c r i l n t e g e r ) , C e t t e p r o c é d u r e s u p p r i m e la c e l l u l e R e l a t i o n ro N c r , s u p p r i m e U liste d ' a s s o c i a t i o n dont el l e tète et m e t à jo u r la liste de r e l a t i o n à l a q u e l l e e l l e a p p a r t e n a i t ^ d(? n u m é r o N c r n 'est p a s de type R e l a ­ tion, la p r o c é d u r e a v o r t e N c o ainsi d é p e n d a n c e s pr i m é s ) . Si la 1 a p r o c é d u r e - P r o c e d u r e S u p O b j ( N c o : I n t e g e r ) ; C e t t e p r o c é d u r e s u p p r i m e la c e l l u l e O b j e t de n u m é r o que s e s l i s t e s de d o n n é e s , de r e l a t i o n et de (dont t o u s les é l é m e n t s c o n s t i t u t i f s s o n t s u p -c e 1 Iule a v o r t e de n u m é r o N c o n est p a s du type O b j e t , à l ' u t i l i s a t e u r de NR, 1 a de N o u s p r o p o s o n s en a p p e n d i c e . .iirsô = l e c t u r e d ' u n " l i s t i n g “ c o m p o r t a n t tou t e f . 1 ** J ^ d e d e s c o m m u n i c a t i o n e x t e r n e s , ainsi qu une exp lc ’ . de p r i m i t i v e s de g e s t i o n i n t e r n e . Ce 1 u ,- c . s e r a d o n c - m ê m e de m i e u x a p p r é h e n d e r les m a n i p u l a t i o n s e ec

(17)

NH, LE N O Y A U H I E R A R C H I Q U E

N H p e r m e t la m i s e en h i é r a r c h i e d e s d i v e r s é l é m e n t s c o n s t i t u t i f s d ' u n b â t i m e n t à p a r t i r d ' u n e s t r u c t u r e de 1 iste à n i v e a u v a r i a b l e ( E x e m p l e : b â t i m e n t est tête de 1 iste d e s é t a g e s , e u x - m ê m e s sont tête de 1 iste d e s p i è c e s , e l l e s - m ê m e s é t a n t tête de lis t e d e s -facettes c o m p o s a n t les p i è c e s ... etc).

R e p r é s e n t a t i o n l o g i q u e :

N H est c o n s t i t u é d' u n e n s e m b l e de c e l l u l e s de m ê m e n a t u r e p o s s é d a n t c h a c u n e un n u m é r o i den t i-f i c a t e ur , c o n t a c t de N H avec le m o n d e e x t é r i e u r . Un b â t i m e n t y est d é c o m p o s é en une " s u p e r " tête de liste (la p r e m i è r e c e l l u l e c r é é e ) s u i v i e d ' u n e s o u s - l i s t e . Une s o u s - l i s t e est un e n s e m b l e de c e l l u l e s p o s s é d a n t une tête de lis t e c o m m u n e et d o n t c h a q u e é l é m e n t peut être tête d ' u n e a u t r e s o u s - l i s t e ( d é ­ f i n i t i o n r é c u r s i v e p e r m e t t a n t un n i v e a u de p r o f o n d e u r indé f i n i ) . C h a q u e c e l l u l e p o s s è d e d i f f é r e n t s p a r a m è t r e s : T r o i s p o i n t e u r s d é c r i v a n t s e s r a p p o r t s av e c l ' e n v i ­ r o n n e m e n t (l e s a u t r e s c e l l u l e s ) . Un e n s e m b l e de v a l e u r s ( D o n n é e s ) . N H , de par la s i m p l i c i t é de sa s y n t a x e c o n s t r u c t i v e , p e r m e t un p a r c o u r s r a p i d e à l ' i n t é r i e u r d e s d o n n é e s du b â t i m e n t et s e r a donc le lieu p r i v i l é g i é de m é m o r i s a t i o n d e s d e s c r i p t e u r s p h y s i q u e s d e s é l é m e n t s . R e p r é s e n t a t i o n p h y s i q u e : N H est c o n s t i t u é d' u n f i c h i e r à a c c è s d i r e c t d o n t les c a r a c t é r i s t i q u e s de p a g i n a t i o n , d ' i n d e x a t i o n d e s c e l l u l e s et de g e s t i o n d e s c e l l u l e s v i d e s sont i d e n t i q u e s à c e l l e s de N R (se r e p o r t e r p a g e 4 ). De plu s , la l o n g u e u r du t a b l e a u de d o n n . e s a f f e c t e a c h a q u e c e l l u l e de N H n ' e s t p l u s f i x é e à la c r é a t i o n de la bas e , m a i s pe u t v a r i e r s u i v a n t c h a q u e c e l l u l e . C e s données- son t en e f f e t g é r é e s par a l l o c a t i o n d y n a m i q u e et m é m o r i s é e s d a n s une f i l e de p o i n t e u r s do n t c h a q u e é l é m e n t p e u t ê t r e un t a b l e a u de t r o i s n o m b r e s e n t i e r s ou une c h a î n e de c i n q c a r a c t è r e s (il a s e m b l é en e f f e t u t i l e de p o u v o i r i d e n t i ­ f i e r c e s d o n n é e s à l ' i n t é r i e u r m ê m e de N H p l u t ô t que P<*r r é f e r e n c e à une i n f o r m a t i o n e x t é r i e u r e ^ an c d o n n é e en f o n c t i o n de sa p o s i t i o n d a n s le ta eau, c o m m e i a été é t abli d a n s les p r o g r a m m e s - s o u r c e de la v e r s i o n F o r t r a n d o n t n o u s d i s p o s i o n s )•

(18)

P o u r p e r m e t t r e une a u g m e n t a t i o n , à v o l o n t é , d e s d o n ­ n é e s de c h a q u e c e l l u l e s a n s " é c r a s e r " c e l l e s de la c e l l u l e s u i v a n t e , il a été n é c e s s a i r e d ' a f f e c t e r à c h a q u e p a g e de N H son p r o p r e -fichier de d o n n é e s , g é r é par le p r o g r a m m e et i n v i s i b l e à l ' u t i l i s a t e u r . C h a q u e p a g e p e u t ê t r e a m e n é e en m é m o i r e c e n t r a l e i n d é p e n d a m m e n t de s e s d o n n é e s , a c c é l é r a n t ainsi la v i t e s s e d ' e x é c u t i o n d e s -fonctions de p a r c o u r s de la b a s e où s e u l e la l e c t u r e d e s p o i n t e u r s d ' u n e c e l l u l e est née e s s a ire. D e s c r i p t i o n de la c e l l u l e : - S t r u c t u r e i n t e r n e : Une c e l l u l e de N H ne p o s s è d e p a s de p a r a m è t r e i d e n t i f i c a t e u r "in c o r p o " ; el l e est " p e r s o n ­ n a l i s é e " par sa p o s i t i o n à l ' i n t é r i e u r de l ' e n s e m b l e d e s

1 istes. Son p o i n t e u r sur les d o n n é e s est un p o i n t e u r p h y s i ­ que (une a d r e s s e s e g m e n t é e ) do n t l ' a l l o c a t i o n ne r e l è v e p a s de la p r o c é d u r e s t a n d a r d "New" (qui n ' a f f e c t e que la p i l e du s e g m e n t par d é f a u t ) , m a i s d ' u n e p r o c é d u r e i n t e r n e è N H ( d i s p o n i b l e po u r l ' u t i l i s a t e u r ) d o n t n o u s d o n n e r o n s les c a r a c t é r i s t i q u e s au c h a p i t r e s u i v a n t . - R a p p o r t a v e c 1 Un p o i n t e u r sur m ê m e n i v e a u . Un p o i n t e u r sur la tête de l i ste). Un p o i n t e u r v e r s e n v i r o n n e m e n t : T r o i s p o i n t e u r s , la c e l l u l e s u i v a n t e d a n s la l i s t e de la c e l l u l e p r é c é d e n t e (qui p e u t êt r e la s o u s - l i s t e do n t el l e est la tête.

(19)

L e s p r o c é d u r e s de N H E l l e s se d i v i s e n t en de u x t y p e s : - L e s p r i m i t i v e s de g e s t i o n i n t e r n e qui g è r e n t la r e p r é s e n t â t i on p h y s i q u e , la c o h é r e n c e , la p a g i ­ n a t i o n . . . , et qui ne s e r o n t p a s d é t a i l l é e s ici p u i s q u 'e 1 1 es sont i n v i s i b l e s par l ' u t i l i s a t e u r . — L e s p r o c é d u r e s de c o m m u n i c a t i o n qui a s s u r e n t l ' i n t e r f a c e de la b a s e av e c le p r o g r a m m e u t i l i ­ s a t e u r et qui sont d o n c d é t a i l l é e s c i — d e s s o u s . L ' e n s e m b l e de c e s p r o c é d u r e s de c o m m u n i c a t i o n p e u t ê t r e s u b d i v i s é en cinq g r a n d s g r o u p e s : - P r o c é d u r e s de c o m m a n d e s . - C r é a t i o n de c e l l u l e s . - T r a n s f e r t de d o n n é e s . - P a r c o u r s de la base. - S u p p r e s s i o n de c e l l u l e s . N o u s r a j o u t e r o n s à c e s g r o u p e s une p r o c é d u r e d ' a l l o c a t i o n de p o i n t e u r de d o n n é e s : — P r o c e d u r e N e w D N H ( V s r s P : P o i n t D o n ) ,

Un type " P o i n t D o n " est d é c l a r é en tête de p r o g r a m m e : T y p e T a b D o n = A r r a y ( .1 . .3 . ) of I n t e g e r ; D o n s = R e c o r d C a s e Ca : C h a r of 'C' : (Mot : L s t r i n g ( 5)) ; (* c h a i n e de c i n q c a r a c t è r e s *) 'D' : (Tdon : T a b D o n ) <* Le t a b l e a u de d o n n é e s *) E n d ; P o i n t D o n = A d s of D o n n é e ; <* A d r e s s e s e g m e n t é e *> D o n n é e = R e c o r d Don : Dons; C a s e B o o l e a n of T r u e : (Pd o n : P o i n t D o n ) ; (* p o i n t e u r de d o n n é e *) F a l s e : (Ne : I n t e g e r ) <* le n u m é r o de la c e l l u l e *) E n d ;

P de type P o i n t D o n est i n i t i a l i s é à la v a l e u r "Nil" par l ' a s s i g n a t i o n P . S : = 0 ; ( p o i n t e sur le s e g m e n t z é r o ) .

(20)

Une D o n n é e p o s s è d e , un p o i n t e u r (sur la d o n n é e s u i ­ v a n t e ) q u a n d el l e r é s i d e en m é m o i r e c e n t r a l e , ou le n u m é r o de la c e l l u l e a u q u e l l e elle a p p a r t i e n t q u a n d e l l e est sur -fichier ( a r t i c l e à c h a m p v a r i a b l e ) . L e s p r o c é d u r e s i n t e r n e s •è N H se c h a r g e n t d e s d i f f é r e n t e s g e s t i o n s ( l e c t u r e sur f i ­ c h i e r , c h a î n a g e , é c r i t u r e ) qui d e v i e n n e n t t r a n s p a r e n t e s po u r l ' u t i l i s a t e u r . C e l u i - c i a à. sa d i s p o s i t i o n la p r o c é ­ du r e N e w D N H lui p e r m e t t a n t l ' a l l o c a t i o n d ' u n e a d r e s s e d a n s toute la m é m o i r e d i s p o n i b l e p o u r un p o i n t e u r de type P o i n t D o n qu'il " c h a r g e r a " par une v a r i a b l e de type Don s .

Le c h a î n a g e et le " r e m p l i s s a g e " d e s d i f f é r e n t s p o i n ­ t e u r s de don n é e s d ' u n e c e l l u l e p ou r r a d ailleurs- ê t r e ef f e c t u é par une m ê m e p r o c é d u r e du type :

P r o c e d u r e In sere( D o n _ a _ i n s e r e r : D o n s ; V a r s P.ac i ne :Poi n t d o n ) B e g i n If R a c i n e . S = 0 T h e n B e g i n N e w D N H ( R a c i n e ) ; Rac i ne * .Don := D o n _ a _ i n se r e r ; Rac i ne * .P d o n .S :=0 E nd El se I n s e r e (Do n _a _ i n s e r e r , R a c i n e * . P d o n ) En d ; Il s u f f i t a l o r s de p a s s e r " R a c i n e " ( r a c i n e de la l i s t e d e s p o i n t e u r s de d o n n é e s ) c o m m e p a r a m è t r e d ' u n e d e s p r o c é d u r e s de N H ( d é c r i t e s p l u s bas).

(21)

L e s p r o c é d u r e s de c o m m a n d e :

Ce so n t d e s p r o c é d u r e s d ' i n i t i a l i s a t i o n et de f e r ­ m e t u r e de la base.

Un type “C h a i n e S " est d é c l a r é en tête de p r o g r a m m e et c o r r e s p o n d à une c h a î n e de hu i t c a r a c t è r e s .

- F u n c t i on C r 1s t ( N o m : Ch a i ne8) :B o o l e a n ;

C r é a t i o n d' u n f i c h i e r d i r e c t de c e l l u l e s de n o m No m . Si un f i c h i e r e x i s t e d é j à s o u s le n o m N o m la f o n c t i o n a v o r t e et sa v a l e u r est m i s e à "Fai se" (ceci p o u r é v i t e r la d e s t r u c t i o n d ' u n e base e x i s t a n t s o u s le m ê m e n o m ) . Si la c r é a t i o n du f i c h i e r se p a s s e s a n s p r o b l è m e , la f o n c t i o n r e t o u r n e " T r u e " . Le p r e m i e r e n r e g i s t r e m e n t est r é s e r v é p o u r m é m o r i s e r le n o m b r e total de c e l l u l e s c r é é e s ; la p r e m i è r e c e l l u l e p r e n d r a do n c "2" c o m m e n u m é r o . - F u n c t i on In i 1 1 <N o m : C h a i n e 8 ) : 6 o o l e a n ; O u v e r t u r e d ' u n f i c h i e r d i r e c t de c e l l u l e s de n o m N o m . Si le f i c h i e r de n o m N o m n ' e s t p a s p r é s e n t sur di-=-que la f o n c t i o n a v o r t e et sa v a l e u r est m i s e à " F a l s e ” . Si l ' o u v e r t u r e du f i c h i e r se p a s s e s a n s p r o b l è m e , e l l e est s u i v i e d ' i n i t i a l i s a t i o n s d i v e r s e s p o u r les p r o c é d u r e s i n t e r n e s à N H (en p a r t i c u l i e r p o u r la g e s t i o n d e s c e l l u l e s v ? d e s , s'il y en a) et la f o n c t i o n r e t o u r n e " T r u e " . - P r o c e d u r e F i n 1 s t ; F e r m e t u r e du f i c h i e r d i r e c t d e s de u x f o n c t i o n s p r é c é d e n t e s de c e l l u l e s N H o u v e r t par une

(22)

L e s p r o c é d u r e s de c r é a t i o n de c e l l u l e s : - F u n c t i o n P r e m c (P ;Po i n t D o n ); In t e g e r ; C r é a t i o n de la p r e m i è r e c e l l u l e de la l i s t e p r i n c i ­ p a l e à l a q u e l l e est a-f-fecté le p o i n t e u r de D o n n é e P ( r a c i n e de la file de d o n n é e s ) . La -fonction d o n n e en r e t o u r le n u m é r o de la c e l l u l e cr éé e . - F o n c t i on I n t e t ( N c t : I n t e g e r ; P :P o i n t D o n ) : I n t e g e r ;

Cr 6 a t ion d ' u n e c e l l u l e dan s la liste don t la c e l l u l e de n u m é r o N e t est la tête. C e t t e c e l l u l e est p l a c é e " j u s t e

a p r è s " la c e l l u l e N e t (el l e d e v i e n t do n c la p r e m i è r e c e l - l u l e ' d e la s o u s - l i s t e de N e t ) . La -fonction d o n n e en r e t o u r le n u m é r o de la c e l l u l e c r é é e .

- F u n c t i on N e w c q ( N c t : I n t e g e r ; P : P o i n t D o n ) : I n t e g e r ;

C r é a t i o n d ' u n e c e l l u l e dan s la l i ste don t la c e l l u l e de n u m é r o N e t est la tête. C e t t e c e l l u l e est p l a c é e en -fin de la s o u s - l i s t e de la c e l l u l e N e t . La -fonction d o n n e en r e t o u r le n u m é r o de la c e l l u l e c r é é e . que on t 1 a - F u n c t i on I n c e 1 (Mc : I n t e g e r ; P :Poi n t D o n ) : I n t e g e r ; C r é a t i o n d ' u n e c e l l u l e d a n s la liste de m ê m e n i v e a u c e l l e de n u m é r o Ne (la c e l l u l e Ne et la c e l l u l e c r é é e do n c la m ê m e tête de l i s t e ) . C e t t e c e l l u l e est p l a c é e ^ = u i t e de la c e l l u l e Ne. L a f o n c t i o n d o n n e en r e t o u r la n u m é r o de la c e l l u l e c r é é e

(23)

L e s p r o c é d u r e s de p a r c o u r s de 1 iste : - F u n c t i on Nx te t ( N e t : In t e g e r ) r l n t e g e r ;

C e t t e -fonction d o n n e le n u m é r o de la p r e m i è r e c e l l u l e d a n s la l i ste d o n t la tète est la c e l l u l e de n u m é r o N e t .

- F u n c t i on N x c e 1 (Ne r l n t e g e r ) r l n t e g e r ;

Ce tte -foncti on don ne le n umé ro de la c e l l u l e su c c e s — se u r de la c e l l u l e de n u m é r o Mc d a n s le lis t e de m ê m e n i v e a u .

- F u n c t i on P r c e 1 ( N e r l n t e g e r ) r l n t e g e r ;

C e t t e -fonction d o n n e le n u m é r o de la c e l l u l e qui p r é c è d e la c e l l u l e de n u m é r o Ne.

Une v a r i a b l e , le, de type B o o l é e n , d é c l a r é e en tête de p r ogr amme d a n s NH, p e r m e t de c o n n a î t r e le r a p p o r t e x i s tant e n t r e la c e l l u l e de n u m é r o Ne et la c e l l u l e p r é c é d e n ­ te. L ' u t i l i s a t e u r de N H p o u r r a d o n c d é c l a r e r une v a r i a b l e e x t e r n e , le, de type B o o l é e n r C a r ( . E x t e r n . ) I c r B o o l e a n ; et t e s t e r en su ite la v a l e u r de Ic r - I c = F a l s e — > La c e l l u l e p r é c é d e n t Ne est sur la lis t e de m ê m e n i v e a u que N e , - 1 c = T r u e — > La c e l l u l e p r é c é d e n t Ne est tête de la lis t e de N e . - F u n c t i on Te 1 1 i( N e r l n t e g e r ) r l n t e g e r ; C e t t e f o n c t i o n d o n n e le n u m é r o de la c e l l u l e tête de la lis t e c o n t e n a n t la c e l l u l e de n u m é r o Ne. La tête d» liste de la p r e m i è r e c e l l u l e c r é é e est z é r o ( T e t l i ( 2 ) r e n v o i e 0), tout a u t r e c e l l u l e p o s s è d e une tête de lis t e val i d e .

(24)

L e s p r o c é d u r e s de t r a n s f e r t de d o n n é e s : - F u n c t i on Lire] (Ne :I n t e g e r ) :Poi n t D o n ;

C e t t e f o n c t i o n d o n n e le p o i n t e u r de d o n n é e s de la c e l l u l e Ne. Ce p o i n t e u r est la r a c i n e de la p i l e de p o i n ­ t e u r s de d o n n é e s de la c e l l u l e Ne (qu'il c o n v i e n d r a d o n c de "dép i 1er") . - P r o c é d u r e M o d i f ( Ne : I n t e g e r ; P : P o i n t D o n ) ; C e t t e p r o c é d u r e s u b s t i t u e le p o i n t e u r P au p o i n t e u r P d o n ( p o i n t e u r de d o n n é e s ) de la c e l l u l e Ne. Il c o n s t i t u e r a do n c la n o u v e l l e r a c i n e de la p i l e de d o n n é e s de la c e l l u l e Ne ( l ' a n c i e n n e pi l e de d o n n é e s est " d i s p o s é e " en m é m o i r e c e n t r a l e par d e s p r o c é d u r e s i n t e r n e s à NH) . L a p r o c é d u r e de s u p p r e s s i o n de c e l l u l e s : P r o c e d u r e Su p c 1 ( N e : I n t e g e r ) ; C e t t e p r o c é d u r e s u p p r i m e la c e l l u l e Ne et é v e n t u e l l e ­ m e n t la lis t e dont el l e est la tête ainsi que t o u t e s les

l i s t e s de n i v e a u i n f é r i e u r . Le n u m é r o , Ne, et 1 es n u m é r o s d e s c e l l u l e s l i b é r é e s ( s o u s - l i s t e ) sont i n s é r é s d a n s ^ la p i l e d e s c e l l u l e s v i d e s p o u r êt r e r é u t i l i s é s l o r s d - u n e p r o c h a i n e c r é a t i o n de c e l l u l e . N o u s p r o p o s o n s en a p p e n d i c e à l ' u t i l i s a t e u r de N H , la l e c t u r e d ' u n " l i s t i n g M c o m p o r t a n t t o u t e s les p r o c é d u r e s de g e s t i o n e x t e r n e s , ainsi q u ' u n e e x p l i c a t i o n r a p . d e ^ d e s p r i ­ m i t i v e s de g e s t i o n i n t e r n e s . Celui ci s e r a do n c a m e m e de m i e u x a p p r é h e n d e r les m a n i p u l a t i o n s e f f e c t é e s sur les c e l ­

(25)

C O N S I D E R A T I O N S G E N E R A L E S S U R L A P R O G R A M M A T I O N

La p r e m i è r e t e n t a t i v e d ' u t i l i s e r les p o i n t e u r s Pascal p o u r l ' i n d e x a t i o n d e s c e l l u l e s s ' e s t h e u r t é e à. une i n c o m p a ­

t i b i l i t é e n t r e la n é c e s s i t é d ' o b t e n i r une i n d e x a t i o n c o n s ­ t a n t e d e s c e l l u l e s (le u r n u m é r o qui ne p e u t v a r i e r p o u r une b o n n e c o h é r e n c e de la base) et les m é t h o d e s d ' a l l o c a t i o n d y n a m i q u e où l ' i n d e x a t i o n est f o n c t i o n de la p o s i t i o n en m é m o i r e c e n t r a l e de la c e l l u l e . C e t t e i n c o m p a t i b i l i t é , c u m u l é e à la n o n - t r a n s p o r t a b i l i t é du s t o c k a g e sur f i c h i e r d e s p o i n t e u r d s Pascal n o u s a fa i t o p t e r p o u r une n u m é r o t a ­ tion d e s c e l l u l e s par i n d e x a t i o n d a n s un t a b l e a u (ou p a g e ) .

S'il s ' e s t r é v é l é i n a d é q u a t d ' i n d e x e r les c e l l u l e s de N H et de N R par d e s p o i n t e u r s p h y s i q u e s l ' a l l o c a t i o n de v a r i a b l e s p o u r les p r i m i t i v e s i n t e r n e s (non v i s i b l e s par 1 'u t i 1 i s a t e u r ) s ' e f f e c t u e d y n a m i q u e m e n t par a d r e s s a g e s e g m e n t é . Ceci n o u s a p e r m i s d ' o p t i m i s e r la v i t e s s e d ' e x é c u ­ tion d e s f o n c t i o n s de g e s t i o n de la base. L e s p r o c é d u r e s de " m a n i p u l a t i o n " d ' a d r e s s e s s e g m e n t é e s é c r i t e s , d a n s un p r e m i e r temps, de m a n i è r e r é c u r s i v e (po u r la s i m p l i c i t é c o n c e p t u e l l e ) , ont été r é é c r i t e s de m a n i è r e d é c l a r a t i v e p o u r ten i r c o m p t e d e s r i s q u e s d ' o v e r f l o w de la p i l e de r é c u r s i v i t é ( r i s q u e m i n i m e , m a i s que n o u s ne v o u l i o n s p a s i g n o r e r ) . Le l a n g a g e u t i l i s é est M S - P a s c a l de M i c r o s o f t .

N H et N R ont été "m i s à l ' é p r e u v e " par une s é r i e de t e s t s s y s t é m a t i q u e s qui ont p r o u v é leur bon f o n c t i o n n e m e n t .

N H et N R sont d i s p o n i b l e s s é p a r é m e n t ou r e g r o u p é s en un m ê m e m o d u l e ( s u p p r e s s i o n d e s p r i m i t i v e s i n t e r n e s c o m ­ m u n e s ) et sont i m p l a n t é s , sur B F M 136 ( m i c r o 16 b i t s « b a s e de 3 0 36, 2 5 6 Ko de m é m o i r e c e n t r a l e , 2 x 1,2 M o sur d i s q u e , s o u s M S - D O S ) , au L a b o r a t o i r e d ' i n f o r m a t i q u e A p p l i q u é e à 1 'A r c h i tec ture .

(26)

UN E X E M P L E D ' U T I L I S A T I O N DE LA B A S E N o u s t e r m i n e r o n s ce r a p p o r t par l ' a n a l y s e d ' u n "test" un peu p l u s c o m p l e x e qui p e r m e t t r a , n o u s l ' e s p é r o n s , de f o u r n i r au l e c t e u r une a p p r o c h e d e s p o s s i b i l i t é s d ' u t i l i s a - t i on de 1 a b a s e . N o u s a v o n s é t a b l i , à p a r t i r d e s m o d u l e s N H , N R et d ' u n é d i t e u r g r a p h i q u e 2D < P A D A O (1), d é v e l o p p é au s e i n de L I 2 A ) , une i n t e r f a c e p e r m e t t a n t la m a n i p u l a t i o n d ' o b j e t s g r a p h i q u e s . La s t r u c t u r e de la b a s e a y a n t été e x p l i q u é e p l u s haut, n o u s d o n n e r o n s , tout d ' a b o r d , un b r e f a p e r ç u du p r o g r a m m e d ' é d i t i o n g r a p h i q u e . L e s o b j e t s m a n i p u l é s par P A D A O : P A D A O ( P r o g r a m m e d ' A s s i s t a n c e au D e s s i n d ' A r c h i t e c t e sur O r d i n a t e u r ) , d a n s sa v e r s i o n de ba s e ( s a n s l i a i s o n av e c N H - N R ) , p e r m e t la c r é a t i o n et la m a n i p u l a t i o n (par d i v e r s u t i l i t a i r e s de d e s s i n ) d ' o b j e t s g r a p h i q u e s en de u x d i m e n s i o n s . N o t r e é t u d e , e n t r a î n a n t le d é v e l o p p e m e n t de P A D A O , a eu c o m m e p o i n t de d é p a r t la t h é o r i e d' u n A r c h i t e c t e du d é b u t du d i x - n e u v i è m e s i è c l e , J N L D u r a n d (2), d é f i n i s s a n t un " c a t a l o g u e " d ' é l é m e n t s a r c h i t e c t u r a u x a v e c leur r è g l e s de s y n t a x e , et d e s r è g l e s de c omp os ition g l o b a l e s c o n c e r n a n t la f o r m a t i o n de b â t i m e n t s (en d ' a u t r e s t e r m e s , une d é m a r c h e de c o n c e p t i o n ) . N o t r e p r e m i e r o b j e c t i f , c r é a t i o n d ' u n c a t a l o g u e d ' é l é m e n t s archi t e c t u r a u x d é f i n i s en de u x d i m e n s i o n s et s t o c k é s sur d i s q u e , n o u s a a m e n é à d é v e l o p p e r d i f f é r e n t s u t i l i t a i r e s de s a i s i e g r a p h i q u e s u r t o u t o r i e n t é s v e r s l ' i n ­ t e r a c t i v i t é et l ' e r g o n o m i e ( d eux p r i n c i p e s d o n t n o u s re g r e t t i o n s s o u v e n t l ' a b s e n c e d a n s les p r o g r a m m e s de C A A O ) . N o u s a v o n s , e n s u i t e , i m p l é m e n t é d e s p r i m i t i v e s de m a n i p u l a t i o n d e s é l é m e n t s ( d u p l i c a t i o n , t r a n s i a t i on, c h a n q e m e n t d ' é c h e l l e , d é f o r m a t i o n , r é u n i o n de d e u x é é m e n t s p o u r n ' e n f o r m e r q u ' u n seul à n o u v e a u m a m p u l a b l e , é l i m i n a t i o n . ..) , p e r m e t t a n t un p r o c e s s u s de c o n c e p t i o n c o n f o r m e a celui e x p o s é par D u r a n d .

(27)

Au n i v e a u p h y s i q u e , un é l é m e n t de P A D A O p e u t r e v ê t i r d e u x f o r m e s : -En m é m o i r e c e n t r a l e : Il est c o n s t i t u é d ' u n e n s e m b l e d ' a r b r e s b i n a i r e s et de p i l e s de p o i n t e u r s ( n o u s a v o n s a c c o r d é b e a u c o u p d ' i m p o r t a n c e à la r a p i d i t é d ' e x é c u t i o n d e s u t i l i t a i r e s ) c o n t e n a n t les c o o r d o n n é e s d e s o b j e t s g r a p h i ­ q u e s d é c r i v a n t l ' é l é m e n t ( h o r i z o n t a l e s , v e r t i c a l e s , d i a g o ­ n a l e s , a r c s de c e r c l e ) . -S u r d i s q u e : Il est m é m o r i s é d a n s un f i c h i e r dont c h a q u e p r i m i t i v e g r a p h i q u e est i d e n t i f i a b l e et r é e x p l o i t a ­ ble lors d'un t r a n s f e r t en m é m o i r e c e n t r a l e .

(28)

De l ' i n t é r ê t d ' u n e inter-face P A D A O - N R - N H :

Un d e s s i n est donc c o n s t i t u é , sur P A D A O , par appel (ou c r é a t i o n ) d ' é l é m e n t s du c a t a l o g u e et m a n i p u l a t i o n de é l é m e n t s en vue de la c o n s t i t u t i o n d ' u n e -façade ou d un p l a n de b â t i m e n t ( s u i v a n t la r e p r é s e n t a t i o n d e s é l é m e n t s , b i e n e n t e n d u ) . L ' é l é m e n t du c a t a l o g u e p e u t a l o r s ê t r e c o n s i d é r é c o m m e un T y p e (archi t e c t u r a 1 ) et l ' é l é m e n t du d e s s i n c o m m e une o c c u r e n c e du T y p e . Il d e v i e n t donc i n t é r e s s a n t tant au n i v e a u c o n c e p t u e l (A r c h i t e c t u r e ) q u ' a u n i v e a u a n n a l y s e ( I n f o r m a t i q u e ) de r e p r é s e n t e r ce d e s s i n non p a s en tant q u ' e n s e m b l e d ' é l é m e n t s m a i s bien p l u t ô t en tant q u ' e n s e m b l e d ' o c c u r e n c e s de T y p e s dé-finis par a i l l e u r s . Ceci est a s s u r é par N H à p a r t i r d ' u n e d é c o m p o s i t i o n h i é r a r c h i q u e du d e s s i n en é l é m e n t s c o n s t i t u t i f s .

N o u s a v o n s v o u l u de plus, a p r è s l ' é l a b o r a t i o n de la bas e , r é a l i s e r une l i a i s o n P A D A O - N R po u r p o u v o i r en t e s t e r ( d a n s un p r e m i e r terrips) p u i s en a t t e s t e r ( d a n s un s e c o n d temps) l ' e f f i c a c i t é . Ceci est c h o s e f a i t e . N o t r e v o l o n t é é t a i t c e r t e s m o d e s t e : é t a b l i r une r e l a t i o n d é c h e l l e e n t r e de u x é l é m e n t s ; n o u s p r é c i s o n s qu' il e n t e n d u , d ' u n e é c h e 1 le s ' a g i t là, b i e n g é o m é t r i q u e et non d ' u n e é c h e l l e a r c h i t e c t u r a l e ( n o u s n o u s e x c u s o n s de 1 ' " h é r é s i e a u p r è s de la T h é o r i e de P h i l i p p e B o u d o n (3), m a i s la c o m p l e x i t é de n o t r e travail -et s u r t o u t le m a n q u e de t e m p s - n o u s i m p o s a i t d e s d i r e c t i v e s d r a c o n i e n n e s ) . C e t t e r e l a t i o n p e u t avoir- d e u x e f f e t s (il y a en fait d e u x c e l l u l e s e x p l o i t é e s d a n s N R , - v o i r d e s s i n p a g e s u i v a n t e - ) “R e l a t i o n " -Le c h a n g e m e n t d ' é c h e l l e d' u n é l é m e n t i m p l i q u e ( r é e l ­ l e m e n t sur l ' é c r a n ) une m ê m e o p é r a t i o n sur d ' a u t r e é l é m e n t s s a n s m o d i f i e r leur p o s i t i o n n e m e n t sur le d e s s i n .

— Le c h a n g e m e n t d ' é c h e l l e d ' u n é l é m e n t i m p l i q u e la m ê m e o p é r a t i o n sur d ' a u t r e s é l é m e n t s , et e n t r a î n e ^ de s u r ­

c r o î t leur d é p l a c e m e n t ( E x e m p l e : le c h a n g e m e n t d é c h e l l e de d e u x c o l o n n e s e n t r a î n e le c h a n g e m e n t d é c h e l l e de leur e n t r a x e et donc leur d é p l a c e m e n t r e l a t i f ) . Il d e v i e n t alors- p o s s i b l e de d é f i n i r d e s c o m p o s i t i o n s s t a b l e s d ^ é l é m e n t s t e l l e s une c o l o n n a d e ou une a r c a d e ( c o n f o r m é m e n t a la s y n ­ taxe a r c h i t e c t u r a l e ) . P o u r t e s t e r l ' u t i l i t é de la s t r u c t u r e du n o y a u de la b a s e , il f a l l a i t u t i l i s e r N R et N H d e p u i s P A D A O , s a n s m o d i f i e r ni N R , ni N H , ni P A D A O . D ' o ù la n é c e s s i t é d ' é c r i r e une i n t e r f a c e e n t r e les de u x b a s e s de d o n n é e s c o m m u n i q u a n t par les p r o t o c o l e s d é f i n i s d a n s les c h a p i t r e s p r é c é d e n t s .

(29)

- C h a n g e m e n t d c o l o n n e s r e l i é e s p p r é s e n t o n s la c o l o n p r i m i t i v e ) : é c h e l l e e-f-fectuée r la r e l a t i o n “Ech ade a v a n t et a p r è s sur un e n s e m b l e de lie si m p l e " ( n o u s 1 'ac t i vat i on de 1 a -Ch an g e m e n t c o l o n n e s rel iées r e l a t i f " : d ' é c h e l l e e-f-fectuée sur un e n s e m b l e de par la r e l a t i o n " E c h e l l e + D é p l a c e m e n t

(30)

R é a l i s a t i o n de l'inter-face

C o n s i d é r a t i o n s g é n é r a l e s :

A c h a q u e é l é m e n t de P A D A O (qu'il soit cr é é d i r e c t e ­ m e n t ou a m e n é sur l ' é c r a n à p a r t i r du c a t a l o g u e ) c o r r e s p o n d

une c e l l u l e d a n s N H et une c e l l u l e d a n s N R ( n o u s v e r r o n s p l u s loin qu'il peut y a v o i r un c a s p a r t i c u l i e r ) .

N o u s d e v o n s m é m o r i s e r les p o i n t s s u i v a n t s :

- I n d e x de l ' é l é m e n t d a n s le c a t a l o g u e (si l ' é l é m e n t ne f i g u r e p a s e n c o r e au c a t a l o g u e , son index est c r é é et c o m m u n i q u é à la ba s e au m o m e n t de la s a u v e g a r d e du d e s s i n ) . - P a r a m è t r e s de t r a n s l a t i o n de l ' é l é m e n t par r a p p o r t à 1 a p o s i t i on sur l ' é c r a n de 1 'é 1é m e n t type. - P a r a m è t r e s de c h a n g e m e n t d ' é c h e l l e de l ' é l é m e n t par r a p p o r t à l ' é c h e l l e de l ' é l é m e n t type. - l e s r e l a t i o n s d ' é c h e l l e qu'il e n t r e t i e n t a v e c d ' a u ­ tr e s é l é m e n t s . -Le c a s é c h é a n t , les “s o u s - é l é m e n t s " i s s u s de la déc omp o s i t i o n de l ' é l é m e n t ( E x e m p l e : l ' é l é m e n t c o l o n n e q u ' o n p e u t ê t r e a m e n é à d é c o m p o s e r en ba s e + fût + c h a p i ­ teau, b i e n qu'il soit g é n é r a l e m e n t p l u s c o m m o d e de m a n i p u ­ ler l ' é l é m e n t c o l o n n e c o m m e un tout).

" à C e s d i f é r e n t s p o i n t s c o n s t i t u e n t d e s

s o u m e t t r e à la ba s e de d o n n é e s .

(31)

La r é p a r t i t i o n d e s " t â c h e s " :

- D a n s N H :

La tête de liste g é n é r a l e ( p r e m i è r e c e l l u l e c r é é e ) est a s s i m i l é e ( c o n c e p t u e l l e m e n t ) au d e s s i n d a n s sa g l o b a l i ­ té et n ' e s t p a s u t i l i s é e c o m m e s t o c k a g e de p a r a m è t r e s .

La p r e m i è r e sous-1 iste ( l i s t e p r i n c i p a l e ) est a s s i m i ­ lée à l ' e n s e m b l e d e s é l é m e n t s d i r e c t e m e n t m a n i p u l a b l e s par P A D A O . C h a q u e c e l l u l e p o s s è d e une fi l e de d e u x p o i n t e u r s de d o n n é e s d a n s l e s q u e l s sont m é m o r i s é s : - L ' i n d e x de l ' é l é m e n t d a n s le c a t a l o g u e ( n o u s v e r r o n s p l u s loin le c a s de l ' é l é m e n t c o m p o s é ) . - L a t r a n s l a t i o n en X e f f e c t u é e sur l ' é l é m e n t . - L a t r a n s l a t i o n en Y e f f e c t u é e sur l ' é l é m e n t . -Le c h a n g e m e n t d ' é c h e l l e subi par l ' é l é m e n t . -Le n u m é r o de la c e l l u l e h o m o l o g u e d a n s NR.

Une c e l l u l e q u e l c o n q u e de c e t t e liste p e u t ê t r e tête de lis t e de " s o u s - é l é m e n t " . Un tel c a s p e u t se p r é s e n t e r l o r s q u ' u n é l é m e n t est défini par a s s o c i a t i o n de p l u s i e u r s a u t r e s é l é m e n t s (cas de c o l o n n e ou de la c o l o n n a d e c i t é s p l u s h a u t ) . Ce type de m a n i p u l a t i o n sur P A D A O a , d a n s N H , les c o n s é q u e n c e s s u i v a n t e s ( n o u s p r e n d r o n s un e x e m p l e po u r êt r e p l u s e x p l i c i t e , le c a s " c o l o n n e l + c c l o n n e 2 + ... + c o l o n n e N d e v i e n t c o l o n n a d e " ) : - C r é a t i o n d ' u n e c e l l u l e ( h o m o l o g u e de la c o l o n ­ n a d e ) d a n s la liste p r i n c i p a l e . L ' i n d e x de c e t t e c e l l u l e est m i s à -1 ( l ' é l é m e n t ne f i g u r e pas, tel que l , au c a t a l o ­ gue). - C r é a t i o n d ' u n e s o u s - l i s t e p o u r c e t t e c e l l u l e . C e t t e s o u s - l i s t e est f o r m é e de N c e l l u l e s i n i t i a l i s é e s av e c les p a r a m è t r e s a c t u e l s d e s c e l l u l e s h o m o l o g u e s d e s N c o l o n n e s . - S u p p r e s s i o n d e s c e l l u l e s h o m o l o g u e s d e s N c o l o n n e s d a n s la liste p r i n c i p a l e . - C o m m u n i c a t i o n du n u m é r o de la " c e l l u l e c o l o n ­ n a d e " à P A D A O (elle d e v i e n t l ' i n t e r l o c u t e u r de P A D A O a v e c la b a s e p o u r l ' e n s e m b l e d e s N c o l o n n e s , en p a r t i c u l i e r p o u r le s t o c k a g e de c e r t a i n s p a r a m è t r e s de m a n i p u l a t i o n ; n o u s v e r r o n s p l u s loin le c a s parti cul ;e p du c h a n g e m e n t d ' é c h e l ­ le).

Références

Documents relatifs

Le pouvoir adjudicateur se réserve le droit d'apporter des modifications de détail au dossier de consultation au plus tard 10 jours avant la date limite de réception des

HISTOIRE de la TERRE -HISTOIRE de la VIE DYNAMIQUE de la Terre Solide et de sa surface INTERACTIONS FLUIDE-ROCHE PROGRAMMATION C++ ÉLÉMENTS FINIS SIG –TÉLÉDÉTECTION–ANALYSE

L’effet des extraits des plantes et filtrats des bactéries sur la croissance mycélienne On a utilisé dans notre expérience deux extraits de plantes et deux filtrats de

The generalized framework of the micromorphic continua is briefly presented in order to extract additional balance equations: the classical equilibrium equation and the

Une partie préliminaire indépendante du reste du sujet, et pour laquelle on pourra adopter un mode de rédaction concis, est consacrée à la résolution de trois exercices... On

Le barème sera réparti entre les deux parties de l’épreuve (exercices et problème), aussi les candidats sont invités à répartir leur temps. On pourra, par exemple, consacrer au

L’indium métal In(s) est un corps simple qui n’existe pas à l’état naturel : dans les minerais, l’indium est le plus souvent contenu dans des sulfures polymétalliques,

Dans le cadre du renouvellement pour 3 ans (2021/2023) du marché « Exploitation de la cafétéria de l’ENSA de Toulouse », la direction de l’ENSA Toulouse rappelle les attentes