TCL/TK Conduite d un système de production
Système de Production du Telescope B. Lyot T e le s c o p e In s t r u m e n t a t io n s A c q u is itio n S e r v ic e s W e b P I A s t r o n o m e M is s io n n a ir e T B L P h a s e 1 ( P r o p o s a ls ) In f o r m a t io n s m is s io n s T B L P h a s e 3 O b s e r v a t io n A c t iv e T é le s c o p e A c q u is it io n G u id a g e T B L P h a s e 4 R é d u c t io n T e m p s R é é l o u D if f é r é E q u ip e d e p r o d u c t io n S u iv i O p é r a t io n n e l d e s c o n t r ô le c o m m a n d e s T é le s c o p e, In s t r u m e n t a t io n s,a c q u is it io n s O u v e r t u r e s e s s io n d o b s e r v a t io n G e s t io n C o m p t e O b s e r v a t io n e t A r c h iv a g e R é f é r e n t ie l G e s t i o n M is s io n s S e m e s t r ie l ( T a r b e s ) B a s e O b s e r v a t io n s A c t iv a b l e s ( P I C ) T B L P h a s e 2 P la n if ic a t io n d o b s e r v a t io n s C o o r d in a t e u r A s t r o n o m e C o n t r ô l q u a lit é Im a g e s S e r v ic e W e b 1 2 P la n if ic a6 t io n O b3 je t s à O b s e r v e r ( Q O S ) 3 4 P r io r it é Y 3 4 5 N G C 4 5 6 H D 2 3 4 5 6 5 3 71 5 08 2 C o n t r a in t e s M é t é o r o lo g iq u e s - 2 ( J U IN 2 0 0 8 ) 4 2 C o n t r a in t e s C é le s t e s T B L P h a s e 5 S e r v ic e A r c h iv a g e S c ie n t if iq u e T B L P h a s e 6 O b s e r v a t o ir e V ir t u e l 2 0 1 0
Etat de l Art : TCL/TK 1. John Ousterhout 1980. 2. Langage robuste, extensible 3. Simple et générique 4. Faciliter d intégration «Glue Together» les extensions 5. Extension de composants graphiques utilisateurs puissante 6. Pérennité : ActiveState
Le TCL Ffqfqs fsdfqdf dfqsdf fsdfqsdsqs dsqdqsd dqsdqd qdsdsqdq sdqsdqsd qdqsdq 1. Langage de script 2. Grammaire et commandes extensibles qdsdqsd qdqdsqd qdqsdqsd qdqsdq Ffqfqs fsdfqdf dfqsdf fsdfqsdsqs dsqdqsd dqsdqd qdsdsqdq sdqsdqsd qdqsdqsdq sdqsdq qdqsdqdq qdq qdsdqsd qdqdsqd qdqsdqsd qdqsdq Ffqfqs fsdfqdf dfqsdf fsdfqsdsqs dsqdqsd dqsdqd qdsdsqdq sdqsdqsd qdqsdqsdq sdqsdq qdqsdqd qdsdqsd qdqdsqd qdqsdqsd qdqsdq f 3. Gestion automatique de la mémoire, no pointeurs 4. Programmation séquentielle 5. Langage de colle pour faire tenir un ensemble d applications ensemble 6. Langage discret
Le TK 1. Tool Kit 2. Extension graphique de TCL Widgets 3. Programmation événementielle Event-Driven
TCL/TK 1. Open Source 2. Lisibilité (Maintenance, Debug) 3. Grand nombre d extensions 4. Espace de Nommage 5. Programmation en un minimun de lignes
Multi-Plateforme
Programmation TCL/TK 1. TCL Tout est < Chaine de Caractères> Structure de Données -> Liste de STRINGS only! 2. TK Concepts concurrentiels Events-Driven Widgets Graphic User Interface
Conception et développement des contrôlescommandes Instrumentations Agents de traitements Transformation ou calculs sur les flux de données. Agents réactifs Evènements processus contrôlcommande. Agents graphiques Evènements humain Nbres de photons T ( s e c ) Agents cognitifs/raisonnements Inférence sur une base de connaissance (Planification Nuits d observation). Axe Y H D 2 3 4 5 6 N G C 4 5 6 Y 3 4 5 P l a n i fic a t io n N u i ts d O b s e r v a t io n s 3 9 A x e X 5 1 3 5 6 3 1 0 3 7 4 7 1 8 Axe Y A x e X R é f é r e n t i e l
Programmation Event-Driven E x e c u tte T C L S C R IIP T T A K E E V E N T F R O M Q U E U E C a l llb a c k T c l l _ D o W h e n IId lle (( a fft te r r iid lle )) T c l l _ C rre a tte T iim e rrh a n d lle r r (a f t e r N )) T c l l _ C rre a tte C h a n n e llh a n d lle r r (( ffi ille e v e n t t )) T k _ C rre a tte E v e n tth a n d lle r r (( b iin d,, --c o m m a n d... e ttc )) O tth e r r c a l llb a c k s (( T k _ C rre a tte G e n e rri ic H a n d lle r r,, T k _ C rre a tte E r rro rrh a n d lle r r,, T c l l _ E v e n ttu a l lly F rre e,, e ttc..) ) E x e c u tte s c rri ip tt L o o k u p c o rrrr e s p o n d iin d s c rri ip tt
Event-Driven: Synchronisation Agent G raphique: Interface Hom m e-m achine Langage de Scripts: TCL Objet TCL : ActiveTcl (Rpc, Ftp,SQ L, Sm tp,soap, Dom...etc) Libm c (M écanique céleste) G rephons executable + Shell Langage W idget + Mega-W idget (Scroll,Texte,Buttons ): TK, Bwidgets,Tix BLT (Graph, Barchart...etc) Evénem ent Asynchrones (Tim ers, Signaux, E/S) Event-Driver FileHandler Agent Réactif: Process Tem ps Réel Langage C Interface de com m unication Inter-Process UNIX M ém oire partagée, File, Verrous, Signaux Threading Tunning politique ordonnanceur G estion Drivers B a s e s S Q L Drivers/Hardware
Diagramme structurel (Phase3 Observation ) A g e n t A P D A g e n t S p e c t r o g r a p h e A g e n t A c q u i s i t i o n A g e n t A D C F o n c t i o n P r i n c i p a l e + G e s t i o n n a i r e G r a p h i q u e A g e n t P o l a r i m e t r e A g e n t L o g s & A l a r m e s A g e n t R e m o t e A r c h i v a g e P r o c e s s C a m é r a G u i d a g e E t o i l e ( S e r v e u r L i n u x ) A g e n t P i p e l i n e C o m m a n d e R e d u c t i o n A u t o m a t i q u e P r o c e s s A c q u i s t i o n ( S e r v e u r L i n u x ) I n t e r f a c e ( A u t o m a t e s I n d u s t r i e l s ) A g e n t R e p l i c a t i o n D A T A v i a R e d u c t i o n P r o c e s s P I L O T A G E ( S e r v e u r U n i x T r u e 6 4 ) A c c e s C o n t r ô l e u r C a m é r a S c i e n t i f i q u e ( M i c r o - c o n t ô l e u r D S P 5 7 0 0 M o t o r o l a ) I n t e r f a c e G P S C a r t e D A T U M I n t e r f a c e E / S C o n c e n t r a t e u r V 2 4 + µ C o n t o r l e u r I n t e r f a c e s P o l a r i m e t r e C a l i b r a t i o n S p e c t r o m é t r i e ( 2 A u t o m a t e s G e s t i o n M o u v e m e n t & A s s e r v i s s e m e n t ) B a s e s S Q L ( S e r v e u r l i n u x ) P o s t g r e s S q l I n t r a n e t E x p l o i t a t i o n T B L P r o c e s s R E D U C T I O N ( S e r v e u r L i n u x ) A s t r o n o m e s P r o c e s s d e S t o c k a g e e t F T P ( S e r v e u r L i n u x R A I D 5 ) L A N T B L T a r b e s P r o c e s s B o n n e t t e ( S e r v e u r L i n u x ) A s t r o n o m e s P I D i s t a n t s G e s t i o n C a r t e d e c h a m p B a s e s S Q L ( S e r v e u r l i n u x P o s t g r e s S q l P r o c e s s X 1 1 G e s t i o n I n t e r f a c e H o m m e - M a c h i n e ( S t a t i o n L i n u x ) O p é r a t e u r s e n s t a t i o n s ( 2 p e r s / n u i t ) e t S e r v i c e I n f o r m a t i q u e ( T a r b e s )
Widgets: Graphical User Interface
Outils graphiques TK liés à l exploitation G S C - T B L C h a m p s B o n n e t t e W e b - S e r v i c e C o n s i g n a t i o n s L O G S O b s e r v a t i o n s - R é s u l t a t s S c h e d u l i n g N u i t s G U I D A G E B a s e s S Q L P o s t g r e s S q l R E D U C T I O N P I L O T A G E A C Q U I S I T I O N