!HU000004039T2! (19)
HU
(11) Lajstromszám:
E 004 039
(13)
T2
MAGYAR KÖZTÁRSASÁG Magyar Szabadalmi Hivatal
EURÓPAI SZABADALOM SZÖVEGÉNEK FORDÍTÁSA B61L 21/00
(21) Magyar ügyszám: E 03 742528 (22) A bejelentés napja: 2003. 02. 18. (96) Az európai bejelentés bejelentési száma: EP 20030742528 (97) Az európai bejelentés közzétételi adatai: EP 1490253 A1 2003. 08. 28. (97) Az európai szabadalom megadásának meghirdetési adatai: EP 1490253 B1 2008. 07. 02.
(51) Int. Cl.:
(30) Elsõbbségi adatok: 2002SV00009 2002. 02. 22.
(73) Jogosult: ALSTOM FERROVIARIA S.P.A., 12038 Savigliano (Cuneo) (IT)
IT
(72) Feltalálók: MINKOWITZ, Cydney, Cheshire N33 3LR (GB); TRAMONTANA, Francesco, I-61034 Fossombrone (IT) (54)
B61L 27/00 (87) A nemzetközi közzétételi adatok: WO 03070537 PCT/EP 03/001595
(74) Képviselõ: dr. Antallfy-Zsiros András, DANUBIA Szabadalmi és Jogi Iroda KFt., Budapest
Eljárás és készülék logikai vezérlõegységek létrehozására vasúti állomás alapú létfontosságú számítógép-berendezésekhez
HU 004 039 T2
(57) Kivonat Eljárás logikai vezérlõegységek létrehozására vasúti állomás alapú létfontosságú számítógép-berendezésekhez, vagyis vasúti állomás rendszer vezérlõegységekhez, amelyek legalább egy létfontosságú számítógépet tartalmaznak, amely egy logikai egységgel kombináltan mûködõ vezérlõprogram alapján állapot átkapcsoló vezérlõjeleket küld meghatározott vasúti közlekedés vonatkozású mûveletek végrehajtására tervezett úgynevezett pályaudvari elemekhez és állapot visszacsatoló és/vagy diagnosztikai jeleket kap azoktól, az említett logikai egységet egy generálóprogram állítja elõ automatikusan egy pályaudvari elemlistát tartalmazó állapot diagram és egy állapot táblázat által definiált környezeti feltételek alapján, az említett logikai egység olyan áramkörök hálózata, amelyek összetevõi logikai Boole-függvények szerint mûködnek és az állomás diagrammal és az állapot táblázattal összhangban alkalmas módon strukturáltak, vagy ahol az említett logikai vezérlõegység egy olyan program, amelynek algo1. ábra A leírás terjedelme 14 oldal (ezen belül 2 lap ábra) Az európai szabadalom ellen, megadásának az Európai Szabadalmi Közlönyben való meghirdetésétõl számított kilenc hónapon belül, felszólalást lehet benyújtani az Európai Szabadalmi Hivatalnál. (Európai Szabadalmi Egyezmény 99. cikk (1)) A fordítást a szabadalmas az 1995. évi XXXIII. törvény 84/H. §-a szerint nyújtotta be. A fordítás tartalmi helyességét a Magyar Szabadalmi Hivatal nem vizsgálta.
1
HU 004 039 T2
2
ritmusai logikai Boole-függvényekbõl vannak összeállítva, amelyek Boole-féle logikai áramköri hálózatokként mûködnek. A találmány szerint az eljárás az automatikusan létrehozott logikai egység helyességét ellenõrzõ lépést tartalmaz, amely magában foglalja: két logikai vezérlõegység azonos állomás diagram szerinti és
azonos állapot táblázat szerinti párhuzamos létrehozását két, egymástól különbözõ generálóprogrammal; és a két különbözõ generálóprogram által nyújtott logikai áramkör hálózatok vagy hálózatszimuláló logikai programok összehasonlítását a közöttük található strukturális különbségek ellenõrzésére.
A találmány logikai vezérlõegységek létrehozására szolgáló eljárást céloz vasúti állomás alapú létfontosságú számítógép-berendezésekhez, vagyis vasúti állomás rendszer vezérlõegységekben, mint az 1. igénypont tárgyi körében olvasható, és egy telepített létfontosságú számítógép berendezést az említett eljárás végrehajtására. Ilyen típusú eljárás és telepített létfontosságú számítógép berendezés az ITGE94A000061 számú olasz szabadalmi bejelentésbõl ismert. Az állomás rendszerek általában olyan központi egységgel rendelkeznek, amely a vezérlést biztosítja a különbözõ pályaudvari elemek számára, mint amilyenek a jelzõberendezések és/vagy kapcsolók és/vagy sínáramkörök, vagy hasonlók. Annak biztosítására, hogy a vonat biztonságosan elhaladjon, ezeknek a pályaudvari elemeknek különbözõ állapotokat kell felvenniük, mint amilyen egy „vágány nyitva”, vagy egy megállítójel, vagy biztosítaniuk kell egy vasúti kapcsoló meghatározott logika szerint kapcsolását, ami figyelembe veszi egyéb pályaudvari elemek állapotát vagy gondoskodik azok átkapcsolásáról, amelyek, ha meghatározott állapotba kapcsolják vagy meghatározott állapotban hagyják õket, ütközéseket vagy veszélyes helyzeteket okozhatnak, vagy egyszerûen csak nem felelnek meg az engedélyezett vasúti közlekedési mûveletek követelményeinek. A pályaudvari elemek általában olyan mûködtetõeszközökkel vannak ellátva, amelyek különbözõ állapot kapcsolási mûveleteket hajtanak végre és gondoskodnak azoknak a készülékeknek a vezérlésérõl és/vagy megfigyelésérõl és/vagy diagnosztizálásáról, amelyek jeleket küldenek aktuális állapotukról és mûködõképességükrõl úgy, hogy az állomásalapú állomásberendezés, vagyis a központi vezérlõegység a teljes forgalmi beállítást minden idõben ellenõrizni és szabályozni tudja. Ezért egy meghatározott elemhez továbbított, elõre meghatározott állapot kapcsolási vezérlés jól meghatározott szabályok szerint más pályaudvari elemekhez címzett állapot fenntartási vagy kapcsolási vezérlésláncot indít el. Mivel a központi vezérlõegységnek nemcsak arról kell gondoskodnia, hogy alegységei dedikált módon kommunikáljanak a különbözõ elemekkel mind a vezérlések elküldéséhez, mind a visszacsatolások vételéhez, hanem szigorú logika szerint kell mûködnie, amely biztonsági biztosítási mûveletekkel összhangban pályaudvari elem állapot kapcsolási szabályokat is magában foglal. Ezek a hálózatok létrehozhatók kizárólag hardveres úton, vagyis elõre meghatározott Boole-mûveletek végrehajtására tervezett hardver-
összetevõkkel összekötött áramkörök hálózatával, és aktuálisan így is vannak kialakítva. Jellemzõen vasúti alkalmazások esetében a Boole-mûveletek végrehajtására szolgáló összetevõk jelfogó áramkörökbõl vagy logikai integrált áramkörökbõl állnak, amelyeket kifejezetten arra terveznek és úgy állítanak össze, hogy egy pályaudvari elem állapot kapcsolási szabályokkal kompatibilis vezérlõkimenetet hozzanak létre. Ahogy számítógépeket kezdtek bevezetni vasúti alkalmazások megvalósítására, a hardveres logikai egységeket fokozatosan kiszorították a vezérlõ- és megfigyelõprogramok, beleértve az egyes hardver Booleoperátok viselkedését leíró Boole-egyenlet készleteket, amelyek, ha megfelelõ módon integrálják egy logikai vezérlõprogramba, akkor egy hardverrel egyenértékû virtuális logikai egységet képeznek. Egy központi létfontosságú számítógép különbözõ szabványosított könyvtár eljárást tartalmazhat, például állapot kapcsolási vezérlések létrehozó meghajtókat, diagnosztikai, vezérlõ- és megfigyelõfunkciók kezelésére szolgáló programokat, melyek vezérlõ- és megfigyelõstruktúrákat foglalnak magukban és általános biztonsági szabályozott mozgási szabályokat reprodukálnak. Ezeket az általános menedzselõprogramokat azonban az állomásrendszer sajátságos struktúrája, vagyis pályaudvari elemei és az azokkal kapcsolódó állapot kapcsolási szabályok, úgynevezett állapot táblázatok alapján speciálisan testre kell szabni. Ebbõl a célból minden egyes központi egységnek szüksége van egy logikai vezérlõprogramra a környezeti feltételekhez és állapotokhoz igazodó vonatkozó vezérlõ- és megfigyelõmûveletekhez, mint azt az állomásrendszer struktúrája definiálja. Ezek a vezérlõlogikák nem hozhatók létre elõre, mert alkalmazásfüggõk, vagyis mindig egy adott állomásrendszer felépítéstõl függnek. A Boole-egyenletekbõl felépített vezérlõlogikák, melyek változóit a különbözõ elemek állapotai és azok állapotvezérlései és diagnosztikai adatai szolgáltatják, ismert módon automatikus rendszerekkel is létrehozhatók, vagyis olyan generálóprogramokkal, amelyek létrehozzák azt a Boole-egyenlet készletet, amely az állomás specifikus vezérlõ és megfigyelõ logikai programok algoritmusait képezi állapot táblázatok vagy állapot kapcsolási táblázatok használatával és az állomásrendszer-diagrammal, mint ismert vagy bemenõadattal. Az ismert megoldások eljárásai biztosítják a logikai vezérlõ- és megfigyelõmodul létfontosságú számítógépében így létrehozott vezérlõ logikai megvalósítását és megvalósítják az azt követõ funkcionális ellenõrzést,
15
20
25
30
35
40
45
50
55
60 2
1
HU 004 039 T2
adott esetben a logikai program javításával, illetve szerkesztésével, ha a pályaudvari elemek között esetlegesen hibák vagy állapot inkompatibilitások lépnek fel. Ez a funkcionális ellenõrzés általában helyszíni teszteket foglal magában, vagyis akkor hajtják végre, amikor a vezérlõ- és megfigyelõegységet a szóban forgó állomás rendszerben már telepítették. Az ellenõrzõ üzemmód viszonylag összetett és idõigényes. Ezen túlmenõen, ha a logikai egység nem egy szoftvertermék, hanem Boole-függvények végrehajtására tervezett elektronikus alkatrészek készletébõl van összeállítva, akkor a megvalósítás még bonyolultabb, mert az áramkört még az elõtt fel kell építeni, mielõtt annak mûködését meg lehetne vizsgálni. A találmány feladata a fent ismertetett eljárás javítása, hogy csökkenteni tudjuk az idõkövetelményeket, egyszerûsíteni tudjuk az ellenõrzési mûveleteket, miközben továbbra is fenntartjuk a logikai egység nagy mûködési biztonságát, összhangban a pályaudvari elem állapot kapcsolási szabályokkal és az állapot struktúrájával. A találmány a fenti célokat egy az eddigiekben leírt eljárással éri el, amely az alábbi lépéseket foglalja magában: – Két logikai vezérlõegység párhuzamos létrehozása ugyanazon állomásdiagram és ugyanazon állomástáblázat szerint, a két egységet két generálóprogrammal hozzuk létre, amelyek annyira különböznek egymástól, amennyire csak lehetséges. – A két különbözõ generálóprogram által nyújtott logikai áramkör hálózatok vagy hálózatszimuláló logikai programok összehasonlítása, hogy megvizsgáljuk az azok közötti különbséget. Ha nem találunk eltérést, akkor a logikai vezérlõ- és megfigyelõegység Boole-egyenleteit hibátlannak minõsítjük. Ha eltéréseket fedezünk fel, akkor változtatásokat és korrekciókat kell végrehajtani. Ezek a változtatások és korrekciók adott esetben annak az ellenõrzésében merülnek ki, hogy az állapot táblázatok és az állapotdiagram megfigyelhetõ formátumban megfelelõ módon kódoltak¹e a programok létrehozásához. A két logikai generálóprogram egymástól független, mind programozási nyelve, mind pedig a szisztematikus változó elemzés olvasás tekintetében. Nagyon nagy állomásrendszereknél nagyszámú változó van jelen, és, jóllehet az algoritmusnak csupán egyszerû mûveletek végrehajtására kell alkalmasnak lennie, a pályaudvari elemek száma és az egyes állapotok közötti logikai kapcsolatok erõteljes feldolgozási feladatot jelentenek. Ilyenkor olyan feldolgozóalgoritmusok használhatók, amelyek úgynevezett neurális hálózatokból állnak, ahol a pályaudvari elemek listái és az egyes pályaudvari elemek közötti állapot vagy állapot kapcsolási viszonyokat leíró állapottáblázatok tudásbázisként állnak rendelkezésre. A neurális hálózatok azzal a jelentõs elõnnyel járnak, hogy tudásuk a használat során egyre bõvül, mivel a tudásbázis és annak interpretációja progresszív módon emelkedik, és
5
10
15
20
25
30
35
40
45
50
55
60 3
2
ennek eredményeképpen a számítási módok is megváltoznak. Ezen túlmenõen a neurális hálózatok a tudásbázist lényegében az állapot táblázat- és az állomásdiagram speciális felépítésétõl függetlenül használják, és általánosságban képesek arra, hogy az azonos vagy hasonló helyzeteket felismerjék és azokat tapasztalatként hasznosítsák, hogy a tudásbázisban szereplõ helyzetekkel analóg új helyzeteket lekezeljék. Ha szoftveresen hozzuk létre, akkor a két generálóprogrammal létrehozott logikai vezérlõegység olyan egyenletkészletbõl áll, melyek létrehozása az állapot táblázattal és az állomáselemmel kapcsolatos információn alapult. Az állomáselemmel kapcsolatos információk magukban foglalják az egyes állomáselemek által igényelt bemeneti és kimeneti adatok típusát, egy azonosítókódot és egy vezérlõprogramot, vagyis egy meghajtót, amellyel a logikai egység által létrehozott vezérlést a pályaudvari elem és az idõjelzõk számára érthetõ vezérléssé alakítsuk át. Megjegyezzük, hogy az ismert mûszaki szinthez hasonlóan maga a vezérlõlogika független a mindenkori meghajtótípustól, és hogy annak csupán a vezérlõbemenet és/vagy vezérlõ kimeneti változókat kell ismernie. Ez lehetõvé teszi, hogy az eljárást már meglévõ vezérlõegységeknél is használhassuk, ha az állomást kibõvítik. Ilyen esetben egy új vezérlõlogikát hozunk létre, figyelembe véve a változásokat, és nem szükséges meghajtókat vagy más összetevõket rendelkezésre bocsátani azokon kívül, amelyek a központi vezérlõegység memóriájában, speciálisan erre a célra szolgáló szakaszokban már megvannak, amelyeket a logikai vezérlõegység megfelelõen le tud hívni vagy el tud irányítani, ha a releváns elemet kell lekezelni. Ilyen esetben a programok létrehozása, valamint az állapottáblázat és az állomásdiagram bemeneti vagy kiolvasómodulok létrehozása stabil szakaszt alkothat a központi vezérlõegység, vagyis a létfontosságú számítógépállomás-berendezés menedzselõszoftverében. Az eredményül kapott logikai egységek Összehasonlítására szolgáló programként, vagyis azoknak az algoritmus egyenleteknek az összehasonlításához, amelyek a logikai egységeket definiálják, összehasonlító szoftvertermékeket használhatunk, például Mortice Kern Systems Inc. cég MKS Visual Difference for Win 32 – Release 3.2b termékét és/vagy a Microsoft cég Microsoft® WinDiff – Release 4.0 elnevezésû termékét. Ha a két különbözõ generálóprogram által létrehozott logikai vezérlõegységek közötti összehasonlítás alapján egybeesõ eredményt kapunk, vagyis nem tapasztalunk eltérést, akkor a létrehozott logikai vezérlõegység helyesnek értékelhetõ. Ha a két egység nem esik egybe, akkor az összehasonlító program egy olyan eltéréslistát hoz létre, amelyet ki kell elemeznünk, hogy korrekciókat végezhessünk, minek alapján a két különbözõ generálóprogram által a logikai vezérlõegység létrehozásának és azután összehasonlításának a lépéseit meg kell ismételnünk.
1
HU 004 039 T2
Ennek az ellenõrzõ módnak az elõnye jelentõs, mert úgy hajtható végre, hogy nincs szükség arra, hogy a vezérlõlogikát ténylegesen megvalósítsuk a rendszerben, és az ellenõrzõmûveleteket közvetlenül és kizárólag a logikai vezérlõegység létrehozására használt számítógép virtuális adatain kell végrehajtanunk. A létrehozott logikai vezérlõegységet még a központi vezérlõegységbe sem szükséges betölteni, és arra sincs szükség, hogy a benne lévõ vezérlõprogramokkal és meghajtókkal kapcsolatba hozzuk. Egyéb jellemzõknek megfelelõen a vezérlõlogikageneráló programok olyan bemeneti adatokat kapnak, amelyek nemcsak az egyes pályaudvari elemek állapotra vonatkozó változó adatait foglalják magukban, hanem jel állapot vonatkozású változó adatokat is megfigyelnek, amelyeket az egyes pályaudvari elemek kimeneti adatként bocsátanak a központi vezérlõegység rendelkezésére. A vezérlõlogika generálóprogramjai a változóval kapcsolatos adatok megfigyelése mellett pályaudvari elem diagnosztikai változókra vonatkozó adatokat is kapnak. Egy további javításnak megfelelõen az összehasonlító program és/vagy a második generálóprogram és/vagy mindkét generálóprogram rutinokat tartalmaz a talált hibák kijelzésére, mely hibákat hibaüzenetként jelenítjük meg. Ilyen esetben korrekciós rutinokat bocsáthatunk rendelkezésre, amelyeket a felhasználó szándéka szerint inicializál vagy kihagy, ha úgy dönt, hogy a szerves és strukturált korrekciókat a generáló- és/vagy összehasonlító mûvelet végén hajtja csak végre. Egy további továbbfejlesztéssel összhangban, mivel a két vezérlõlogika-generáló programnak legalább kismértékben különböznie kell egymástól, a két generálóprogram közül legalább az egyik egy a bemeneti adatok elemzésére szolgáló kezdõ rutint foglalhat magában, vagyis az állapottáblázat és/vagy az állapotkapcsoló táblázat és/vagy a szóban forgó állapotrendszerdiagramban lévõ pályaudvari elemek listája szolgálhat bemeneti adatként. Ilyen esetben a fenti bemeneti adatokat strukturális egység szempontjából ellenõrizzük, mind azok kódolása vagy struktúrája, mind pedig a hibák vagy logikai ellentmondások jelenléte tekintetében, mint például azok a kulcsok, amelyek nem egyedi módon azonosítanak egyes pályaudvari elemeket, a pályaudvari elemek tiltott vagy lehetetlen kombinációi, amelyeket az állomásrendszer mégis kérhet stb. Ezért ebben az elõzetes fázisban tökéletes konzisztenciát biztosítunk annak a bemeneti adatbázisnak a számára, amely a logikai vezérlõegység-generáló program tudásbázisát képezi. Megjegyezzük, hogy a találmány szerinti eljárás nagyon könnyû integrációt tesz lehetõvé olyan állomásrendszerekbe, ahol különbözõ pályaudvari elemeket adnak hozzá. A gyakorlatban, mivel minden egyes pályaudvari elem számára elõre elkészített meghajtóegységek állnak rendelkezésre, az új pályaudvari elemeket egyszerûen csak hozzá kell adni, az állomásrendszer-diagram, vagyis az elemek és állapottáblázatok
5
10
15
20
25
30
35
40
45
50
55
60 4
2
listájának a frissítése révén, és két logikai vezérlõegységgel párhuzamosan végrehajtott generálás útján, valamint azok összehasonlításával, hogy a központi vezérlõegységet az új állomásrendszer-helyzetre felfrissítsük. A logikai vezérlõegység-generáló programok lényegében függetlenek a pályaudvar elem típusoktól, és nem szükséges ismerniük sem az egyes pályaudvari elem meghajtókat, sem pedig a megfigyelõ és diagnosztikai rendszereket, hanem csupán az egyes pályaudvari elemekhez elküldendõ vezérlési adatok számát és típusát, valamint a pályaudvari elem vagy annak meghajtóegysége által kibocsátott megfigyelõ és diagnosztikai adatokat kell ismerniük. Ezeknek a vezérlõ és megfigyelõ vagy diagnosztikai változóknak az egyes pályaudvari elemekkel való összhangját az a speciális meghajtó biztosítja, amely a vezérlõ és megfigyelõ és diagnosztikai változókat a pályaudvari elem hardvere által igényelt struktúrává változtatja át, – a vezérlõváltozók vonatkozásában – és a központi vezérlõegység által igényelt struktúrává változtatja át – a megfigyelõ és diagnosztikai változók vonatkozásában. A találmány egy mûködtetõ vasúti létfontosságú állomásvezérlõ berendezésre is vonatkozik (úgynevezett ASCV), amelyet úgy alakítunk ki, hogy központi vezérlõegységet alkosson egy állomásrendszer pályaudvari elemeinek a vezérlésére, mely vasúti állomás alapú létfontosságú számítógép berendezés tartalmaz: az egyes pályaudvari elemek által keltett megfigyelési és diagnosztikai jeleket fogadó bemeneteket, a pályaudvari elemek állapotkapcsoló vezérlõjeleit kibocsátó kimeneteket, egy vezérlõprogramot, amelynek minden egyes különbözõ pályaudvari elem típushoz külön meghajtója, vagyis az állomásberendezés által létrehozott és a pályaudvari elemekhez továbbított vezérlõváltozók vezérlésére és összeköttetésének biztosítására szolgáló programja van, továbbá és/vagy az egyes pályaudvari elemek által keltett és az állomásberendezéshez továbbított megfigyelési és/vagy általános diagnosztikai változók vezérlésre és összekötésére szolgáló programja, egy állapot rendszer diagramja, vagyis egy az állomásrendszer pályaudvari elemeinek és az azok közötti kapcsolatoknak a listáját tartalmazó tudásbázisa, a biztonságos vasúti forgalmi menedzselési követelmények szerinti különbözõ pályaudvari elemek számára engedélyezett állapot feltételezõ vagy állapotkapcsoló szabály adatbázisa, az úgynevezett állapottáblázata, egy logikai vezérlõegysége, amely Booleegyenletekbõl és/vagy logikai függvényekbõl felépített algoritmusokat tartalmaz a pályaudvari elem vezérlõ szekvenciák megfelelõ vezérlés átvitelére és összetûzésére, az állomásrendszer-diagramnak és az állapottáblázatnak megfelelõen. A találmánnyal összhangban az állomásalapú létfontosságú számítógép berendezésnek van továbbá egy programja azoknak az algoritmusoknak az automatizált és redundáns létrehozására, amelyek a logikai vezérlõegységet alkotják, amely a redundanciát a logikai vezérlõegység említett algoritmusainak egy szoftveres ellenõrzésének a végrehajtására használja.
1
HU 004 039 T2
Ez a program egy olyan rutint alkot, amelyet a felhasználó fel tud hívni, ha az állomásrendszer-diagram megváltozott, vagyis ha pályaudvari elemeket adtak hozzá vagy távolítottak el, és/vagy állomásforgalomkezelõ szabályok, vagyis az állapot táblázatok, megváltoztak. A redundanciát a logikai vezérlõegységet alkotó Boole-algoritmusok generálására szolgáló két különbözõ program használatával valósítjuk meg, mely programok két logikai vezérlõegységet hoznak létre, melyeknek algoritmusait, azaz Boole-egyenleteit összehasonlítjuk, és megfelelõnek minõsítjük, ha az összehasonlítás eredményeképpen nem találunk eltérést a létrehozott algoritmusok között. A logikai vezérlõegység algoritmusainak megfelelõségét teljes mértékben biztosítjuk a két generálóprogram révén, amelyek meghatározott mértékben eltérnek egymástól, és eltérésük szintjét két különbözõ programozó nyelv használatával biztosítjuk, amelyekkel a generálóprogramokat létrehozzuk, és/vagy a két generálóprogramot két különbözõ fejlesztõcsoportban fejlesztjük ki, és/vagy különbözõ bemeneti adatstruktúrákat használunk, vagyis az állomásrendszer-diagram és/vagy állomástáblázat-adatokat eltérõen alakítjuk ki, amelyek egyébként konzisztensek azokkal az állomás rendszer diagram és állapot táblázat korlátozásokkal, melyek közül az utóbbi mindkét generálóprogram számára ugyanaz. A találmány egyes továbbfejlesztései az aligénypontokban jelennek meg. A találmány elõnyeit még világosabban megérthetjük egy semmiben nem korlátozó kiviteli alak soron következõ leírásából, amelyet a csatolt ábrák alapján írunk le, amelyeken az: 1. ábra a találmány szerinti eljárás folyamatábrája, a 2. ábra egy állomásrendszer tömbvázlata, amely a találmány szerinti létfontosságú számítógép-berendezést tartalmazza. Áttérve az 1. ábrára, a találmány szerinti eljárás biztosítja az állomásrendszer-vezérlõ és megfigyelõlogika automatizált és redundáns létrehozását, vagyis az egy adott állomáson található különbözõ elemek, például fények, váltók, sínáramkörök vagy hasonló vezérlésére és felügyeletére szolgáló központi egység létrehozására szolgál. Az a központi vezérlõ- és megfigyelõegység, amelyet állomásalapú létfontosságú számítógépállomás-berendezésnek nevezünk, általánosságban két logikai vezérlõ- és megfigyelõszintet foglal magában. Az általános folyamatorientált vezérlõ, megfigyelõ és adott esetben diagnosztikai logika folyamatorientált programokból áll, amelyek függetlenek a mindenkori állomásrendszertõl és annak struktúrájától, valamint az elemek és/vagy az egyes vasúti forgalmi követelmények számától és típusától. Jellemzõ módon ezek a programok olyan logikai struktúrát használnak, amely Boole-féle kimeneti adatot bocsát ki és Boole-féle bemeneti adatot fogad, aminek csak igaz-hamis értéke lehet. Ezek az univerzális folyamatorientált programok nem képesek bármely rendszerben megfelelõen mû-
5
10
15
20
25
30
35
40
45
50
55
60 5
2
ködni, és szükségessé teszik a vasúti állomásrendszer adott konfigurációjával összhangban kialakított logikai adatok, különösen vezérlõ- és visszacsatoló adatok feldolgozását. Ezen túlmenõen bármely meghatározott állomásrendszernek biztosítania kell meghatározott vasúti forgalmi menedzselési mûveleteket, amelyeket elõre meghatározott biztonsági menedzselési szabályok szerint kell végrehajtani. Ezek a szabályok megkívánják, hogy a különbözõ elemekhez irányuló állapot feltételezõ vezérléseket és az azoktól érkezõ megfelelõ teljesítmény visszacsatolásokat, olyan elõre meghatározott diagramok szerint fûzzük össze, amelyek nemcsak az adott rendszertõl függnek, hanem állapot vezérlõ- és kapcsolószabványoktól és mozgás-végrehajtási szabályoktól is, amelyek esetrõl esetre változnak és az egyes vasúti forgalom menedzselõ szervezetektõl függnek. A fentiek és az 1. ábra alapján, a találmány egy eljárásra vonatkozik egy említett állomás rendszerspecifikus vezérlõ- és megfigyelõlogika automatizált létrehozására, amely magában foglalja az állomásrendszerdiagram adatok megfigyelhetõ formában történõ feldolgozási és elemvezérlõ menedzselési és/vagy állapot kapcsolási szabályok elsõ lépését, egy az említett vezérlõ és megfigyelõ és/vagy diagnosztikai logika generálására szolgáló programból. Ezért két adatbázist hozunk létre, egyet a rendszerkonfigurációhoz és a másikat az elemállapot feltételezése és/vagy kapcsolási szabályokhoz, melyek figyelembe veszik a vezérlések olyan más elemekkel való kapcsolatait vagy összefüggéseit, amelyek adott esetben egy elsõ elem szabályozása alá kerülnek. Az állomásrendszer felépítési konfigurációs adatbázis és az állapottáblázat-adatbázis (állapotfeltételezési vagy állapotkapcsolási szabályok a különbözõ elemek számára) alkotják az úgynevezett tudásbázist egy algoritmus számára, a szóban forgó vasúti rendszerhez való vezérlõ és megfigyelõ és/vagy diagnosztikai logika generálására. Az adatokat ezt követõen tudásbázisként továbbítjuk egy programhoz, elemzés céljára, valamint vezérlõ és megfigyelõ Boole-egyenletek létrehozására, mely egyenletek lényegében azokat az algoritmusokat alkotják, amelyek a vezérlõ- és megfigyelõprogramot képezik. Ezzel párhuzamosan az állomásrendszerre és az állapottáblázatra vonatkozó ugyanazon tudásbázis adatot elküldjük egy második elemzõ- és feldolgozóprogramhoz is, amely egy második Booleegyenlet készletet állít elõ, hogy egy, ugyanarra az állomásra vonatkozó és az elsõ programmal megegyezõen ugyanazon a menedzselõszabályokon nyugvó második logikai vezérlõ- és megfigyelõprogramot generáljon. Ezt követõen a két Boole-egyenlet készletet összehasonlító algoritmusokkal összehasonlítjuk. Az összehasonlítás eredménye meghatározza, hogy az állomásspecifikus vezérlõ és megfigyelõ logikai program magját alkotó Boole-egyenleteket sikerült¹e hibátlanul létrehozni, vagy a generálás során hiba lépett fel.
1
HU 004 039 T2
Ha a két Boole-egyenlet készletet egymással megegyezõnek találjuk, akkor hibátlannak tekintjük azokat, és a vezérlõ és megfigyelõ logikai programot biztonsági szempontból hitelesnek tekintjük. Ha eltéréseket észlelünk, akkor az összehasonlító program a különbségeket jelentõ üzeneteket továbbít, melyek hibaüzenet megjegyzéseket vagy más speciális jelzéseket is tartalmazhatnak arra nézve, hogy milyen eltéréseket detektáltunk és hogy milyen hibák okozták vagy okozhatták az eltéréseket. Utóbbi esetben korrekciós mûveletre van szükség, majd azután a generálási mûveletet meg kell ismételni. A redundáns generálási és összehasonlító lépés biztonsággal helyettesíti a korábbi, technika állásához tartozó ellenõrzõ lépéseket, amelyeket akkor kellett elvégezni, amikor a vezérlõ és megfigyelõ logikai programot betöltötték a központi vezérlõegységbe, és amikor az egyes funkcionális terepi ellenõrzéseket közvetlenül az állomásrendszerben kellett végrehajtani, ily módon jelentõs költséget és idõráfordítást okozva. A Boole-egyenletek redundáns készleteinek redundáns generálásán és összehasonlításán alapuló ellenõrzõ lépést vagy ugyanazon a számítógépen hajtjuk végre, mint amelyen a generálás is megtörtént, vagy egy erre a célra kijelölt számítógépen, és ez a lépés viszonylag gyors. Idõlegesen párhuzamos generálás is megvalósítható, vagy ugyanazon a számítógépen vagy két különálló számítógépen. A Boole-egyenletek készleteinek generálására szolgáló programok közötti különbségek különbözõ szintûek lehetnek. Ezt úgy érhetjük el, hogy eltérõ programnyelveket használunk vagy a programokat különbözõ fejlesztõcsoportokkal hozatjuk létre. Például, ha neurális hálózatokat használunk, akkor nagyszámú hálózat létezik, amelyet különbözõ fejlesztõk bocsátanak rendelkezésre, melyek különbözõ szabályok szerint elemzik a tudásbázisokat, és általánosságban azonos eredményeket adnak, jóllehet kicsit eltérõ idõn belül. Nyilvánvaló, hogy a redundáns generálás nemcsak egy járulékos generálási mûveletre korlátozódhat, és ha kettõnél több generálóprogram áll rendelkezésre, akkor a Boole-egyenleteket redundáns módon két, három vagy még több készletben is létrehozhatjuk, ahol ezek az egyenletek, mivel az állomásrendszer specifikus vezérlõ és megfigyelõ logikai program nagyobb biztonsági szinten ellenõrizhetõ, nem növelik lényegesen a költségeket vagy a feldolgozás idejét. Egy továbbfejlesztés értelmében egy elõzetes lépést is végrehajthatunk, amelyben az állomásrendszer-diagramot és az állapottáblázatot tartalmazó bemeneti adatbázist létrehozzuk és egy ellenõrzést hajtunk végre az állomásdiagramnak és a program specifikus korrekciós táblázatnak a bemeneti formátumra történõ fordítása tekintetében úgy, hogy kiszûrjük a rosszul kódolt állomásrendszer-információval létrehozott rossz egyenleteket és állapottáblázatokat, valamint ellenõrizzük az állapottáblázatok programok ge-
5
10
15
20
25
30
35
40
45
50
55
60 6
2
nerálásához használt tudásbázis nyelvre történõ fordítását. Ebben az esetben, az elõzetes lépés az állomásspecifikus vezérlõ és megfigyelõ logikai program generálásra magában foglalja a tudásbázis ellenõrzésének a lépését, mind annak felépítése tekintetében, mind pedig a tudásbázisban kódolt adatok konzisztenciája tekintetében, a rendszerdiagrammal és az állapottáblázattal. Egy meghatározott kiviteli alak esetében a fenti lépéseket az alábbiak szerint hajtjuk végre: A tudásbázist kialakítjuk az egy „diagram könyvtár” és egy „állomáskönyvtár” különbözõ bemeneti fájljaiban megtalálható definíciók és adatok olvasásával. Ezek a definíciók és adatok az állomásdiagramnak felelnek meg, valamilyen kódolt nyelven kifejezve, illetve az állapottáblázat adatbázisnak felelnek meg. Olvasás után az adatokat és definíciókat hozzáadjuk a tudásbázishoz, amelyet arra használunk, hogy kellõképpen végrehajtsuk a két azt követõ mûveletet. A két generálóprogram az alábbi jellemzõ bemeneti diagram fájlokat kéri: configurazione.pl componenti.pl subnet.pl agenda.pl Ezeket a fájlokat egy könyvtárban kell elhelyezni, amit ezután „diagram könyvtárnak” nevezünk, és amelyet a két generálóprogram el tud érni. Ezen túlmenõen ennek a könyvtárnak az „agenda.pl” fájlban hivatkozott minden egyes funkcionális fázishoz tartalmaznia kell egy-egy fájlt (amely „.pl” kiterjesztésben végzõdik). Ezek a funkcionális lépések azok, amelyek az állomásrendszer-diagram szinten vannak definiálva. A két generálóprogram az alábbi bemeneti fájlokat kéri, amelyek az egyes állomások állapottáblázatából nyert adatbázisra vonatkoznak: db_tabella.pl db2_tabella.pl Ezeket a fájlokat egy könyvtárban kell elhelyezni, amelyet ezután „állomás könyvtárnak” nevezünk, és amelyet a generálóprogramok el tudnak érni. Ez a könyvtár nyilvánvalóan különbözõ lehet a fent definiált „diagram könyvtártól”. A feldolgozás során a generálóprogramok az alábbi riportfájlokat állítják elõ, amelyek saját generálóprogramjaik „diagram könyvtárában”, illetve „állomás könyvtárában” kerülnek elhelyezésre, könyvtáraiban. ades2++_schemistica.log ades2++_stazione.log ades2_schemistica.log ades2_stazione.log Ebben az esetben a két generálóprogramot ades2nek, illetve ades2++-nak nevezzük. Az ades2++ vagy ades2 program, vagy mindkettõ program vonatkozásában a fenti fájlok szöveges üzeneteket tartalmaznak, amelyek az alkalmazás különbözõ végrehajtási lépéseire vonatkoznak, beleértve bármely hibaüzenetet, amelyet a bemeneti fájlok rossz szintaxisa vagy az állomásspecifikus Boole-egyenletek generálása során fellépõ hibát okoznak.
1
HU 004 039 T2
Ezért minden egyes meghatározott állomás számára az alábbi Boole-egyenleteket generáljuk, az „állomás könyvtárban” található következõ fájlban: ades2++_equazioni.dat ades2equazioni.dat Azt a formátumot, amellyel a generálóprogram ades2++ a Boole-egyenleteket írja, az ades2 programmal is felhasználjuk. A fájl elején vagy végén ekvivalens szövegsorokat adunk hozzá, és megfelelõ kommentáló sorokat illesztünk be, hogy lekorlátozzuk az egyes funkcionális lépések számára létrehozott egyenleteket. H az egyenleteket egynél többször állítjuk elõ, az utolsó két generált Boole-egyenletet az „állomás könyvtárban” mentjük el, azt követõen, hogy megfelelõen átnevezzük ades2++_equazioni.bak ades2_equazioni.bak névre. A tudásbázis adatokból kiindulva (feltételezve, hogy az utóbbi helyesen kerül generálásra) minden egyes funkcionális lépéshez egy-egy állomáslogikát hozunk létre, mint azt az „agenda.pl” fájlban definiáltuk. Ezt a logikát logikai áramkörök rendezett készleteként hozzuk létre, ahol minden egyes áramkört úgy hozunk létre, hogy az elvi diagram releváns definícióit alkalmazzuk az állomásspecifikus adatokra. Minden egye áramkör tartalmaz egy összetevõ hálózatot, valamint egy vagy több terminál összetevõ listát. Az ades2++ program, amely a Boole-egyenletek redundáns generálását végzi, az elõzõ lépés során létrehozott áramköröket Boole-egyenletekké konvertálja. Minden egye áramkört egy vagy több egyenletté konvertálunk, ahol a létrehozott egyenletek számát meghatározott konfigurációs korlátozások is befolyásolják, amelyet a központi vezérlõegység, vagyis az úgynevezett állomásalapú létfontosságú számítógép-berendezés ír elõ. Minden egyes egyenletet egy eredményül kapott Boole-változó lista és egy Boole-változókat tartalmazó kifejezésekkel végzett mûveletek által létrehozott kifejezés alkot. Ezeknek a változóknak mindegyike egy áramkör (terminális vagy nem terminális) összetevõjét jelenti, vagy egy olyan „virtuális” összetevõt, amelyet arra használunk, hogy az ugyanabból az áramkörbõl létrehozott két egyenletet összekössünk. A generálóprogram minden egyes egyenletet megfelelõ sorrendben, beleír az „ades2++equazioni.dat” elnevezésû fájlba, amely a kiválasztott állomással társított „állomás könyvtárban” található. Ebben a fájlban az egyenleteket pontosan abban a sorrendben állítjuk elõ, mint az ekvivalens fájlban, amelyet az elsõ ades2 generálóprogram generált. A következõkben egy felhasználói interfész példát mutatunk be, amely kifejezetten a második ades2++ generálóprogrammal történõ generálásra vonatkozik. Itt most annak a lépésnek a bemutatása következik, amelyben a tudásbázist betöltjük és elvégezzük a hibátlanság és konzisztencia ellenõrzését, hivatkozva az elõzõ példában elsõ ades2 generálóprogram által elvégzett generálólépésre.
2
Ha az ADES2++ alkalmazást a Windowsban elindítjuk, akkor a következõ általános információs üzenet jelenik meg: 5
10
15
20
25
30
35
40
A számítógép kijelzõje egy alkalmazás ablakot jelenít meg, amely az alatta lévõ ablakon látható összes vezérlést és gombot tartalmazza. Megjegyezzük, hogy az alkalmazás verziószáma az ablak címsorában jelenik meg. Szokásos módon az ablak mozgatható, minimalizálható, maximalizálható és bezárható, a Windowsban szokásos gombok és tulajdonságok révén. Megjegyezzük továbbá, hogy az ablak mutatja azokat a diagram könyvtár és állomás könyvtár fájlokat, amelyeket az elsõ ades2 nevû program használt a vezérlõ és megfigyelõ logikai program generálásához. Az ablak tartalmazza az összes vezérlést, amely felhasználható a megfelelõ diagram és állomás könyvtárak kiválasztásához. Pontosabban, az ablak három gombot tartalmaz, mindegyiket arra használjuk, hogy kiválasszuk az elõzõleg leírt üzemmódok valamelyikét. Van két további gomb is, amelyek lehetõvé teszik, hogy megvizsgáljuk a diagram, illetve az állomás riportfájlokat. Az ablak alján lévõ állapot sort arra használja az alkalmazás, hogy meghatározott állapotinformációt jelenítsen meg. A gombok mindig engedélyezettek, kivéve, ha a fõ funkciók valamelyike éppen fut. Ez lehetõvé teszi a felhasználó számára, hogy az alkalmazást egynél többször is használja ugyanahhoz az adatkészlethez vagy akár más adatkészlethez. A felhasználó az alkalmazást bármikor bezárhatja, az alkalmazás ablak bezárásával. Ebben az esetben a felhasználótól megkérdezzük, hogy nyugtázza¹e a kilépést a következõ párbeszéd ablak használatával:
45
50 Annak érdekében, hogy használhassa a fenti tulajdonságokat, a felhasználónak ki kell töltenie a megfelelõ vezérlõelemeket a diagramokra és a releváns állomásra vonatkozó bemeneti fájlokat tartalmazó könyvtá55 rak teljes nevével. Ha a felhasználó rákattint bal egérgombjával a „Carica Dati di Stazione” gombra, úgy a diagramadatokból és a szóban forgó állomás adataiból létrehozhatja a tudásbázist. Ha a releváns állomás és diagramok számá60 ra már létrehoztak egy tudásbázist, akkor a következõ 7
1
HU 004 039 T2
2
Ha hiba lép fel, akkor a létrehozási mûvelet végén egy arra vonatkozó üzenet jelenik meg, mint az alul látható:
figyelmeztetõ üzenet jelenik meg, amely felkéri a felhasználót, hogy erõsítse meg az új létrehozását:
5
10 A tudásbázis létrehozási jellemzõ megkísérli a jelölt bemeneti fájlok egymás utáni elolvasását. Ha fájl olvasási hiba történik, akkor egy az alábbihoz hasonló üzenet jelenik meg és a tudásbázis létrehozása megszakad:
Ha a bal egérgombbal rákattintunk az „állomás logika létrehozása” gombra, akkor az ades2++ végre fogja hajtani az állomás logika létrehozási mûveletet, az elõzõleg létrehozott tudásbázis alapján Ha az adatbázis 15 nem teljes, akkor a létrehozott logika sem lesz teljes.) Ha az állomás és diagram logikát már létrehoztuk, mielõtt létrehoznánk újból, a felhasználónak meg kell erõsítenie ezt az alábbi üzenet révén. 20
Ha a keresett fájlok valamelyike nem található a megadott könyvtárakban, akkor egy az alábbihoz hasonló üzenet jelenik meg és a tudásbázis létrehozása megszakad:
25
30
35 Ezen túlmenõen, ha a meghatározott fájlok szintaxishibát tartalmaznak, akkor a tudásbázis létrehozása megszakad abban az idõpontban, amikor az elsõ hibát megtalálják, minek következtében egy üzenet jelenik meg, amely megadja annak a fájlnak a nevét és annak a sornak a számát, amelyben és ahol a hiba fellépett (mint lent látható):
40
45
Ha azonban a meghatározott fájlok nem tartalmaznak szintaxishibát, a tudásbázis generálása folytatódik, amíg az összes bemeneti fájl olvasása lezajlik. Az elvi diagram definíciójában detektált bármely más hibát, amely bemeneti formátumban van kifejezve, a „diagram könyvtárban” létrehozott riportfájl fog tartalmazni. Az elvi diagramban található minden egyes inkonzisztens definíció nem kerül bele a tudásbázisba. Az elvi diagram nem teljes definíciói azonban, mint például a nem létezõ összetevõkhöz hozzárendelt tervezési szabályok, mindenképpen betöltõdnek.
50
55
60 8
Ha a logika létrehozása folyamatban van, akkor megfelelõ üzenetek jelennek meg az állapotsorban, azt jelezve, hogy mely funkcionális lépésnél tart a rendszer a logika létrehozásában, valamint a létrehozott áramkörök számát (arra a lépésre vonatkozóan), valamint az addig az idõpontig létrehozott áramkörök teljes számát. Az (az összes lépésre vonatkozó) létrehozott áramkörök teljes számát akkor jelenítjük meg az állapotsorban, ha a mûvelet befejezõdött. Megjegyezzük, hogy a létrehozott áramkörök száma kisebb lehet, mint azoknak az egyenleteknek a száma, amelyeket azt követõen a tárolási lépés során fogunk létrehozni. A logika létrehozási lépés során az éppen betöltött adatoktól függõen egyetlenegy komponenst terminálkomponensként egynél több logikai áramkör számára is lefoglalhatunk. Egy ilyen esemény minden egyes fellépését hibaként fogjuk azonosítani, és mint ilyet, jelezni fogjuk abban a riport fájlban, amelyet az „állomás könyvtárban” hozunk létre. Abban az esetben is, ha egy összetevõ neve meghaladja a maximálisan engedélyezett hosszt, üzenetet jelenítünk meg. Ha a logika létrehozási lépés végén egy vagy több hibát detektáltunk, úgy arra vonatkozó megfelelõ figyelmeztetõ üzenet jelenik meg a képernyõn, mint alul látható.
1
HU 004 039 T2
Ha a bal egérgombbal rákattintunk a „állomás egyenletek eltárolása” nyomógombra, akkor a létrehozott logikai áramköröket Boole-egyenletekké alakítjuk át. (Ha nincs logika létrehozás, akkor egy üres fájlt hozunk létre, vagyis olyan fájlt, amely nem tartalmaz egyenletet.) Ha ugyanahhoz az állomáshoz korábban már létrehoztunk egy egyenlet fájlt, akkor arról egy biztonsági másolatot hozunk létre, mielõtt megkezdjük az új egyenletek létrehozását. Megtörténhet, hogy míg egy meghatározott egyenletbõl létrehozzuk az eredményeket, az alkalmazás egy olyan összetevõt próbál használni, amelyet korábban már „állapotként” definiáltunk, de egyetlen áramkörben sem használjuk nem terminál összetevõként. Ezt az eseményt az alkalmazás megjegyzi és figyelmeztet rá. Ha ahhoz az áramkörhöz más terminál összetevõ nem lett lefoglalva, úgy abból semmilyen Boole-egyenlet nem jön létre. Ebben az esetben az alkalmazás a létrehozási mûvelet végén egy alábbi figyelmeztetõ üzenetet jelenít meg.
5
10
15
20
25
Ezeket az eseményeket szokásos módon az „állomás könyvtárban” létrehozott riportfájlba is bejegyezzük. Ha a két „vázlat riport megnyitása” vagy „állomás riport megnyitása” gomb valamelyikére a bal egérgombbal rákattintunk, akkor a felhasználó elõhívhatja a bemeneti formátumban kifejezett elvi diagramra, vagy az állomásadatokra vonatkozó létrehozott riportfájlokat. Más szóval, az említett két gomb valamelyikére rákattintva a felhasználó egy szöveges ablakot nyithat meg, amely a két fájl aktuális tartalmát jeleníti meg. A felhasználó ugyanahhoz a fájlhoz egyidejûleg több riportablakot is megnyithat. A fenti példára hivatkozva, az eltérések jelentkezhetnek a két generálóprogram között a bemeneti adat konzisztencia ellenõrzõ mûveletekben és a logika létrehozás során a hibaüzenetekben. Az ades2++ által létrehozott egyenlet fájl egy meghatározott diagramhoz és egy meghatározott állomáshoz közvetlenül összehasonlítható az ades2 által létrehozott egyenlet fájllal ugyanazokból a fájlokból történõ létrehozás esetén. Ezért kereskedelmi forgalomban kapható összehasonlító eszközöket használhatunk a két fájl összehasonlításához. Pontosabban, az egyenletek száma és sorrendje, valamint egy fájlban lévõ minden egyes egyenlet eredménye azonos kell legyen a másik fájlban lévõvel. Egy fájl egyenlet kifejezéseinek is azonosnak kell lenni a másik fájléval, vagyis az egyik fájlban lévõ egy egyenlet kifejezésében lévõ minden egyes fogalomnak és mûveletnek meg kell jelennie a másik fájlban lévõ társí-
30
35
40
45
50
55
60 9
2
tott egyenlet kifejezésében. Az egy fájlban lévõ kifejezés bármely szorzatában vagy összegében található tagok sorrendje eltérõ lehet a másik fájlban lévõ társított kifejezésben találhatótól. Ez annak köszönhetõ, hogy a kifejezések létrehozására használt algoritmusok eleve különbözõek a két alkalmazásban, és jóllehet mindkettõnek be kell tartania a merev állomáslogika létrehozási követelményeket (vagyis azokat megfelelõ sorrendben kell befejezni és kifejezni), lehetnek olyan esetek, amelyekben az eltérõ igények különbözõségeket eredményeznek a kifejezések sorrendjében. Az ilyen esetek azonban a gyakorlatban nagyon ritkák lesznek. Az összehasonlító programok vonatkozásában ennek az eljárásnak az az elõnye, hogy kereskedelmi forgalomban kapható programokat használhatunk, mint például: MKS Visual Difference for Win32 – Rel.3.2b, Mortice Kern Systems Inc., és/vagy Microsoft WinDiff – Rel.4.0, Microsoft Corp. A 2. ábra egy létfontosságú számítógép-állomás berendezést, vagyis a találmány szerinti központi vezérlõ- és megfigyelõegységet mutat, amely az állomás rendszerspecifikus vezérlõ és megfigyelõ logikai programok redundáns létrehozására szolgáló eszközöket is integrálja. Az 1. ábra egy olyan állomást jelölt, amely 1¹tõl N¹ig terjedõ különbözõ 101 állomás elemeket tartalmaz, például jelzõfényeket, váltókat, sínáramköröket, és egyebeket. Minden egyes 101 elemet egy olyan meghajtó vezérel, amely szoftveresen vagy hardveresen építhetõ fel, vagy hardvert vagy szoftvert tartalmaz, elem specifikus, és minden egyes meghatározott elem vonatkozásában mindig ugyanolyan. A 2 meghajtóknak a vezérléshez szükséges bemeneti interfészük és a visszacsatoló és diagnosztikai jelekhez szükséges kimeneti interfészük van. Ezek a bemenetek és kimenetek egy 3 központi vezérlõegység megfelelõ bemeneteivel és kimeneteivel vannak összekötve, amelyet létfontosságú számítógép-állomás berendezésnek nevezünk. Ez a 3 központi egység menedzselõprogramokat tartalmaz, a 101 elemek vezérlésére és megfigyelésére, valamint diagnosztikai programokat, és a személyzet és a rendszer közötti interfészt is megvalósítja. Funkcionális szempontból a központi egységet két fõ területre oszthatjuk. Ezek egyike, amelyet a 2. ábrán 103 számmal jelöltünk, diagnosztikai, elem megfigyelõ és elem vezérlõ mûveletek végrehajtására van kialakítva, és univerzálisan használható folyamatorientált programokból áll. A másik terület, amelyet a 2. ábrán 203 szám jelöl, alkotja a tényleges vezérlõ- és megfigyelõlogikát, és egy vezérlõ és megfigyelõ logikai programból áll. Ez a program adott esetben diagnosztikai funkciók ellátására is képes, jóllehet általánosságban egy teljes speciális szakasz szolgál diagnosztikai célokra. A két 103, 203 terület, amelyek rendszer szinten el vannak választva, együttesen kell, hogy meglegyen, különben a rendszer nem tud mûködni. Az általános diagnosztikai, vezérlõ és megfigyelõ menedzselõprog-
1
HU 004 039 T2
ramok a vezérlõ- és megfigyelõlogikába integrálandók vagy azzal valamilyen módon kapcsolatban kell állniuk. Az utóbbi magában foglalja és szorosan függ az állomás rendszernek és a vasúti forgalom menedzselõ szabályoknak az összes sajátos vonásától és jellegzetességétõl, amelyek itt mind alkalmazhatók. Ezért az állomáslogikát oly módon kell létrehozni, hogy minden egyes állomásra, amellyel a 3 központi egységet társítjuk, jellemzõ legyen és ahhoz célzottan hozzárendelhetõ legyen. A találmánynak megfelelõen a létfontosságú számítógépállomás-berendezés, vagyis a vezérlõ- és megfigyelõ¹ 3 egység a stabilan integrált vezérlõ és megfigyelõ logikai programok automatizált létrehozására alkalmas eszközt tartalmaz, 303 szakaszként az említett 3 vezérlõegység rendszerében vagy szoftverében. Pontosabban, ezek az eszközök a szóban forgó állomás vasúti forgalmi menedzseléséhez szükséges különbözõ elemek számára a 4 állomásdiagram és az 5 állapotkapcsoló szabályok beadására szolgáló eszközbõl állnak, és az említett információból egy tudásbázist létrehozó eszközt tartalmaz, amelyet egy, az említett vezérlõ és megfigyelõ logikai program létrehozására szolgáló program használ. A bemutatott kiviteli alak esetében az említett eszköz hardvereszközbõl, vagyis egy dedikált számítógépbõl vagy olyan számítógépbõl áll, amely a központi vezérlõ- és megfigyelõ¹ 3 egységet is vezérli, és az abba betöltött programból áll. Részletesen, az említett szoftver úgy van kialakítva, hogy biztosítsa a vezérlõ és megfigyelõ logikai programok redundáns 7, 8 létrehozását, és hogy azt követõen végrehajtson egy ellenõrzést a 303 létrehozó szekcióban és/vagy a 3 központi vezérlõ- és megfigyelõegységben a létrehozott logikai programok vonatkozásában, a többszörös, elsõsorban két 7, 8 logikai program közötti 6 azonosság összehasonlítás alapján, mely programok párhuzamosan jöttek létre. A párhuzamos generálást két különbözõ generálóprogramnak megfelelõen hajtjuk végre, amelyek adataikat ugyanabból a 4, 5 tudásbázisból kapják és a vezérlõ és megfigyelõ logikai programok algoritmusai magjának a kialakítására tervezett Boole-egyenleteket állítanak elõ. Ha az összehasonlítás a két különbözõ 7, 8 generálóprogram által létrehozott két Boole-egyenlet készlet között azonosságot mutat ki, vagy egy meghatározott eltérési fokot ér el, akkor a Boole-egyenlet készletet hibátlannak minõsítjük és felhasználjuk a vezérlõ és megfigyelõ logikai program teljes formátumban történõ létrehozására, ami nyilvánvalóan a 3 központi vezérlõ- és megfigyelõegység létrehozásából fakadó strukturális korlátozásokhoz való adaptációs szakaszt is megkíván. Megjegyezzük, hogy a 203 vezérlõ és megfigyelõ logika létrehozása nem korlátozódik két párhuzamos létrehozási mûveletre, és hogy három vagy több párhuzamos létrehozási mûveletet is végrehajthatunk. Ha a vezérlõ és megfigyelõ logika létrehozására szolgáló 303 szakaszt állandó jelleggel hozzáadjuk a 3 központi vezérlõ- és megfigyelõegységhez, akkor a 3 központi vezérlõ- és megfigyelõegység könnyen módosítható és integrálható, ha a vasúti állomásrendszer-
5
10
15
20
25
30
35
40
2
ben változás történik, például ahhoz elemeket adnak hozzá vagy elemeket távolítanak el. Ilyen esetben a vezérlõ és megfigyelõ logika létrehozására használt 303 szakaszt csak arra használnánk, hogy változást idézzünk elõ a korábban használt vezérlõ- és megfigyelõlogikában, hogy figyelembe vegyük a rendszerbeli változásokat. Nem csupán a hozzáadandó vagy eltávolítandó elemek teszik szükségessé a változásokat, hanem az elemvezérlõ és megfigyelõszabályok változásai is, amelyeket az úgynevezett állapot táblázatok foglalnak össze. Ebben az esetben a vezérlõ és megfigyelõ logikának is meg kell változnia. A redundáns létrehozás és a programok közötti összehasonlítással végrehajtott helyességi ellenõrzés, vagyis a létrehozott Boole-egyenlet készletek ellenõrzése elõnye különösen nyilvánvalóvá válik, ha a rendszerben változásokat hajtunk végre. Ilyen esetben, míg a technika állása esetében a módosított logikát rendszerint már a terepen kellett ellenõrizni, a találmány szerinti eljárásnak köszönhetõen minden a központi egység számítógépén vagy egy számítógép-alapú másodlagos állomáson kerül feldolgozásra. Ez drasztikusan csökkenti a rendszerfrissítési idõket, valamint a kiadásokat. Jóllehet a találmányt kifejezetten szoftveralapú vezérlõlogika kapcsán ismertettük, megjegyezzük, hogy a találmány abban az esetben is alkalmazható, ha a vezérlõlogikát célhardverrel valósítjuk meg. Eben az esetben, például jelfogóként vagy félvezetõ összetevõként megvalósított logikai alkatrész hálózatok helyettesítenék a vezérlõ és megfigyelõ logikai szoftvert, ahol az áramkör diagramokat közvetlenül és automatikusan generáló programok állítják elõ. Hasonlóképpen, a fenti leírás világosan megmutatja, hogy egy szoftver vezérlõ- és megfigyelõlogika-létrehozási lépése közvetlenül levezethetõ virtuális logikai áramkörök létrehozásának a lépésébõl, amely azt követõen a generálóprogrammal szoftveres formára van lefordítva, amelynek magját Boole-egyenlet készletek képezik.
SZABADALMI IGÉNYPONTOK 1. Eljárás logikai vezérlõegységek létrehozására vasúti állomás alapú létfontosságú számítógép-berendezésekhez, vagyis vasúti állomásrendszer vezérlõegységekhez, amelyek legalább egy létfontosságú számítógépet tartalmaznak, amely egy logikai egység50 gel kombináltan mûködõ vezérlõprogram alapján állapot átkapcsoló vezérlõjeleket küld meghatározott vasúti közlekedés vonatkozású mûveletek végrehajtására tervezett úgynevezett pályaudvari elemekhez, vagyis olyan készülékekhez, például jelzõkészülékekhez 55 és/vagy váltókhoz és/vagy sínáramkörökhöz vagy hasonlókhoz, és állapot visszacsatoló és/vagy diagnosztikai jeleket kap az említett pályaudvari elemektõl, az említett logikai egységet egy generálóprogram állítja elõ automatikusan környezeti feltételek alapján, ame60 lyeket egy pályaudvari elemlistát tartalmazó állapot45
10
1
HU 004 039 T2
diagram és egy állapottáblázat definiál, ahol az említett pályaudvari elemek számára a vasúti forgalom egyéb pályaudvari elemeinek az állapota és/vagy állapot átkapcsolása, és/vagy megfelelõ menedzselése tekintetében állapotfeltételezõ és/vagy állapotátkapcsoló szabályok vannak megállapítva, ahol az említett logikai egység olyan áramkörök hálózata, amelyek összetevõi logikai Boole-függvények szerint mûködnek és az állomásdiagrammal és az állapottáblázattal összhangban alkalmas módon strukturáltak, vagy ahol az említett logikai vezérlõegység egy olyan program, amelynek algoritmusai logikai Boole-függvényekbõl vannak összeállítva, amelyek Boole-féle logikai áramköri hálózatokként mûködnek, azzal jellemezve, hogy az automatikusan létrehozott logikai egység helyességét ellenõrzõ lépést tartalmaz, mely ellenõrzõ lépés az alábbi lépéseket foglalja magában: – két logikai vezérlõegység, azonos állomásdiagram szerinti és azonos állapot táblázat szerinti párhuzamos létrehozása, ahol minden vezérlõegységet két, egymástól a lehetséges mértékben különbözõ generálóprogram állít elõ; – a két különbözõ generálóprogram által biztosított logikai áramkör hálózatok vagy hálózatszimuláló logikai programok összehasonlítása, a közöttük található strukturális különbségek ellenõrzésére. 2. Az 1. igénypont szerinti eljárás, azzal jellemezve, hogy ha eredményként azonosságot kapunk, akkor a logikai áramköri hálózatok vagy a létrehozott logikai program helyességét ellenõrzöttnek tekintjük. 3. Az 1. vagy 2. igénypont szerinti eljárás, azzal jellemezve, hogy ha a két logikai programot nem azonosnak találjuk, akkor egy hibavizsgáló lépést hajtunk végre, és a logikai áramkör hálózat párhuzamos létrehozási lépését és/vagy a hálózat szimuláló virtuális logikai programokat megismételjük. 4. Az 1–3. igénypontok bármelyike szerinti eljárás, azzal jellemezve, hogy a két generálóprogram közötti eltérés a programok nyelvére vagy arra a programozó környezetre vonatkozik, amelyben azokat megírták. 5. Az 1–4. igénypontok bármelyike szerinti eljárás, azzal jellemezve, hogy a két eltérõ generálóprogram különbözõ generálóalgoritmust használ. 6. Az 1–5. igénypontok bármelyike szerinti eljárás, azzal jellemezve, hogy a két eltérõ generálóprogram két különbözõ neurális hálózat. 7. Az 1–6. igénypontok bármelyike szerinti eljárás, azzal jellemezve, hogy mindkét generálóprogram által hozzáférhetõen kódolt, állomásdiagram vonatkozású adatokat és állapottáblázat vonatkozású adatokat tartalmazó tudásbázis létrehozására vonatkozó lépést foglal magában. 8. A 7. igénypont szerinti eljárás, azzal jellemezve, hogy az egyik vagy mindkét generálóprogram a tudásbázis adatokat mind az adatstruktúra, mind az adatok
5
10
15
20
25
30
35
40
45
50
55
11
2
értelme konzisztenciájának és helyességének a vonatkozásában megvizsgáló elõzetes generálólépést tartalmaz. 9. Az 1–8. igénypontok bármelyike szerinti eljárás, azzal jellemezve, hogy a generálóprogramoktól elkülönített, a két generálóprogram által létrehozott logikai programokat és/vagy logikai áramkör hálózatokat összehasonlító programot tartalmaz. 10. Az 1–9. igénypontok bármelyike szerinti eljárás, azzal jellemezve, hogy a két generálóprogram a logikai programokat az alábbi mûvelet során állítja elõ: – logikai hardver összetevõket használó logikai áramkör hálózatok létrehozása; – az így létrehozott logikai áramkör hálózatok átalakítása logikai algoritmusokká, amelyeket logikai áramkör hálózatok viselkedésének megfelelõ viselkedésû Boole-egyenlet készletek alkotnak. 11. Az 1–10. igénypontok bármelyike szerinti eljárás, azzal jellemezve, hogy akkor használjuk, ha logikai áramköröket és/vagy logikai programokat módosítani kell vagy hozzá kell igazítani az állomásrendszer-diagram és/vagy az állapottáblázat változásaihoz. 12. Telepített létfontosságú számítógép-berendezés, amely számítógépet tartalmaz, amelybe egy állomásrendszer különbözõ szabályok szerint mûködõ pályaudvari elemeit vezérlõ és megfigyelõ program van betöltve, azzal jellemezve, hogy a program általános folyamatorientált programszakaszt foglal magában, mely programok mind az állomásrendszer struktúrára, mind az állapottáblázatra alkalmazhatók, a programszakasz által a létfontosságú telepített számítógép-berendezés vezérlõ és megfigyelõ logikai programjának létrehozására automatikusan létrehozott és ellenõrzött program az állapotrendszer-struktúrát és az állapottáblázatot magában foglaló vezérlõ és megfigyelõ logikai programmal áll kapcsolatban és integrált, ahol a vezérlõ és megfigyelõ logikai program létrehozására szolgáló programszakasz az 1–11. igénypontok bármelyike szerinti eljárás végrehajtására van kialakítva. 13. A 12. igénypont szerinti telepített létfontosságú számítógép-berendezés, azzal jellemezve, hogy a vezérlõ és megfigyelõ logikai program létrehozására szolgáló szakasz a vezérlõ és megfigyelõ logikai program megváltoztatására és/vagy frissítésére szolgáló szakaszt képez. 14. A 12. vagy 13. igénypont szerinti telepített létfontosságú számítógép-berendezés, azzal jellemezve, hogy a vezérlõ és megfigyelõ logikai programot létrehozó szakasz legalább két különbözõ generálóprogramot tartalmaz, egymással összehasonlítható vezérlõ és megfigyelõ logikai programok létrehozására, amelyek egy sikeres egyezõségi ellenõrzést követõen a telepített létfontosságú számítógép-berendezés memóriájába vannak betöltve és az általános folyamatorientált programszakasszal állnak összeköttetésben.
HU 004 039 T2 Int. Cl.: B61L 21/00
12
HU 004 039 T2 Int. Cl.: B61L 21/00
13
Kiadja a Magyar Szabadalmi Hivatal, Budapest Felelõs vezetõ: Törõcsik Zsuzsanna Windor Bt., Budapest