FR 2739824 A1 19970418 FR 9512026 A 19951013 Système d'enclenchement ferroviaire à architecture logicielle et son procédé d'implémentation L'invention concerne le trafic des trains en sécurité sur un réseau ferroviaire, et plus particulièrement un système d'enclenchement ferroviaire basé sur une architecture logicielle. Un tel système est déjà connu de la demande de brevet européen N 0581281. Ce système comprend une base de règles, un moteur d'inférence, et un modèle de données sur lequel sont appliquées les règles pour établir et libérer des itinéraires. Le modèle de données représente les équipements de voie constituant le réseau par des sortes de portes logiques. Chaque règle définit des conditions à vérifier par15 une porte logique avant qu'une entrée d'un train sur l'équipement de voie correspondant du réseau soit permise. Ce système d'enclenchement présente l'avantage d'être beaucoup plus flexible que les solutions traditionnelles à base de relais. En particulier, un tel système20 d'enclenchement peut être implémenté par un traitement informatique d'un fichier de description de haut niveau d'abstraction du réseau et de la base de règles de façon à constituer le modèle de données correspondant au réseau à contrôler. Si la base de règles est conçue de façon assez25 générique, elle peut servir pour l'implémentation d'autres systèmes d'enclenchement sans modification. Malgré sa flexibilité, ce système d'enclenchement ferroviaire connu requiert pour son exécution, une ressource de traitement centralisée dans laquelle réside la base de règles, le30 modèle de données et le moteur d'inférence. Les capacités de traitement de cette ressource doivent être d'autant plus importantes que le réseau ferroviaire sous contrôle est complexe puisque la complexité du modèle de données croit avec celle du réseau. Il est d'ailleurs suggéré dans le35 document cité ci-dessus, d'exploiter une ressource multiprocesseurs qui permet de paralléliser certains traitements avec pour inconvénient de rendre la maintenance du système plus complexe. Le but de l'invention est de proposer un système d'enclenchement ferroviaire basé sur une architecture logicielle d'une autre conception et susceptible d'être distribué sur une pluralité de ressources de traitement de faible coût comme des micro- ordinateurs. En particulier, l'invention vise à fournir un tel système d'enclenchement ferroviaire apte à exploiter les ressources de traitement10 déjà en place dans les installations de contrôle/commande de réseaux ferroviaires existants et servant à l'acquisition des signaux provenant des équipements de voie. A cet effet, l'invention a pour objet un système d'enclenchement ferroviaire basé sur une architecture logicielle et servant au trafic des trains en sécurité sur un réseau constitué d'une pluralité d'équipements de voie. Ce système comprend un ensemble de tâches associées respectivement aux équipements de voie constituant le réseau. Les tâches mettent en oeuvre une logique distribuée20 d'établissement et libération d'itinéraires par propagation de messages à travers des successions de canaux logiques de communication interconnectant les tâches suivant une disposition correspondant à une certaine topologie géographique du réseau ferroviaire sous contrôle. En25 particulier, cette logique distribuée de propagation de messages est implémentée dans les tâches sous la forme d'automates à états finis. Les automates à états finis interagissent entre eux en propageant les messages le long des canaux logiques de communication. 30 Selon cette architecture logicielle, les tâches ont un comportement asynchrone. Une grande complexité d'un réseau ferroviaire à contrôler se traduit par un grand nombre de tâches à exécuter. Toutefois, vu que les tâches ont un comportement asynchrone, il n'est pas utile de prévoir une35 ressource de traitement de très forte capacité pour leur exécution car les tâches peuvent être distribuées sur un ensemble de ressources de traitement de faible capacité d'exécution si seulement un petit nombre de tâches résident dans chaque ressource de traitement de faible capacité, le coût d'un tel ensemble de ressources de traitement de faible 5 capacité étant en plus bien inférieur à celui d'une ressource unique de traitement de capacité équivalente. En plus, le fonctionnement autonome et asynchrone des tâches de la solution selon l'invention permet un contrôle simple du bon fonctionnement de chaque tâche ce qui contribue à10 diminuer les coûts de maintenance du système d'enclenchement. L'invention s'étend à un procédé pour implémenter un tel système d'enclenchement ferroviaire sur la base d'un traitement informatique d'un fichier de description de haut15 niveau d'abstraction du réseau ferroviaire à contrôler et d'une bibliothèque de modules logiciel génériques implémentant chacun un automate à états finis correspondant à un type d'équipement de voie. La bibliothèque de modules logiciel génériques peut servir, sans modification, à implémenter différents systèmes d'enclenchement pour contrôler différents réseaux ferroviaires correspondants. Un exemple de réalisation de l'invention est décrit ci-dessus en référence aux figures. La figure 1 montre schématiquement un centre de contrôle électronique intégré incluant le système selon l'invention. La figure 2 est un synoptique d'un réseau ferroviaire. La figure 3 illustre l'architecture logicielle du système selon l'invention adaptée au réseau ferroviaire montré à la figure 2. La figure 4 est un schéma illustrant la propagation de flots de messages à travers des tâches associées à une succession d'équipements de voie correspondants. La figure 5 illustre le procédé pour implémenter un système selon l'invention. La figure 6 est un synoptique d'un réseau ferroviaire à partir duquel est constitué un fichier de description de haut niveau d'abstraction du réseau. Figure 1, le système d'enclenchement ferroviaire 1 selon l'invention fait partie d'un ensemble plus complexe (centre de contrôle électronique intégré) comprenant un poste de contrôle 2 depuis lequel un opérateur surveille la situation sur le réseau ferroviaire 3 sous le contrôle du système d'enclenchement. Un système d'enclenchement ferroviaire sert à établir (enclencher) et libérer des itinéraires de telle façon à maintenir la sécurité du trafic sur un réseau. En particulier, il s'agit d'éviter la collision de trains sur le réseau. Or une collision peut survenir si par exemple des itinéraires enclenchés se croisent. Le système d'enclenchement 1 selon l'invention comprend un ensemble de tâches associées respectivement à des équipements de voie correspondants constituant le réseau à contrôler et communiquant entre elles par des messages de façon asynchrone comme décrit ci-après. Plus particulièrement, les tâches implémentent une logique distribuée pour établir et libérer des itinéraires par propagation de messages à travers des successions de canaux logiques de communication interconnectant chacun une25 sortie de message d'une tâche et une entrée de message d'une autre tâche. Les canaux logiques de communication sont implémentés entre les tâches suivant une disposition correspondant à une certaine topologie géographique du réseau de telle sorte que chaque succession de canaux30 logiques de communication correspond en fait à un itinéraire prédéfini de circulation des trains sur le réseau. En d'autres termes, pour un itinéraire passant successivement par une succession d'équipements de voie, il y a une succession correspondante de canaux logiques de35 communication qui interconnectent des tâches associées à ces équipements. La figure 2 montre schématiquement un réseau ferroviaire qui sert d'exemple pour expliquer l'invention et la figure 3 montre l'architecture logicielle du système d'enclenchement ferroviaire correspondant à cet exemple de 5 réseau. Figure 2, le réseau ferroviaire comporte deux voies AE et AB couplées par un aiguillage et desservant une gare G. Ce réseau est constitué, d'un point de vue fonctionnel, d'une pluralité d'équipements de voie, la disposition10 relative des équipements de voie définissant une certaine topologie géographique du réseau. Sur la voie AE, on trouve disposés en séquence (de gauche à droite sur la figure 2), un premier circuit de voie référencé AEA, un second circuit de voie AEB, un signal15 multi-aspects MP263 (feu tricolore par exemple), un premier aiguillage MP2205B (à commande électrique), un second aiguillage MP2206A, un signal de manoeuvre MP1002 (feu bicolore notamment), un troisième circuit de voie AED, un second signal multiaspects MP265, un quatrième circuit de20 voie AEE et un cinquième circuit de voie AEF. Sur la voie AB, on trouve disposés en séquence (de droite à gauche sur la figure 2), un premier circuit de voie ABE, un second circuit de voie ABG, un premier signal multi- aspects MP262, un troisième circuit de voie ABJ, un premier25 aiguillage MP2206B, un second aiguillage MP2205A, un second signal multi-aspects MP261, un quatrième circuit de voie ABP et un cinquième circuit de voie ABR. Sur ce réseau, les trains peuvent empreinter différents itinéraires prédéfinis partant chacun d'un signal multi-aspects comme le signal MP261 ou d'un signal de manoeuvre et passant par des successions différentes d'équipements de voie. A titre d'exemple, l'itinéraire référencé R261 sur la figure 2, part du signal multi-aspects MP261 et passe successivement par l'aiguillage MP2205A,35 l'aiguillage MP2206B, l'aiguillage MP2206A, le circuit de voie AED et enfin par le signal multi-aspects MP265. Il est entendu que les signaux font ou non partie d'un itinéraire suivant leur orientation par rapport au sens de circulation du train sur l'itinéraire. Figure 3, l'architecture logicielle du système d'enclenchement ferroviaire correspondant au réseau ferroviaire de la figure 2 reprend la topologie géographique de ce réseau. Sur cette figure, les tâches sont représentées par des blocs entre lesquels apparaissent des canaux logiques de communication représentés par des flèches 6. Un canal logique de communication implémenté entre deux tâches correspond à une partie d'un itinéraire passant par les deux équipements de voie associés à ces deux tâches. Si un train peut emprunter cette partie d'itinéraire dans les deux sens de circulation, les tâches correspondantes sont15 interconnectées par deux canaux logiques de communication parallèles. C'est le cas par exemple pour les deux canaux logiques de communication interconnectant les tâches référencées dPnt-2205A et dPnt-2206B. Pour plus de clarté, les blocs représentant les tâches sont présentés suivant des formes différentes en fonction du type d'équipement de voie associé à chaque tâche car les tâches associées à un même type d'équipement de voie ont un fonctionnement logique identique. On distingue sur la figure 3, des tâches Sig-261,Sig-262,Sig-263 et Sig-265 associées chacune à un signal multi-aspects, des tâches Trc-AEA,TrcAEB,Trc-AED,Trc-AEE,Trc- AEF,Trc-ABE,Trc-ABG,Trc-ABJ,Trc-ABP et Trc-ABR associées chacune à un circuit de voie, une tâche Shi-1002 associée à un signal de manoeuvre et des tâches dPnt-2205A,dPnt-2205B, dPnt-2206A et dPnt-2206B associées30 chacune à un aiguillage. Le principe de fonctionnement de la logique distribuée par propagation de messages est décrit ci-après sur la base de l'itinéraire R261 et en référence aux figures 3 et 4. L'itinéraire R261 correspond à une succession des canaux35 logiques de communication interconnectant en séquence les tâches Sig-261,dPnt-2005A,dPnt-2006B,dPnt-2005B,Trc-AED et Sig-265 dont les blocs correspondant sont montrés hachurés sur la figure 3. L'entrée de l'itinéraire R261 correspond à la tâche Sig-261. Etablissement de l'itinéraire R261 L'établissement d'un itinéraire est requis depuis le poste de contrôle 1. Une requête d'établissement de cet itinéraire envoyée du poste de contrôle 1 (symbolisé par Sys sur la figure 4) est reçue par la tâche d'entrée de l'itinéraire sous la forme d'un message d'entrée incluant un10 identificateur d'itinéraire. Dans l'exemple, la tâche Sig- 261 reçoit le message Req(R261), l'identificateur d'itinéraire étant symbolisé par R261. Un premier processus de propagation du message de requête d'établissement de l'itinéraire, depuis la tâche d'entrée de l'itinéraire et15 suivant une boucle passant par la série de tâches correspondant à cet itinéraire et revenant à la tâche d'entrée de l'itinéraire, est mis en oeuvre par l'ensemble de ces tâches. En particulier, le message R261 est propagé par les tâches Sig-261,dPnt-2005A,dPnt-2006B,dPnt-2005B,Trc-20 AED et Sig-265 suivant une boucle dite boucle d'allocation au cours de laquelle, chaque tâche en question s'alloue pour l'itinéraire R261 sur réception du message Req(R261) sauf en présence d'une situation de conflit (la tâche est déjà allouée pour un autre itinéraire). Dans le cas d'une25 situation de conflit détectée par une tâche, un message Conf(R261) est remonté, de tâche en tâche, depuis la tâche en question vers la tâche d'entrée d'itinéraire comme la tâche Sig-261, laquelle transmet ce message au poste de contrôle. Figure 4, si toutes les tâches correspondant à30 l'itinéraire R261 se sont allouées pour l'itinéraire R261, la dernière tâche Sig-265 renvoie le message Req(R261) à la tâche Sig-261 d'entrée de l'itinéraire R261. La tâche Sig- 261 envoie un message Alloc(R261) au poste de contrôle pour confirmation. Ce premier processus garantit que chaque tâche s'alloue pour un seul itinéraire prédéfini dont l'établissement est requis. Un second processus est ensuite mis en oeuvre par les tâches qui se sont allouées pour un itinéraire, afin de contrôler que l'ensemble des équipements de voie de l'itinéraire sont placés dans une position correcte 5 (positionnement des aiguilles notamment) avant d'ouvrir la circulation d'un train sur l'itinéraire et, dans le cas contraire, les commander pour les placer dans la position requise. Ce second processus consiste encore dans la propagation d'un message Ctrl de tâche en tâche, depuis la10 tâche d'entrée de l'itinéraire et suivant une boucle dite boucle de commande. sur réception de ce message, chaque tâche commande la mise en position correcte de l'équipement de voie auquel elle est associée et récupère dans un signal d'état une information relative à la position courante15 occupée par cet équipement. En particulier, la tâche Sig-261 sur réception du message Req(R261) provenant de la tâche Sig-265 commande la mise au rouge du signal MP261, récupère l'information relative à l'état courant du signal MP261 et propage cette information dans un paramètre rtechk inclu20 dans le message Ctrl(R261,rtechk). Le message Ctrl(R261,rtechk) est propagé de tâche en tâche tandis que le paramètre rtechk est mis à jour par chaque tâche et chaque équipement de voie est commandé pour occuper la position correcte avant l'ouverture de l'itinéraire.25 Finalement, la tâche Sig-265 renvoie le message Ctrl(R261,rtechk) à la tâche Sig-261. Quand la tâche Sig-261 reçoit le message Ctrl(R261,rtechk), elle effectue un traitement pour contrôler, à partir des informations contenues dans le paramètre rtechk, si l'ensemble des30 équipements de voie sont positionnés correctement. Si l'ensemble des équipements de voies ne sont pas positionnés correctement, le message Ctrl(R261,rtechk) est de nouveau propagé suivant la boucle de commande. Dans le cas o les équipements de voie sont tous positionnés correctement, la tâche Sig- 261 envoie le message Set(R261) au poste de contrôle pour confirmer que l'itinéraire R261 est maintenant établi (ou enclenché) jusqu'à l'occurrence d'une condition de libération. Il est possible que le message Ctrl soit propagé plusieurs fois suivant la boucle de commande avant que l'ensemble des équipements de voie soient positionnés 5 correctement en raison du fait que le temps nécessaire à certains équipements de voie pour changer de position (changement de position d'une aiguille) est plus long que le temps nécessaire pour propager le message Ctrl suivant la boucle de commande.10 Sur réception du message Ctrl(R261,rtechk), la tâche Sig-261 commence un processus de contrôle périodique de l'état des équipements de voie. Ce processus consiste dans la propagation du message Chk(R261,rtechk), de tâche en tâche, suivant une boucle dite boucle de contrôle au cours15 de laquelle chaque tâche récupère une information relative à l'état courant de l'équipement de voie qui lui est associé et fait remonter cette information dans le paramètre rtechk via le message Chk(R261, rtechk) jusqu'à la tâche d'entrée de l'itinéraire. La tâche Sig265 renvoie le message20 Chk(R261,rtechk) à la tâche Sig-261 qui contrôle, à partir du paramètre rtechk, l'état courant des équipements de voie, de sorte qu'un dysfonctionnement des équipements de voie de l'itinéraire enclenché peut facilement être détecté. Ce processus est mis en oeuvre de façon périodique, avec une25 fréquence assez élevée. Libération automatique de l'itinéraire établi Quand un train s'engage sur l'itinéraire R261 qui a été établi, sa progression sur cet itinéraire se traduit par des changements des informations dans le paramètre rtechk du message Chk. Normalement, seul le signal multi- aspects d'entrée de l'itinéraire R261 peut évoluer dans le temps, entre l'instant o l'itinéraire est établi et l'instant o il est libéré, en passant successivement dans les états rouge, orange et vert. A partir du moment o la tâche Sig-35 261 détecte que le train a franchi un certain nombre de circuits de voie de l'itinéraire par identification des changements dans le paramètre rtechk à chaque boucle de contrôle, elle commence un processus de libération de l'itinéraire R261 qui consiste encore dans la propagation d'un message, ici le message Free(R261), de tâche en tâche 5 suivant une boucle dite boucle de libération au cours de laquelle chaque tâche se désalloue pour l'itinéraire sur réception du message Free. Dans l'exemple de la figure 4, quand la tâche Sig-261 reçoit le message Free(R261) de la tâche Sig-265, l'ensemble des tâches de l'itinéraire R26110 sont désallouées et la tâche Sig-261 envoie ce message au poste de contrôle pour information. A partir de ce moment, la circulation sur l'itinéraire R261 n'est plus autorisée jusqu'à ce que cet itinéraire soit de nouveau établi. Il est entendu que cette logique de propagation de messages peut être raffinée, suivant le principe indiqué ci- dessus, pour implémenter d'autre fonctionnalités comme la libération d'itinéraires sur requête de l'opérateur, le maintien permanent d'un itinéraire établi, etc.... Suivant l'invention, la logique de propagation de messages est constituée avantageusement par des automates à états finis qui sont implémentés dans les tâches. Chaque automate d'une tâche se déclenche sur réception d'un message attendu, transite d'un état courant à un autre état en effectuant un certain traitement et renvoie un message en25 sortie. Les états successifs de chaque automate correspondent aux processus successifs de propagation des différents messages. Suivant cette solution, l'implémentation du système d'enclenchement ferroviaire 1 peut être réalisée de façon semi-automatique à partir d'un30 traitement informatique d'un fichier 5 de description de haut niveau d'abstraction du réseau ferroviaire à contrôler et d'une bibliothèque 6 de modules logiciel génériques implémentant chacun un automates à états finis correspondant à un type d'équipement de voie. Plus particulièrement, figure 5, à partir d'un synoptique 4 du réseau ferroviaire à contrôler, un il technicien exprime les caractéristiques du réseau en données d'un langage de haut niveau d'abstraction, ces données étant consignées dans le fichier de description 5. Un exemple du contenu d'un fichier de description de haut niveau 5 d'abstraction pour le réseau ferroviaire montré à la figure 6 est donné à l'annexe 1 (à noter que ce réseau ferroviaire est analogue à celui montré à la figure 2). Le contenu de ce fichier de description est analogue à celui utilisé pour implémenter le système d'enclenchement ferroviaire connu du10 brevet européen N'0581281 indiqué comme état de la technique. On retrouve dans ce fichier différentes sections (indiquées par "Level 0, Level 1,....") qui définissent les caractéristiques du réseau, répertorient l'ensemble des équipements de voie et identifient des itinéraires. Ainsi à la section référencée "Level 2A", on trouve une description de l'itinéraire R261 qui a servi d'exemple pour la description du fonctionnement de la logique distribuée de propagation des messages. Un exemple du code source d'un module logiciel générique implémentant un automate à états finis correspondant à un signal multi-aspects est fourni à l'annexe 2. Un autre exemple du code source d'un module générique correspondant à un circuit de voie est encore fourni à l'annexe 3. Le code source de chaque module est25 donné ici dans un langage de haut niveau sémantique. Il comprend plusieurs sections et notamment une section de déclaration de messages d'entrée "Input Messages", une section de déclaration de messages de sortie "Output Messages" et une section de déclaration d'états de30 transition "States". Dans les sections de déclaration de messages d'entrée ou de sortie, l'émetteur ou le récepteur du message est représenté par un identificateur générique tel "Sig", "Tim","Sys","Up","Dn","Back". L'annexe 4 illustre les flots de messages Req,Ctrl,Chk etc... en reprenant la35 terminologie des messages utilisée dans le code source des modules génériques donné aux annexes 2 et 3. Au moment du traitement informatique indiqué ci-dessus en référence à la figure 5, le code source de chaque tâche est généré à partir du code source d'un module générique correspondant à l'équipement de voie qui doit être associé à 5 la tâche et les identificateurs génériques d'émetteur et de récepteur de messages sont "remplacés" par des identificateurs de tâche appropriés récupérés du fichier de description du réseau pour établir les canaux logiques de communication. On cmprendra aisément que chaque canal10 logique de communication est une connexion qui est établie, dans le code source de chaque tâche, par une primitive d'émission ou de réception d'un protocole de communication point à point du type premier entré premier sorti (FIFO). Le code source des tâches est ensuite compilé pour obtenir les15 tâches exécutables communiquant par messages du système d'enclenchement selon l'invention. Il est entendu que les unités de traitement supportant les tâches devront être connectées entre elles par l'intermédiaire d'un réseau physique de communication, du genre réseau de terrain, qui20 supporte un protocole de communication comme défini ci- dessus. Annexe 3 /* LDL Layout Specification */ III SCHDKE ?LAM 4 SCMDoZe PLAN:: La yout1__02 ! INTE.RLOCKING: MAHIMR VERSIOft: V4.0J DATE: 1l.DEC.93t SOURCE: 'S.C. - Conforma to issue 4 LDL aNr Spec.'; LO: 3J LI: 16J L2A: 15J L25: 3J L2C: 0J L3A: 43J L3C: 10l L3C: 0O ! eeee /* Level O - Network / 0ee0 LO-1 ee LIEZ or fAT:: branchl; MODE 0: imanchester airport station; NODE 1: bouindryl; ! eeee eef L0-2 et BOUNDARY:: boundaryl; LINZ or YAY: branchl; TEXT.' To Heald Green"; eeoe 0ee.LO-3 el fEATURZ:: -manchester airport station; LINC or MAY-LIST: branchl; TEXT: 'a)nchester Adrport Station'] eeee /* Level 1 - Track */ 0ee LI-1 el TRACK:: trackl; NODE 0: trkendl] NODE 1: pal; LENGt'': 258. SOYDS 000 -2eeee e@e L1-2 ee nt cO Co CD -g>. -, ee.e, ^ g,.. g, 04M W M N N M4 MM CD* CI J-e *O_ "O* " _X* oOX*-NO..rO.iS - O Uc%w ChWDc CW ' aCWC CUPLdCC.-W4Cb 04C.4 V a>0".aiAi Và.0..i V>0.0-sV0.aUi AU0.4 ulu'-el'u llul w o.I @Ie. o.. *-,o2 -*o" = _c* o_**oo:,4, *-I '- u j"os -* oo- -,,-t o o.-, -,.:t o o_ o o -,ii JU iiS e a OO8 Eoo s '= a_ gg b fi Oa O j2j Z *;i c2> 0 b @ o o 3 g w; am i. g.m.,.,.3a eee L1-9 ee TRACKENDNODE:: trkendl; TRACK: trackl; I Q@e, @@e LI-10 @@ TRACKXEND NODE:: trkend2; TRACK: track2; eee, @@@ Ll-ll SQ TRACKBOUNDARYNODE:: trkbndl; { TRACX: track7; eeee eee L1-12 Qe TRACK=BOUNDARY NODE:: trkbnd2; TRACK: trackS; eeee ee L1-13 ee POINTS MODE:: pnl; I TYPE: CONTROLLED; PATN 1: (trackl, track3}; PATH 2: (trackl, track4); POINT MACNINE-LIST: PMP2205B; eee L1-14 ee POINTS NODE:: pn2; ( TYPE: CONTROLLED; PATH 1: (track6, track2); PATU 2: (track6, track4); POINT MACHINE-LIST: PnP220SA; D eeee eee L1-15 ee POINTS NODE:: pn3; TYPE: CONTROLLED; PATH 1: (track7, track3); PATHi 2: (track7, trackS); POINT MACNINE-LIST: PHMP2206A; eeee eee L1-16 ee POINTS NODE:: pn4; TYP CONTROLLD; TYPE: CONTROLLED; Co r,'n t-t9tn NN J am: "'.... ..4 :"S ïo é e S41 oaqI. 06 ct s lt U....... À.4 4 pD CI, 0 _ *_0 0 &ài c; f #or fl,4..DTD: _, * *aca,..o *nD- *- - QOu" "- 4e f4 o....o n"nP * _ t. oUm " I --.;6. o. à- 4ii......... w *1- 414CCaCC 'Dd**Ht N * r- e 0 D D D D D0 0 0-- 0 rw..- q M MMMMMMMMMMMMMMMWbj MMJ 4U UUU.UUUUUU"" UUU ".>U J f_ r- n u. v v...o eb C e O oo o o c 4 S C C D D D Du 22. IW 14, 04 q v lu Wb _ lu _ 0. ^.o>"> làa tn Iee4 - XC T CK RAoo O - 1 N N _vx bi1 ve-w@ >"7e0oo.fi uusnC --=X^X=Xa^Xa^X^d -m.... pI VO H ____, gHC ---- *a a **l MM g- 2 -. wFO otV.u -- ,,,, Mfif Co3 Z 14 r'; W r ?..i r NOth4r de ab Ld rtbcWbWb &..; C 941C,0s 4 1 0. C; À; c c;; c r %O, v;tn, rZ............m 0.001, oooon l ";',";I,;,.,vb o.0. o. G 10,,u lu) CD uu Co ". a) 0 m l 0 14.,4'U r-._ À c.u À c.u ,r, f3 En,n mC c 4r iw 1 1 "' 44 C-4 tn 94 "411- -- q fd À4 W -4% l'c 1 C À àt'....... u àt E ' ' ' ' - 1 1 I14I.II. L'II.I r- 1. . D-, .. r- m %0 ai m. 9 0, 1 "o la e inl n4" 'O Co co.-1,4. a)e m 9c in omC-l.,e IO1-1-' -.:.' ci" E À,00. - À-I14.414 1.4 c. 14I 1.4. 0..000*.0... E: e:lu..s- E*..C Le,- 'n.- 4UUUUUtJUU g I-4UUUUUq>UUUU 14141414141414141414141414 1MM M M luuo uu i:e*r.i ic1-eb > Co- cO niNN iq.NE - -. * 4> c - ^P P1 _fXo0 * e-_ ià-ô-n nJ e À no.......'o e0o,,,,, nN""*ne nW ^ t.e6@ _ __o..U_ I> wog*, v, ppppP PP um v*,.. vo.uo N J N.4.- '' Nq, r- q..._.4. O.. 1i -N mO;n o o..O Y cr-ab.Y0OO. N44 Hdu uC u u v u u u uooU __U Oq_. )F"z -q..-4in.OfO' Ob _ _ _ _ _ _ _U_Ir-C_w4 M6 luo--- 2 t z z.,..-z2,1@" tJ 6.) i f'L n - r'L i'L% a, 0'-L - tiD8," fiiI i e -, --9.. Il 4lu XJ& &,J iJ>' &J MN-.4q.q.49w Co9.o4 elCwçmtn Càl1 ECP tt e W 0. X. -oOI t X D 4Np4q.,....e.E,.QE.4444 lb4>Idl*I' Ie4 Hf- 0-oeI***.*'4- -OC*ac - /à Level 2C - Traction Features */ /* Level 3A - Signailing Equipment */ @08 L3A-1! SIGN(AL:: SP261; TYPE: CONITROLLEDi INTERLOCITNG: MANAX R ss1 LABEL: t261; ASPECT: RMD,YELLOW, GREN, SUBSDT.ARY; D I LOCATION: SIGNAL:: SHP262; ! TYPE: CGHTROLLED; INTERLOCKING: MANAXR; SSr LABEL: S262; ASPECT: RED,YELLOW, SUBSIDIARY; NULT? LAMu: R262A(M),R262A(C),R262B(N),R262B(C); D I LOCATION ((trackS,0. 582),pn4); D_ _LOCATION: (trackl8,trkbnd2,657.25YDS),pn4); ) eee eee L3A3 ee SIGNAL:: SNP263; ( TYPE: CONTROLLED; INTERLOCKING: MANAR; SSI LABEL: S263; AsPeCT: RED,YELLOI, GREN,SUBSIDIARY; D I LOCATION: ((trackl,0.894),pnl); D LOCATION: ((trackl,trkendl,231YDS),pnl); Qeee eee L3A-4 ee SIGNAL:: SMP26S; TYPE: CONTROLLEDz INTERLOCXING: MAMAIR; SSI LABEL: S265; ASPECT: RED, YELLOW, GREFN., D I LOCATION: ((trzack7,0.589),trkbndl); Dt-4LOCATION: ((track7,pn3,599. SYDS),trkbndl); ) eeee Iee L3A-S Il SIGNAL:: SHP1002; TYPE: SHUNT: INTERLOCKING: MAAIR; SS1 LABEL: S1002; STAlTE: ON, OF; D I LOCATION: (track7,0.011),pn3); D M LocATrOH; ((track7,pn3,11YDS),pn3); eeee eee L3A-6 00 POINT _CHINE:: P TYPE: CLAKPLOCK; INTERLOCKING: MANAUJR; SSI LABEL: P22058, NODE: pnlhi CCF:O: trackl; NORIFAL: track3; REVERSE: track4; eeee ee L3A7 Of POINT MACHINE:: PMHP2205A; TYPE: CLAMPLOCK; INTERLOCKING: MANAIR; SSI LABEL: P220SA; NODE: pn2; COIO: track6; NORIAL: track2; REVEURSE: track4; ) 8@0! eee L3A-8 ee POINT_ MCHINC:: PMP2206A; TYPE: CLA.MPLOC; INTERLOCKING: MANAIR; $S! LABEL: P2206A; NODE: pn3; COMON: track7; NORMAL: track3; REVERSE: traeckS; ) eeee eee L3A-9 eQ POINT -MCHINE:: PNP22068; (_ TYPE: CLAMPLOCKi INTERLOCKING: MNAUR; $SI LABEL: P22068; MODE: pn4; COCF2": track6; NORAL: trackS; REVERSE: trackS; eeee eee LaA10 le TCJOINT:: ibjl; TYPE: ORDINARY; I LOCATION: (trackl,0.011); M-LOCATION: (trackl,trkerndl,2.75YDJ); cO CoI CD y> - et>t f-r,*.-Ia0 0=g,. n.4 oee I e-.0%-'N _ - N70 e..e*,I'4 0.- q l.e-4 À4e4 PP À r-.. r-.. W. q..nc OM 'V. 0%I 0 e40O4VE 14.4 N1.O_..4CCC OiJ:l-, _6 & & 6 -J & A;4JdJA _4> 04>.04> 04i Ow 000. w w hO o SW UO UXU UUU U U XUU UU U UU d.I u qJUla -00 le tUt :v. - 4 4 IV.. V I IXaCI,,=...,I 8 2., I z Ij b. 71>b414-4bNf Yo!.*L> h > Idoh2 >bw QU>O g og^z >t o≥ "u. ô 29^ zx o>> jU, 3 op*"tt 0 - YJt) *U - w Q "S 1XS w 41 "0 s i7 100 o n1 XQC o "S 1" " "lu 0 P F va Vllèl "sp "stup"@@ eu11r _ 1_ CoI un w' t'n wm u u u 0 -, -s -0 O cz- 1-0 * -O.0 f 0.m 0n mni 0 00 -c c.. R" 1.1 R 14. vu vo vu Utb wà w v OU qUv en mn*.aL. CD.d CD r Co.' >U4J*- - - P *- >- >4U MUu7, >iJU 0.0tu W-F --0CD- - *O1f cOm P-j r, IN Q r,,4 J, o _ o_ 1.04 l,::..xzz Q i....... o I _,, I _* - I.I n UIIU) II ',II ' Zd hieb4 m 0 - _ 0 % 40 -. " O ' *eo.' o* C 9N là. ci U 3 00. -3 0 tn nop 1ç m!_" i"V @ b-4 XI-:ô "V CDCo m du m a, Qum B M MM me WW-O00 >u; f f HM V7 MM Hx@@FFHx@@gFHx rC vbn À À À CC C C 4 À C Ng N ' y' ha C 0nte, C M._n_ -e.nP....- r- e> _ 0 nw. N % in X X on'.n r- Oh _ n r n *....... "y _ p p> p0 -N*^bor haW * O C0 _ "DN 4N h -->4melow w,.1.4q -_-n.*. ohao-m r- OhI h O4 _4*.Um NOh _*- * lYN N r- o -r- NN -m.m - r.. -....b I *-a.. O * O * O * O * Oh n.o o N. n qo Mwe..N NN N r N Oh N M U 00.U.U.0.U00. U-0. U 0 U. U U'OU m, C. N., _ lu 4.4.* 4LI..I4W 4_.*4.4..k.0 O0 CD uuJu&,uu*uH.4o.h.. .}F u......>. ÈJ 1> t*--- ^..uu Z N O--o.'-4z 3Za ooe. z 4.-d t; z X 3"ulaM m.4- 301.1z U314IO uj I- S1QQU'1 >oo @u Si Iit zoo @u "S I@ n eD O I Xnb4ws s4J wAw @ I- * ro t) - - CD x... c M M s. W id voW v 41 - à *ft -e Idf V _aC o CDCD toC LiC 4 iC 1 .X $.4110 tein _> U _ C4u C *.. *. Vu u UUiu' ue ou o g g g 4% ULii.. w i4 '' z zVZ "X ffi _' _*. __ 2 _z ",,_._ --.a --*., b b*f W Ib o Co a)) am P-1 /- - I:: 0I a a -4> OU o0. -o. *:: -.4..... -e H c C es _l r ^ W W N I04 I. 0. 0__. 4 " I.4, e - oeeu V)--oe M.auop O-,MO. - "*U U _ U> U_ U U t IvV i- -vt _ 6.O.-4M.-qwM a,IMM M M@d 1"aS3f ex>t[t auog>oucu>t a 4D*l-u ID*-4 > F!oIl 0WIl2 D Gé véA 0S X s V 9 -svf U>*I. >I Qa "z50 wFv * M X 4- qO.1U UU U UU 14 -8 ai O-4 gc.p.g *X.. 0del 0 lnp v * du h lou th.C 1x,')-: O.*1 I>*._ a IlW cvr e. - 8. e.c au,J e vv uv u vtuvID vXX ::1,-l'v'oO. f mvk v * * S Z 0- Oe Ve 3@ > _ OB J _4 I wD _ e>4 rLOCATION: (ctrack7,0.347); MLOCATION: (track7,pn3,352.75YDs); eeee 1e8 L35-1O ee LOCCA.SE:: loc6; INTERLOCXING:.bJ(AIR] TCXT: 0ON113"] ASSOCIATED VITH: tf09; ILOCATION- (track7,0. 573); LOCATION: (track7,pn3, 582. 7SYDS); Leee 3C - Traction qupment /* L v-l $C - Traction F. quipmenC */ Annexe 2 AUTOOATOI.atSigLog Sets: iut /e Global set of automate ]outo /O Global cet of routes Messsqg / Global set of messages sBack /* Local st et automata Eatr Znco /* Local est of routes sExit /o Local set of routes sOverlap /o Local set of routes aLast /o Local eot of routos Constants: SiS /, SipA Tia- /a TiLer Sys /a Sipalz&n systen Sack / îaclktrsam op /e Upetreaou Du /e DomJtrea Input XMssages: iC]k [Sig](route.sigchk,Silchk) /* Si p.l chocking iOut [Tia](route) /. Tins-out iloq (Sys](route) / bouto roquost iFroe [Sys](route) /e oute reloeas ilolease (Sys](routo) /e loto roleasoe Varaig iModo [Syle](routemodo) /e boute setteg mode ilApp Up](routo,trschk) /e Approach iloq tVp](route) /* toute roquoet iCtrl CUp](routortock) /e Routo control iChX CUp](routo,rtocbk) /- oute chockiag iFros [Op](route) /e otoe cancsollatioa iApp Da])(route.trschk) / ApproAc iCona [Du](autrouteroute) /e oute coLflict iLoq taeck](routo) / toute roquent 3Q- iCtrl [Sack](route,rtechk) /* loute control IChl [BEck](ronte.,rtechk) /I lout. checkia& iFree [Back](route) /, Ioute cancellation Output Xieesqa: oCtrl [Si8](routeeiictrl) /e Sigpil control oOa [Tis](route.tiae) /e Timer os oBad ISys](less) /0 Bad message oAlloc [Syr](route) /* toute allocated oSet ISys](route) / saoute set oFree [Sys](route) /e oute released oCoau tSys](aut,route.route) /* toute coaflict aNode (Sys](route, mode) /*e oute sottini mode oApp Cp] (route,trschk) /e Approacà oConu CUp](aut,routce,route) /* aoute coaflict oApp tDu](routetrechk) /e lpproach oleq Dn] (route) / Bouto request oCtrl tDu](route., rtechk) /e toute coatrol oCIk tDn](route,rtecbk) /* loute checking oFree [Du](route) /e toute ralease oRateq [back](route) /e outo roquest oCtrl Cback]Croute,rtechk) /e Loute control oClk Eback]J(routertechk) /O Route c]ecking oFree. Cback](route) /* toute relueas Eaumerate: *Node - {AI,PV} /e toute mode eSiSCtrl = {1edd,Tl. /e Signal control eSiSM - {ed,Tn,GCa} /e Signal chckig *FilCkk À {TlGn,Yl,Ga) /O Filamont checkia& eEzSig {anill.dTlGa) /0 lit ig al *PetChk o {l.10K> /e Pointe checkiag eTrrCuk s {OEOK}> /e Track section checking /O EúSig PntChk BlkTro FctTrc SecTrc eAteChk = e ExSig z ePntChk r eTrCh]k z eTreCIk z eTreChk Functions: %3 getti.eCroute) ia Inte. er /. Timer a-ager get.back(route) ia asack /' Sack oa.q4er Cons'ant value: steChkInAt z (ail,O.,O.OKt,OE) iu eltCe /e Route checkina teChkOled = (led,O0,OK0OK,Or) ila etteCb /e Route checking IteChOXKTlCa = (TlGa. OX.Ot.OKO,) in eteCls /e louta checkina AppTraO[ = Q ia eTr'Chk /a Approach checkling AppTrsJO 5! Ot in eTrsChk /a Approach checking State values: Entr ail ina (ail} O Eatraace /e toute identifier Exit included ina ctit /e toute identifier Over À O included in saOverlap /e toute idaentifier Last - {} included ina sLast /e ouete idenatifier Node i ina eode /o Autoaatic release ExSig = led ia eELSig /- Exit aigal SigCbk led in eSigChk /e Signal chockina FilChk a na ina eFilChk /e Filament chockiLag Statesa: =nset roquest free-request control freao-control checklag checked tirst- track oecond-track cancelled cancellatioa delayed PROGRAC Local: aut = ail in {ail} U Aut rt * ail ina (ail} U toute Base c ail ina ail} U Peosage back s ail in {ail} C oback *ntr = ail in {nil} O sEUtr&ace ext = ail in {(il} U sEUit over ail iLa {ail} U sOverlap lait = ail ia {nil} U sL&t mode a U in eXode zeig = Led ia *EXSig eigchk led in eSigChk filchk TIlGa ia eFilChk patchk 0i ia *PautChk trechk 0 1 ia eTreChk ftrcchk O0 in eTreChk etrcchk = 01 ia eTreChk rtechk R ltoChkInit ia o]toChk FOIL EVET STATE: receipt: iipp tp] (rt,trech) e.ndim.: oApp tDa] (rtc. ,trechk) recipt: iApp CDa](rte.trsechX) soadian: oApp (Up] (ra.trochk) recipt: iloq (Up](exit) condition: exit not ia eLaet xec: add (ezit.Ezit) onding: oloq tDa](exit) receipt: iReq [Up](over) condition: over not ia eLast exec: add (overOver) *oLdia: oleq [Du](over) receipt: ileq rup](lat) e*ec: add (laetLast) back a get.back(last) oendin: oleq rba ck] (lest) receipt: iCtrl [Up](exit,rtecXbk) condition: exit not La Laiet exit iL auit ezec: rtchX.e z eig a SxSig $endia4: oCtrl tDU](exit.rtechk) receipt: iCtrl [Up](over.rteck) condition: oser ot ina eLast over in Over sendiun: oCtrl [Du](over,rtechk) receipt: iCtrl [Up](lastrtochk) condition: lait in Lait last in sExit oeec: back a getback(last) rtechk. ezxig s ExSig sesadia: oCtrl back](lait,.rtochbk) receipt: iCtrl CUp](lastrtschk) condition: lait in Lait lait not in &Exit exec: back et.-back(lait) eaendin: octrl CbackJ(lait.rtochk) receipt: iChk CUp](ozit.rtechk) condition: eit not in iLast exit ina Exit xec: rtchk.exoii- s ExSig esadifi: oCbk CtDa](ezit.rtchk) receipt: iCk CUp](overrtchr) coadition: over not ia *Last over in Over sendiag: oChk tDu](over.rteck) receipt: iCk CUp](laist,rtehk) conadition: lait ia Lait laist in sExit exec: back a get. back(lit) rtechk.ezsig À ExSig sendin: oCk back] J(last, rtecwk) receipt: iCk Cup](lastrtechh) condition: lait in Last lait not in ExLit exec: back get.backC(last) e eLdi3m: oChk tback] (last.rteck) receipt: iFree [Up](exit) condition: exit not ina CL&t exit in txit exec: sub (exittExit) esendia: oFree Da](exit) receipt: iFree (Up](over) condition: ostr not iL.Let over i. Over exec: sub (over.Over) seodin: oFree [Du](over) receipt: iFree rup](last) condition: lait in Lait xoec: sub (lastLast) back À getback(last) soending: oFree back](lasCt) receipt: iCon.f Du](autrte.ezit) condition: exit rot in iLast exit in Exit *exec: ab (exit,Exit) mending: oCoa Up)(aut. rte,exit) receipt: iCon. Du]J(aut,rte.over) conditioa: over sot in aLaut over in Over Oxec: sub (overOver) Iending: ocoDf (Up](autrte,over) receipt: iFree [Back](rte) endimg: oFree [Sys](rte) ELSE STATE aseet INITIAL: Eatr a nil Node a U receipt: iCXk [Sig](Entr.ld.filch]) exec: ExSig ILd SigC'k a"d FilChk filchk receipt: iChk tSig](Entr.sigcb].IilcX) condition: e igchk! led exec: EXSig = 1sd SigCbk = sigchk FilCbk * filchk condinm: oCtrl [Sig] (Euctr.ld) reclipt: 2Rq Sys] (entr) *Xec: E. ntr = entr transit: request sandin: olRq CDa] (Entr) receipt: Bons sandiy: oBad [Sys] (mess) STATE roquact: receipt: iChk [Sig] (Eatrled. filchk) exec: EzSig = lad SisC' = led FilC'k - filcbk rsceipt: ichk (Sig] (Eatr. sigchk, filck) coaditioe: sigchk!= led soc: ELSig = lad SigCuk sischk FilCk = filcMk seadin: oCtrl [Sig] (Eatr.ld) roceipt: iFree sys] (Entr) transit: frao-roquest receipt: iNode Isys](Entr,ode) *xec: Node m ode $ëadiq: oNode iSys](Eatr,.odo) recsipt: iCoal Du] (Eatr) transit: neaset sendAs: oConf [Sys] (Eatr) roceipt: ileq [Back] (Etr) transit: control sendinsg: iAlloc Sys] (Entr) oCtrl Da](EatrlteCklIait) receipt: Bess eondin&: olad (Sys](mels) STATE freo-roqaoet: recóipt: iC'k [Sig](Entr.l.dfilc]k) e*eó: ú zSig: I d Si&Cb' * ied FilCLk = ilc.k receipt: iChk tSi](Eantrigchkfilchk) condition: sigchk!: ed *exec: ExSig z Red Si&C k *igcbk FilC'k = filcM. cending: oCtrl [Sig](Eantr. d) receipt: iCouf [1X](autrte, Entr) tranJit: -oet oendias: oFree ISys](Eatr) receipt: ileq CB&ck](Entr) transit: "set -eadin: oFree CD] (Zatr) recipt: nomsa eaadin2: oS&d [Sys](moes) STATE control: receipt: iChk [Sig]3(Eatr.ldfilcbk) e*rc: ESig 1' Sig&k - *.d FilCbl À filclg receipt: iChk [SiS]( riSc filc) conditioa: sigck!- Red exec: EzSig s ld SigChk a sigch FilCbk s filcbk *adiag: oCtrl [Sig] (Eatr,.ed) rocoipt: iFree ISys](Eotr) trausit: frooe-control receipt: iMode [Sys](ECtr.mode) ezsc: Node m ode sendiag: oXode ISyr (ú.tr.rode) recipt: iCtrl [!ack](Eatr.rtecbk) condition: rteók.exaig = ail translit: =aeot sonding: oFree [Da](Entr) receipt: iCtrl EBack](Eantr.rtechk) condition: rtechk.exsig!S ail rtechk.patchk == O0 transit: checked &onding: oSet (Sys](Entr) oCtrl [Sig](Entr.,led) recipt: iCtrl tBackJ(Eatr.rtechk) coanditioa: rtchk.exsig!, ail soendina: oCtrl Da](Entrbtechk'iWt) roscipt: mess sendina: oBad [Sys](less) STATE freo-control: receipt: iChk (Sig](Entr.Redfilcbk) exec: ExSi = ed.4 SigCk led FilChk f ilc3 k receipt: iChk [Sig](Btr.sigchkilclk) condition: sigchk led esec: ExSig lad SigCbk sigck FilChk À filchk sendi=: oCtrl tSig](Entr.led) receipt: iCtrl [Back]( EJD PAOGUM Annexe it,:ATOI r lDeVLo; SUZàoil Sets. lut /e Global set oft automata Route /e Global et of routes oessaie /a Global sot of messages SApP /* Local set of routes s$lock /0 Local set of routes "Firet /e Local est of routes sSecond /0 Local set of routes seerth /e Local cet of routes iOerlap /a Local ect oe routes eLeat /* Local set of routes s3utfer /e Local set of routes siack /e Local set of routes Constante: Dev /e Doevice Sys /l sipguala/ sstem ap //* pstre5a Dcu / Dovaitroks tuput Ressages: iChb bert](route,dovchk.trich) /* Devico chockia4 ilolosao ESys](route) /e touto roelose!! VaLmi3 iAp CUp](routeotreck) /e ipproicC ileq tp](route) /. toute request iCtrl Ctp](route.rtechk) /O touto cotroel iCSk MUp](route.rteckk) /e touto checXhi iFree Up](routo) /O toute csacellatios iApp [Da](route.trschk) /a ipproach iCont MDu](aut.rowte.route) /O toute coSlict Output Nessaies: oCtrl (Dev](routoe.devctrl) /o Device coatrol o3ad [Sys](2es) /. Bd CessSe oApp CUp](route,trschk) /* Approach oCoIf (Up](aut,route.route) /* Route conalict oApp (Du (route, trschk) /* Approach oReq Du] (route) /* Route request oCtrl (Du](route.rtoechk) / Route control oChk [Du] (route.rtechk) / Route checkiag oFroee Du J (route) /e Route relese oReq [back]](route) / Route request oCtrl tback] (route.ertech) /e!oute control oChk [back](route.rtoc]k) /*e loute chcking oFree back] (route) /, toute reliase Eauerat e: *DevCtrl = (cest.Peru) /e Doevice control *Devo (OX,10E1) /- Device checkini eExzSig (nail,ld,TlG /e Exit signal ePatC'hkz =(0,10) /- Points checki=i eTrsChk 3 {0o,10iK /, Track section checkini /* ExSig Put SlkTre FstTrc SecTrc *RteChk = eExSig x ePntChk x eTrsCk x eTrsChk x eTrsCb.k Fuactions: eetrtechk(rtertechk) in eLteChk /o toute checking maaa4er getrtechk(route) in elteChk /e toute chckiag maa4 or get.back(route)' in skck /o t.ck marNer Constant value: AppTrsIol s0 in eTrsChk /e Approach cLckii4 AppTrs10 a og0 inu TrsCbk /e Approach checkini State values: BLk ' a included in sBlock /* toute identifier Over = { included in usverlap / e oLte identifier Last * { included in oLat /t Route identifier Request {} / Set of routes Control = > /e Set of routes Controlled = {} / Set oS routes Cecking = {} /* Set of routes CBecked {} / Set of routes Release {} /, Set o2 routes DevChk À OX ia eDevCbk / Device chckinj TrsCk 101 ia *TrsChk /e Track section checking States: us et request coutrol controlled ch ech LAi checked reliea& Lastit Uneet zl= lock 0 sOverlap ]tequeCt a Control - Controlled ' Checkins Checked {} elease {} Decohk a Ko C Tr&Chk amalK Local: aut aail LI U Aut rte À ail in U o4tte mesnt ail ia U mesae epp a ail in U sAp blk À ail in (ail> U salock over Àail ia (ail> U.Overlap lait ail ia U sLait baci À ail in (ail) U sback patchk 0= in ePatCk trschk 0 La e TrsChk ftrcc]k * 1 in eirCbk strcchk 0: in *TrsChk FOR EVERT STATE: receipt: iApp [Up](rte.AppTrsOE) coaditioa: ?reChk = 01 oending: oApp [Du](rtCe.AppTriOt) receipt: ilpp [Up](rtc, AppTreO[) condition: TrsChk == 101 sending: olpp [Du](rtc., AppTre!O]) receipt: iApp [Up](rte.ippTrsiO[) aondi4: oApp [Du]3(rte,ippTreNOK) roceipt: jApp [Du](rte,ippTreOK) conditioa: TriC.k * CX sondiag: oApp (up](rte.AppTrrnO) recipt: iApp (Du](rte.AppTreso) conditiou: TriCbhk az FO Boadin: oipp [Da](rte.,AppTrlOI) ELSE STATE unzse INITIAL: receipt: iChk CDov](rte.,doevchk.trscbk) *xoc: DevCbk = devchk TreChk À trecek rocoipt: ileq CUp](blk) conditioa: bLk not ia CLaJt *oec: add (blk.Ilk) transit: roquest(blk) oendian: oXRq Dn] (blk) receipt: iloLq [Up](over) conditioa: over not in *Lait exec: add (overOver) transit: request(osver) sondins: oleq tDa](over) recoipt: iRoq [up](last) flac: add (liast, Lact) back = get.back(last) transit: requecst(last) À ndia: oAeq Cback](last) receipt: nous oadiang: oSad (Sys](mois) STATE roquest(bLk): receipt: iCk C Dev](blkdevchktrscbk) *xoc: DevChk = devchk TraCbk trzchk receipt: iCtrl CEp](bk.,rtachk) condition: DevChk ma 0K fzac: s*t.rteck(blkrteck) transit: coatrol(blxk) saondin: oCtrl CDev](blk.lost) receipt: iCtrl [Up](blk.rtochk) condition: DavCbX = 10[ TrsC.k m== oI *lec: sotrtóchk(blk rtochk) transit: control(blk) sondi.ag: oCtrl CDev](blkRest) receipt: iCtrl CUp](blkrtachk) condition: DevC.k a JO11 condition: TroChk *u CE alec: setrtachk(blkrtech) traait: control(bIl) eendiag: oCtrl CDev](blkPor) receipt: iFrea CUp](blk) exec: sub(blk.Blk) transit: unset(blk) aendins: oFree CDa](blk) receipt: iConi EDn](bLk) *zac: sub(blk.,Blk) transit: unoet(blk) eandi,: oConi Up](blk) rechipt: ossi s.ndin8: oBad [Sys](smos) STATE requesct(ovor): rsceipt: iCUX (Dev](oveordevchk.trsch) *xoc: DevChk = doevch TrsChk a trschk recipt: iCtrl [tUp](over. rtocbk) coadition: DoevCbk a== 0 exec: seot.rtock(oveor, rtechk) traoit: coatrol(over) sondimn: oCtrl Doev](over. Ihot) receipt: iCtrl (Up](over.rtecbk) condition: DeovCbk a 1X0 TrrChk == 10! floc: aet-rtecUk(over. rtochk) transit: control(over) oendiag: oCtrl tDev](over.leot) recipt: iCtrl [Up](over.rtechk) condition: DevChk == gO condition: TroChk ma 0K loc: aetrtechk(over, rtechk) transit: control(over) sondiag: oCtrl [Dev](oveorPera) receipt: iFroe Up](over) ezec: aub(over,Over) tramAit: soet(over) onedia: oFree o D]](over) receipt: iCon (Du](over) ezeoc: sub(over.Over) trasit: uneet(oover) oeding: oCoua [Up](over) receipt: meos sendi I 2739824 Annexe 4 SjI I s$ âne Sd'nmld t 1,--P, t.........,, ^-.....................,i l À. L, ^................... oo.oo.o. oo..ooo........... oo. ie.... IkI \'11n. SIg, :::._.:: I ':MlllPXlbB.ik ' S,,, j.j'j'... ''. ' - 4 k Div T, kSW*.ce moà;- \:: ': :: \:.:: : .,. ,r- . Du , m, . rmXi dvf. H, Troekiide.efeiné i K il 1 sm ch REVENDICATIONS 1/ Un système d'enclenchement ferroviaire basé sur une architecture logicielle et servant au trafic des trains en sécurité sur un réseau ferroviaire constitué d'une pluralité d'équipements de voie, caractérisé en ce qu'il comprend un ensemble de tâches (Trc-AEA,Trc-AEB,...) associées respectivement aux équipements de voie (AEA,AEB,... ) correspondant constituant le réseau, en ce que les tâches implémentent une logique distribuée pour l'établissement et la libération d'itinéraires par propagation de messages (Req,Ctrl,Chq,Free) à travers des successions de canaux logiques de communication (6) interconnectant chacun une sortie de message d'une tâche et une entrée de message d'une autre tâche, et en ce que les canaux logiques de communication sont implémentés entre les tâches suivant une disposition correspondant à une certaine topologie géographique du réseau. 2/ Le système selon la revendication 1, dans lequel la logique distribuée de propagation de messages est constituée par des automates à états finis implémentés dans les tâches. 3/ Le système selon la revendication 1, dans lequel la logique distribuée est agencée pour propager des messages à travers une succession de tâches dont les équipements de voie associés définissent un itinéraire, de telle façon que ces messages suivent des canaux logiques de communication interconnectant ces tâches selon une boucle partant de la30 première tâche de cette succession, passant successivement par les autres tâches de cette succession et revenant à la première tâche. 4/ Un procédé pour implémenter un système d'enclenchement ferroviaire selon la revendication 2, consistant dans le traitement informatique d'un fichier de 4-g. description de haut niveau d'abstraction du réseau ferroviaire et d'une bibliothèque de modules logiciel génériques implémentant chacun un automate à états finis correspondant à un type d'équipement de voie.