Technológia - Elektro Net
Technológia - Elektro Net
Technológia - Elektro Net
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
szükség. A korábban használt, szekvenciálisan<br />
mûködô SAX-olvasó helyett egy<br />
DOM-olvasó került felhasználásra az XMLfájl<br />
beolvasásához. Ennek elônye, hogy a<br />
dokumentum feldolgozása két lépésben<br />
történik. Elôször a dokumentum beolvasása<br />
történik meg egy DOM (document object<br />
modell) fába, mely csomópontokként tartalmazza<br />
az XML-fájl elemeit. A tartalom<br />
tényleges feldolgozása ezeknek a fa-csomópontoknak<br />
a bejárásával valósul meg. A<br />
programozottan irányított bejárás során lehetséges<br />
a ciklusok, feltételes ágak implementálása,<br />
illetve a változókezelés megvalósítása.<br />
DOM-olvasóként – a nyílt, könnyen<br />
használható és egyszerûen hozzáférhetô<br />
tulajdonságai miatt – az Apache<br />
Xerces C++ parser-implementációjának<br />
DOM-interfésze került felhasználásra.<br />
Felmerült problémák<br />
Az elsô probléma, ami a fejlesztések kapcsán<br />
felmerült, hogy az XM-olvasó különféle<br />
programozási környezetekbe való<br />
beillesztése gondot okozott. A választott<br />
XML-olvasó-interfészek implementációi<br />
csak C++ környezetben álltak rendelkezésre,<br />
míg a fejlesztés NI/CVI (National<br />
Instruments LabWindows/CVI) környezetben<br />
folyt. A megoldást egy saját olvasómodul<br />
kidolgozása jelentett, mely<br />
megfelelô interfésszel rendelkezik ahhoz,<br />
hogy a feladat specifikus igényeknek<br />
megfelelô szolgáltatásai meghívhatóak<br />
legyenek NI/CVI környezetbôl.<br />
További probléma volt, hogy az implementált<br />
saját olvasómodul beillesztése<br />
a fejlesztés alatt álló rendszerbe rendkívül<br />
kódolásigényes volt, és a kód nagymértékben<br />
függött a befogadórendszer<br />
sajátosságaitól. A forráskód méretének és<br />
az említett kódfüggôség csökkentésére kidolgozásra<br />
került egy kétszintû leírási<br />
mechanizmus. Ennek lényege, hogy a<br />
4. ábra. XSD-részlet, elemdefiníció<br />
14 info@elektro-net.hu<br />
Jármû-elektronika<br />
magas szintû leírás feladat specifikus elemeket<br />
tartalmaz, míg az alacsonyabb<br />
szintû egy univerzális nyelvet használ,<br />
mely független a feladattól, elemei bármilyen<br />
grafikus felületen elvégzett interakció<br />
leírására alkalmas, elemi mûveletek<br />
(úgymint mezôkitöltés, gombnyomás<br />
stb.). A két szint közötti kapcsolatot egy<br />
Extensible Stylesheet Language (XSL)<br />
transzformáció biztosítja, melyhez a<br />
transzformációt leíró fájl az eredeti forráskódtól<br />
függetlenül módosítható, így<br />
biztosítva, hogy az implementálandó<br />
XML-kezelô modul független legyen a<br />
speciális feladattól. Az elvet a 3. ábra<br />
szemlélteti.<br />
3. ábra. Tesztszekvenciák kétszintû leírása<br />
ROSETTA modell-leírás<br />
A fejlesztés célja egy szimulációs eszköz,<br />
amely alkalmas a ROSETTA teljes<br />
leszállóegység-mûködésének szimulációjára,<br />
azaz a szolgálati alrendszerek<br />
és a tudományos mûszerek különbözô<br />
mûködési állapotainak dinamikus helyettesítésére.<br />
A fejlesztés során cél volt,<br />
hogy a szimulációs rendszer minél<br />
függetlenebb legyen a szimulálandó<br />
egységtôl. A választás egy olyan megoldásra<br />
esett, amelyben az egység logikai<br />
mûködését egy külsô XML-fájl írja le, a<br />
szimulátor ez alapján épít fel egy belsô<br />
objektumstruktúrát, amelynek viselkedése<br />
megegyezik a szimulációs elvárásokkal.<br />
Az XML modell egy olyan „álla-<br />
2006/8.<br />
potgép”, amelynek fôbb elemei az állapotok<br />
(mode) és feltételes aktivitások (if,<br />
then, else), továbbá változó kezelés is<br />
lehetséges, a rugalmasságnövelés érdekében.<br />
Míg a korábbi esetekben a mûködés<br />
(visszajátszás) az XML-fájl értelmezésével,<br />
olvasásával egyszerre zajlott,<br />
addig itt az olvasás teljes egészében<br />
megelôzi a modell mûködését, ami<br />
már független az XML-fájltól. Ennek<br />
köszönhetôen az olvasás az egyszerûbb<br />
SAX-interfésszel került megvalósításra.<br />
A tulajdonság hátránya, hogy a változókezelés<br />
nagyban bonyolódik ez eddigiekhez<br />
képest, mert nem olvasási idôben<br />
kell feldolgozni, hanem a modell futtatásakor.<br />
A modul implementálásakor<br />
egy további probléma volt, hogy az<br />
XML-dokumentum nem ismer alaptípusokat,<br />
a mezôértékek típusa minden<br />
esetben szöveges, a megfelelô konverzió<br />
csak programozottan, a feldolgozás<br />
során hajtható végre. Ennek támogatására<br />
az XSD (XML Schema Definition)<br />
biztosít lehetôséget (4. ábra). A bemutatott<br />
példában a string típus- és egy<br />
boolen típusdefiniciót mutatunk be. Ennek<br />
segítségével a nyelvtan adható meg<br />
kellôen rugalmasan ahhoz, hogy a<br />
mezôértékek mintaillesztéssel, illetve<br />
alapadattípusok (egész, lebegôpontos<br />
stb) ellenôrizhetôek legyenek az XMLdokumentumban.<br />
Összegzés<br />
Az implementált XML-kezelô modulok<br />
– a felmerült problémák ellenére - minden<br />
esetben kielégítették a velük szemben<br />
támasztott elvárásokat. A további<br />
fejlesztés célja alapvetôen a modulok<br />
rugalmasságának és hordozhatóságának<br />
növelése.<br />
Irodalom:<br />
[1] www.w3.org/MarkUp/SGML<br />
[2] www.w3.org/MarkUp<br />
[3] Balajthy K., Sulyán J., Szalai L., Sódor<br />
B., Lipusz Cs., dr. Szalai S.: Elosztott<br />
intelligenciájú automatizált rendszer<br />
a VenusExpress ûrmisszió kísérletének<br />
kalibrálására. Híradástechnika, 2006/04<br />
pp. 34–38<br />
[4] Balajthy K., Endrôczi G. dr Nagy J.,<br />
Horváth I., Lipusz Cs., dr. Szalai S.:<br />
Adatgyûjtô és vezérlô számítógép a<br />
Nemzetközi Ûrállomás Obsztanovkakísérletéhez.<br />
Híradástechnika, 2006/04<br />
pp. 17–22<br />
[5] Tróznai G., Baksa A., Sódor B.:<br />
A Rosetta leszállóegységének szoftverszimulátora.<br />
Híradástechnika, 2006/04<br />
pp. 45–50<br />
[6] Brett McLaughlin: Java és XML.<br />
O'Reilly, Kossuth, 2001 isbn: 963 09<br />
4230 5