Dávid Ákos. Tézisfüzet a Ph.D. értekezéshez

Hasonló dokumentumok
A KUTATÁS EREDMÉNYEI ZÁRÓJELENTÉS

FORMÁLIS SZOFTVERVERIFIKÁCIÓS ESZKÖZÖK ALKALMAZÁSÁNAK NEHÉZSÉGEI A GYAKORLATBAN. Dávid Ákos Pannon Egyetem, Műszaki Informatikai Kar.

P-gráf alapú workflow modellezés fuzzy kiterjesztéssel

Kétdimenziós mesterséges festési eljárások. Hatások és alkalmazások

JÓVÁHAGYÁS. szervezet. Név Dr. Szakonyi Lajos KPI Oktatási Minisztérium

SZOFTVEREK A SORBANÁLLÁSI ELMÉLET OKTATÁSÁBAN

Ellátási lánc optimalizálás P-gráf módszertan alkalmazásával mennyiségi és min ségi paraméterek gyelembevételével

Előrenéző és paraméter tanuló algoritmusok on-line klaszterezési problémákra

Publikációs lista. Gódor Győző július 14. Cikk szerkesztett könyvben Külföldön megjelent idegen nyelvű folyóiratcikk...

Publikációs jegyzék (Pánovics János)

MŰSZAKI TUDOMÁNY AZ ÉSZAK-KELET MAGYARORSZÁGI RÉGIÓBAN 2012

Intervenciós röntgen berendezés teljesítményszabályozójának automatizált tesztelése

Publikációs lista. Dr. Molnárka-Miletics Edit Széchenyi István Egyetem Matematika és Számítástudományi Tanszék

Kozma László publikációs és szakmai tevékenysége

Valószínűségi modellellenőrzés Markov döntési folyamatokkal

Mérnök informatikus (BSc) alapszak levelező tagozat (BIL) / BSc in Engineering Information Technology (Part Time)

Mi is volt ez? és hogy is volt ez?

Süle Zoltán publikációs listája

Az e-kereskedelem elvárásai a biometriával szemben

MÉLYFÚRÁSI GEOFIZIKAI ADATOK ÉRTELMEZÉSÉNEK MODERN INVERZIÓS MÓDSZEREI

Karbantartási játék. Dr. Kovács Zoltán, egyetemi tanár, Pannon Egyetem Kovács Viktor, PhD hallgató, Budapest Műszaki és Gazdaságtudományi Egyetem

Pacemaker készülékek szoftverének verifikációja. Hesz Gábor

A megerosítéses tanulás és a szimulált hutés kombinált használata: algoritmusok és alkalmazások

oklevél száma: P-1086/2003 (summa cum laude) A disszertáció címe: Integrálegyenletek és integrálegyenl½otlenségek mértékterekben

MAGASÉPÍTÉSI PROJEKT KOCÁZATAINAK VIZSGÁLATA SZAKMAI INTERJÚK TÜKRÉBEN 1 CSERPES IMRE 2

2018. február 2. Referált cikkek / Papers in referred proceedings [11], [12].

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Pannon Egyetem Vegyészmérnöki és Anyagtudományok Doktori Iskola

Informatika szigorlati témakörök gazdasági informatika egyetemi képzés hallgatói részére

Irányítási struktúrák összehasonlító vizsgálata. Tóth László Richárd. Pannon Egyetem Vegyészmérnöki és Anyagtudományok Doktori Iskola

Kádár István 1 Dr. Nagy László 1 1 Budapesti Műszaki és Gazdaságtudományi Egyetem,

List of Publications (Pánovics János)

Telefonszám(ok) Mobil Fax(ok) Egyetem u. 10., 8200 Veszprém. Tehetséggondozás (matematika)

Publikációk. Libor Józsefné dr.

1. Katona János publikációs jegyzéke

Teljesen elosztott adatbányászat alprojekt

Szoftver-technológia II. Szoftver újrafelhasználás. (Software reuse) Irodalom

ICT ÉS BP RENDSZEREK HATÉKONY TELJESÍTMÉNY SZIMULÁCIÓJA DR. MUKA LÁSZLÓ

műszaki tudomány doktora 1992 Beosztás: stratégiai tanácsadó, tudományos tanácsadó Munkahelyek: Nokia -Hungary kft Veszprémi Egyetem

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

Tevékenység szemléletű tervezés magyarországi felsőoktatási intézmények pályázataiban

Sztöchiometriai egyenletrendszerek minimális számú aktív változót tartalmazó megoldásainak meghatározása a P-gráf módszertan alkalmazásával

SZTE Nyílt Forrású Szoftverfejlesztő és Minősítő Kompetencia Központ

Mérnök informatikus mesterszak mintatanterve (GE-MI) nappali tagozat/ MSc in, full time Érvényes: 2011/2012. tanév 1. félévétől, felmenő rendszerben

DR. KOKOVAY ÁGNES. Személyes információk. Születési hely, idő: május 30. Várpalota. Képzettség

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

VALÓS HULLÁMFRONT ELŐÁLLÍTÁSA A SZÁMÍTÓGÉPES ÉS A DIGITÁLIS HOLOGRÁFIÁBAN PhD tézisfüzet

MEDDŐHÁNYÓK ÉS ZAGYTÁROZÓK KIHORDÁSI

TÁVOKTATÁSI TANANYAGOK FEJLESZTÉSÉNEK MÓDSZERTANI KÉRDÉSEI

GÉPI ÉS EMBERI POZICIONÁLÁSI, ÉRINTÉSI MŰVELETEK DINAMIKÁJA

Nemzetközi konferencia-kiadványban megjelent lektorált cikk

A KÜLÖNLEGES BÁNÁSMÓD DIAGNOSZTIKAI ÉS FEJLESZTÉSI CENTRUM KUTATÓMŰHELY BEMUTATÁSA

Algoritmus vizualizáció a tanítási gyakorlatban. Törley Gábor

Teszt generálás webes alkalmazásokhoz

Komponens alapú szoftverfejlesztés. 1. Előadás Bevezetés

Neme nő Születési dátum 26/10/1988 Állampolgárság magyar

Drótposta: ; ; Honlapom:

Kvartó elrendezésű hengerállvány végeselemes modellezése a síkkifekvési hibák kimutatása érdekében. PhD értekezés tézisei

és alkalmazások, MSc tézis, JATE TTK, Szeged, Témavezető: Dr. Hajnal Péter

MŰSZAKI TUDOMÁNY AZ ÉSZAK-KELET MAGYARORSZÁGI RÉGIÓBAN 2012

Egy gazdasa gmatematikai modell An economical mathematics model

A szoftverfejlesztés eszközei

Hivatkozás hagyományos és elektronikus forrásokra

Komponens alapú programozás Bevezetés

Department of Software Engineering

VI. Magyar Földrajzi Konferencia

VÁLTOZTATÁSMENEDZSMENT A HAZAI GYAKORLATBAN

OTKA nyilvántartási szám: T ZÁRÓJELENTÉS

MULTIMÉDIA ALAPÚ OKTATÁSI TECHNOLÓGIÁK GYAKORLATI ALKALMAZÁSÁNAK VIZSGÁLATA A KATONAI SZAKNYELVOKTATÁSBAN

Szoftver-technológia II. Tervezési minták. Irodalom. Szoftver-technológia II.

Pécsi Tudományegyetem Közgazdaságtudományi Kar Regionális Politika és Gazdaságtan Doktori Iskola

INFORMATIKA 1-4. évfolyam

PÁLYÁZAT. a SZÉCHENYI ISTVÁN EGYETEM MŰSZAKI TUDOMÁNYI KAR KUTATÁSI FŐIRÁNY pályázati felhívásához. 1. A pályázó kollektíva vezetőjének adatai:

PUBLIKÁCIÓS ÉS ALKOTÁSI TEVÉKENYSÉG ÉRTÉKELÉSE, IDÉZETTSÉG Oktatói, kutatói munkakörök betöltéséhez, magasabb fokozatba történı kinevezéshez.

V. Félév Információs rendszerek tervezése Komplex információs rendszerek tervezése dr. Illyés László - adjunktus

AZ A PRIORI ISMERETEK ALKALMAZÁSA

Kódverifikáció gépi tanulással

Leica SmartRTK, az aktív ionoszféra kezelésének záloga (I. rész)

A HUNVEYOR-4 GYAKORLÓ ŰRSZONDA ÉPÍTÉSE BUILDING THE HUNVEYOR-4 EDUCATIONAL SPACE PROBE

DOKTORI (PhD) ÉRTEKEZÉS TÉZISEI JÓZSA MÁTÉ JÓZSEF MOSONMAGYARÓVÁR

1: Bevezetés: Internet, rétegmodell Alapok: aszimptótika, gráfok. HálózatokII, 2007

TUDOMÁNYOS ÖNÉLETRAJZ

B/16. számú melléklet Önéletrajz sablon

EGYÜTTMŰKÖDŐ ÉS VERSENGŐ ERŐFORRÁSOK SZERVEZÉSÉT TÁMOGATÓ ÁGENS RENDSZER KIDOLGOZÁSA

Policy keretrendszer dinamikus hálózatkompozíciók automatizált tárgyalási folyamatához

PUBLIKÁCIÓS LISTA Sántáné-Tóth Edit

Akilencvenes évek elejétõl a magyar gazdaság és társadalom gyors átrendezõdésen. tanulmány

Publikációs jegyzék. Sitkuné Görömbei Cecília PKK, Tanítóképző Intézet

SZÉN NANOCSŐ KOMPOZITOK ELŐÁLLÍTÁSA ÉS VIZSGÁLATA

Szuperszámítógépes teljesítmény szuperszámítógép nélkül A BinSYS Projekt

Szoftver-modellellenőrzés absztrakciós módszerekkel

3 Hogyan határozzuk meg az innováció szükségszerűségét egy üzleti probléma esetén

Szoftverarchitektúrák 3. előadás (második fele) Fornai Viktor

Kémiai és bioipari adatrendszerek és folyamatok minőségellenőrzésének informatikai eszközei. Viczián Gergely

A fenntarthatóság szerepe a környezeti nevelésben. Doktori (PhD) értekezés tézisei. Kosáros Andrea

MIKROKONTROLLEREK ALKALMAZÁSA AUTOMATA REPÜLŐ SZERKEZETEKBEN 4 BEVEZETÉS

SZOMSZÉDSÁGI SZEKVENCIÁK ÉS ALKALMAZÁSAIK A KÉPFELDOLGOZÁSBAN ÉS KÉPI ADATBÁZISOKBAN

eseményvezérelt megoldások Vizuális programozás 5. előadás

XSLT XML. DEIM Forum 2013 B2-1 XML XML XML XML XSLT XSLT XSLT XML XSLT XSLT

ÈS T O V Á B B F E J L E S Z T É S É N E K LEHETŐSÉGEI MAGYAR TUDOMÁNYOS AKADÉMIA SZÁMÍTÁSTECHNIKAI ÉS AUTOMATIZÁLÁSI KUTATÓ INTÉZETE.

Átírás:

Dávid Ákos Komponens-alapú szoftverek modellellen rzéssel történ veri kációja Tézisfüzet a Ph.D. értekezéshez Témavezet : Dr. László Kozma C.Sc. Eötvös Loránd Tudományegyetem Az informatika alap jai és módszertana doktori program Prof. János Demetrovics D.Sc. Informatika Doktori Iskola Prof. András Benczúr D.Sc. Budapest 2012

1. Bevezetés 1.1. A komponens-alapú szoftverfejlesztés (CBSD) Napjaink felgyorsult világában egyre kevésbé használhatók a vízesés-modellhez hasonló hagyományos szoftvertechnológiai módszerek. A sürget határid k miatt a munkát részfeladatokra kell bontani, amelyen független csapatok dolgoznak [37]. Ez az igény hívta életre a komponens-alapú szoftverfejlesztést [21, 29, 31, 38, 42, 43, stb.]. A komponens-alapú szoftverfejlesztés vezérelvei az alábbiak [26]: Újrahasznosíthatóság, amely a már meglév programrészek módosítás nélküli újbóli felhasználását jelenti. Fejleszthet ség, amely a komponens-alapú szoftverek karbantartási költségeinek alacsonyan tartását jelenti. Ez úgy lehetséges, hogy a rendszerkomponensek cseréje nincs hatással a rendszer többi részére. A vezérelvek használatához az alábbi három feltétel megléte szükséges: Komponens-könyvtár Komponens-modell Szoftverarchitektúra 1.2. A modellellen rzés alapfogalmai A modellellen rzés a szoftverrendszerek formális verikációját algoritmikus szinten támogatja [16, 20, 35, stb.]. A modellellen rzés segítségével teljes egészében automatizálható annak vizsgálata, hogy egy adott modell megfelel-e a formális specikáció elvárásainak. A rendszer adott tulajdonságainak specikációja általában temporális logikai formulák halmazának megadásával történik. A modellt lehet ség szerint a forráskód speciális célnyelvre történ átírásával kell megadni. Az ilyen program megfeleltethet egy véges állapotgépnek (FSM), ami jellemz en egy csomópontokból és élekb l álló irányított gráf. Minden egyes csomóponthoz atomi formulák egy halmaza társítható. A csomópontok jelképezik a rendszer egyes állapotait, az élek az állapotváltozást el idéz átmeneteket, míg az atomi formulák jelképezik a végrehajtás egy adott pontján fennálló alapvet tulajdonságokat. Bizonyos esetekben a modellellen rzéssel történ verikáció nem véges állapotú rendszerekre is alkalmazható, amennyiben különböz absztrakciós és indukciós szabályokkal kombináljuk. Az állapottér robbanása okozza itt is a legnagyobb gondot, amely a sok párhuzamos állapotátmenetet lehet vé tév komponensb l álló rendszereknél jelentkezik, de az utóbbi id ben komoly el relépés történt az alábbi módszerek használatával: szimbolikus algoritmusok [13, 33, stb.], részleges sorrendiségen alapuló redukció [25, 36, 41, 2

stb.], absztrakció [15, 19, 22, 23, 30, stb.], szimmetria [24, 27, 28, 34, stb.], Bounded Model Checking (BMC) [17], valamint a különösen ígéretes a rendszerek b vítésével csak a megváltozott részek újraellen rzését megkívánó nyílt inkrementális modellellen rzés (OIMC) [39, 40, stb.]. A modellellen rz eszközök általában saját specikációs nyelvet használnak, de a legtöbbjük támogatja a lineáris temporális logika (LTL), illetve a kiszámítási fa logika (CTL) temporális logikai nyelveket. 2. A dolgozat felépítése A 2. fejezetben formális módszerek segítségével vizsgáljuk a szoftverrendszerek komponenseinek granularitását. Rámutatunk arra, hogy a granularitás az állapottér, komoly, koncepcionális hibákat is elfedhet. A 3. fejezetben bemutatunk egy új módszert, melynek segítségével a sok hasonló komponensb l álló rendszerek struktúrájában rejl lehet ségek kiaknázásával csökkenthet az állapottér mérete. A 4. fejezetben a komponens-alapú rendszerek b víthet ségének lehet ségeit vizsgáljuk. Bemutatunk egy új, általunk fejlesztett eszközt, amely támogatja az OIMC algoritmus használatát, valamint összehasonlítjuk az OIMC-t a saját módszerünkkel. Az 5. fejezetben új szempontból közelítjük meg a hálózati protokollok formális verikációját, kiaknázva a komponens-alapú rendszerek, valamint a hálózatok rétegelt szerkezete közötti hasonlóságokat. A 6. fejezetben áttekintjük a témához kapcsolódó jelenlegi kutatási irányokat, kiemelve az esetleges kapcsolódási pontokat. A 7. fejezet az elvégzett kutatómunka összegzését tartalmazza. 3. Az elért eredmények 3.1. A komponensek granularitásáról Roppant fontos még a tervezés korai szakaszában eldönteni, hogy az általunk készítend komponens milyen szemcsézettség legyen. Egy túlságosan nom komponens valószín leg nem túl általános, így az újrahasznosíthatóság elve kerül veszélybe. Ugyanakkor egy túlságosan durva szemcsézettség komponens jóval összetettebb interfészekkel rendelkezik, és sokkal valószín bb, hogy szükség lesz a menet közbeni megváltoztatására. Ezért alapvet fontosságú az egyensúly megtalálása a komponensek méretének, illetve a rendszer összetettségének függvényében [42]. A 2.2 fejezetben a G. R. Andrews által javasolt szintézis módszer segítségével példákat hoztunk létre manuálisan [14]. A 2.3 fejezetben szintézis módszer segítségével a termel -fogyasztó probléma specikációját hoztuk létre, majd elkészítettük ennek általános és jól skálázható NuSMV modelljét, amellyel igazoltuk a rendszer megfelel m ködését. Az általunk eredetileg közölt modellt felül kellett vizsgálnunk, miután felfedeztük, hogy bizonyos megszorítások elfedték a kiéheztetés egyik speciális esetét. 1. Tézis. Formális eszközök segítségével rámutattunk arra, hogy absztrakció körültekint alkalmazásával csökkenthet az összetett rendszerek esetében jelentkez ál- 3

lapotrobbanás kockázata, ugyanakkor a komponensek nem megfelel szemcsézettsége koncepcionális szinten rejtve maradó hibákat eredményezhet. 3.2. A sok hasonló komponensb l álló rendszerek modellellen- rzését javító egyszer módszer bemutatása Egy rendszer sok hasonló komponensb l történ létrehozása segíthet az állapottér csökkentésében, mivel a komponensek lokális specikációjában szerepl formulahalmaz kiértékelését feleslegessé teszi. Erre mutattunk egy valós jelleg példát a 3.3 fejezetben. Észrevettük, hogy a komponensek közötti szerkezeti hasonlóságból fakadó el ny kihasználható, hogy az egyes komponensek lokális specikációjában szerepl formulák számát csökkentsük. A megközelítésmód újdonsága abban rejlik, hogy az ilyen rendszerek formális modelljénél megadott specikációs formulákat átstrukturáltuk aszerint, hogy kizárólag az adott komponensen belüli állapotokra hivatkozik-e. A feltételnek eleget tev formulákat ideiglenesen kivettük a modellellen rzés hatálya alól, és csak egyetlen alkalommal értékeltük ki. Ezzel tulajdonképpen a modellellen rzést az osztályok szintjére emeltük, id t és er forrást takarítva meg. A módszer egyszer példákon történ bemutatása, valamint a kísérleti eredmények a 3.3.1 és a 3.3.2 fejezetekben találhatók. A módszerünk redukciós szabályainak alkalmazásával a modellellen rz eszköz kényszeríthet, hogy hagyja gyelmen kívül az érintett formulákat. Ez alapján az alábbi eredményre jutottunk: az ellen rzött formulák száma, az állapottér mérete, valamint az igénybe vett er források (id, memória) mértéke érzékelhet en csökkent. A csomópontok számában történ százalékos csökkenés mértéke 2, 3, valamint 4 repül gép esetében 34%; 26%; 23% sorrendben. A minta túlságosan kicsi, hogy további következtetéseket vonjunk le bel le, de az állapottér csökkenésének tényét jól mutatja. 2. Tézis. Az általunk javasolt módszer alapvet lépései az alábbiak: 1. A rendszer megoldását megadjuk a legegyszer bb esetre. Például, a megoldást egyetlen komponensre hozzuk létre. 2. Végrehajtjuk a rendszer modellellen rzését. Amennyiben a folyamat sikeres, továbblépünk a 3. lépésre. Ha a modellellen rz eszköz hibával tér vissza, a megoldás felülvizsgálata és szükség szerinti módosítása esedékes. A modellellen rzést addig ismételjük, amíg az elvárt eredményeket meg nem kapjuk. 3. A megoldást új szempontok szerint elemezzük. Konkrétan azt nézzük meg, hogy a specikáció szétbontható-e lokális és globális részre. 4. A rendszermodellt megadjuk több komponensre is. A globális és lokális specikációt szétválasztjuk. Utóbbiak kimaradnak az ellen rzésb l, mivel a modellellen rzést kizárólag a globális specikációra végezzük el. Amennyiben a kívánt 4

eredményeket kapjuk, a teljes rendszer helyesnek tekinthet mind a globális, mind pedig a lokális specikációra nézve. Ellenkez esetben a rendszer felülvizsgálata és szükség szerinti módosítása esedékes. 3.3. Az OIMC összehasonlítása a saját módszerünkkel Nem könny a két módszer összehasonlítása, mivel jelenleg egyik sincs a gyakorlatban implementálva. Bár támaszkodhatunk a kiszámított csomópontok számára, úgy döntöttünk, hogy más szempontokat veszünk gyelembe: a számítási költség, teljesítmény, valamint az oktatási szempont. Egyrészt kísérleti adatokkal igyekeztünk alátámasztani az OIMC módszer gyakorlati alkalmazhatóságát és hatékonyságát, melynek eredményeként körülbelül 78%-kal csökkent a 4.5.3 fejezetben bemutatott repül téri példa állapottere. Másrészt rámutattunk a módszer jelenlegi korlátaira, mint amilyen például a valós rendszerek modelljeinél viszonylag gyakran el forduló körkörös függ ség esete, amelynek megfelel kezeléséhez a legnagyobb xponttal történ közelítést javasoljuk, de ezen jelen pillanatban is dolgozunk. Arra is rámutattunk a 4.5.2 fejezetben, hogy milyen fontos az elégséges feltételek megfelel meghatározása egy minimálisan biztonságos rendszer eléréséhez. A jelenség rávilágít a rendszermodellezésnél adódó problémára, mely szerint a nem elégséges specikáció megadásával vagy hibás formulák használatával olyan nem biztonságos rendszerek hozhatók létre, amelyek a formális módszerek legf bb el nyét ássák alá, nevezetesen a garanciát, hogy nem marad rejtett hiba a modellben vagy a kódban. 3. Tézis. A 3.3 és 4.5 fejezetekben szerepl kísérleti adatokra alapozva azt gyanítjuk, hogy nincs jelent s különbség a fenti két algoritmus között abban az esetben, ha a rendszermodell hasonló vagy azonos komponensekb l áll. Ennek oka egészen egyszer ; míg az OIMC bonyolultabb algoritmust használ a formulák lezártjainak el állításához és összehasonlításához, addig az általunk bemutatott módszer több el készít munkát igényel a formulák elemzése, illetve átstrukturálása során. Azt viszont fontos kiemelni, hogy az OIMC sokkal általánosabban használható megoldás, mivel nem támaszt el feltételeket a komponensekkel szemben. 3.4. Az OIMC használatát támogató JanKo eszköz bemutatása Mivel az OIMC algoritmus jelenleg nincs implementálva, ezért kifejlesztettünk egy JanKo nev egyszer Java alkalmazást, amely támogatja az inkrementális modellellen rzés használatát. Habár az eszköz teljesen m köd képes, továbbra is egy fejlesztés alatt álló munkának tekintend. A végs cél az eszköz funkcionalitásának az NuSMV modellellen rz eszközbe történ teljes integrációja. 5

A JanKo eszköz automatikusan kinyeri és megjeleníti a bemeneti fájlokban lév érvényes formulákat. Egyaránt felismeri a CTL, illetve az LTL formulákat, de egyszerre csak egyik típussal tud dolgozni (a középs panel rádiógombjával szabályozható). Fontos kiemelni, hogy bár az eredeti OIMC algoritmus csak a CTL temporális logikai nyelvet támogatja, az általunk kifejlesztett eszköz az LTL formulákat is kezeli. Habár két (bemeneti fájlok, illetve manuálisan bevitt formulahalmazok által reprezentált) komponens közötti kompatibilitás eldöntéséhez továbbra is szükség van felhasználói beavatkozásra, az eszköz már így is komoly el relépés az OIMC gyakorlatban történ automatizálásához. Jelenleg is dolgozunk a JanKo NuSMV modellellen rz eszközbe történ integrációján. Els lépésként folyamatban van az eszköz felkészítése a bemeneti fájlok, mint parancssori paraméterek támogatására. Továbbá felvettük a kapcsolatot a Roberto Cavada és társai neve által fémjelzett kutató- és fejleszt csoport tagjaival, hogy közös kutatást kezdeményezzünk a témában [18]. 4. Tézis. Az általunk fejlesztett eszköz feladata, hogy a báziskomponens és a b vítmény fájlba történ ellen rzési eredményeit bemenetként használva automatikusan elvégezze az algoritmus els lépéseit, kinyerje a specikációban szerepl formulákat, majd el állítsa ezek lezártjait. Az eszköz végül lehet séget kínál a két komponens formulahalmazaiból el állított lezártjainak vizuális összehasonlítására. Az eszköz forráskódja az A függelékben található. 3.5. Hálózati protokollok formális verikációja A hálózati protokollok a nagyméret és komplex szoftverrendszerek sajátosságait hordozzák, ezért egymásra épül, hierarchikus rétegekbe szervezik ket (például az ISO/OSI referenciamodell szerint). A rétegelt szerkezet lehet vé teszi, hogy az egyes kommunikációs funkciókat egymástól függetlenül deniáljuk, ezzel együtt ezek fejlesztése is külön eltér szabványok szerint történjen. Egy adott réteghez tartozó protokoll egyfajta fekete dobozként képzelhet el, amely úgy kínál szolgáltatásokat a felette lév rétegnek, hogy a vele egy szinten lév egyedekkel kommunikálva igénybe veszi az alatta lév réteg szolgáltatásait. A tényleges protokoll az adott réteg kommunikációs szabályaiból és a felette lév rétegnek nyújtott szolgáltatásokból (szolgáltatásspecikáció) tev dik össze. A protokoll egyedeinek leírását, valamint a szolgáltatásspecikációt együttesen protokollspecikációnak nevezzük. 5. Tézis. Új megközelítésb l tárgyaltuk a hálózati protokollok ellen rzési lehet ségeit. Az általunk bemutatott módszer szerint az OSI/ISO rétegmodelljét komponensalapú rendszernek tekinthetjük, mivel az egyes rétegek fekete dobozként m ködnek, és kizárólag az interfészeiken keresztül kommunikálnak egymással. Minden egyes réteg kizárólag az alatta lév réteg szolgáltatásait veheti igénybe, és kizárólag a felette lév rétegnek nyújthat szolgáltatást. Példaként az Open Shortest Path First (OSPF) protokollt vettük, amely egy nagy hálózatokban is jól használható bels irányítóprotokoll. Sikeresen létrehoztunk egy 6

olyan modellt, amely a hivatalosan elérhet adatokon alapul, és igazolja egy jól m - köd OSPF irányítóprotokoll meglétét. A protokoll verikációját illusztráló, az 5.3 fejezetben bemutatott állítások alátámasztották a feltevésünket, és a kívánt eredményt adták. 6. Tézis. Erre az analógiára építve egy konkrét, széles körben használt irányítóprotokoll, az OSPF modelljét hoztuk létre a kés bb szabvánnyá váló RFC dokumentum alapján. Formális eszközökkel igazoltuk, hogy a protokoll minden tekintetben az eredeti szolgáltatásspecikációnak megfelel en m ködik. Az elkészült modell a kés bbiekben tovább b víthet újabb útválasztó eszközök bekapcsolásával. Így további hitelesítési funkciók, illetve a kapcsolatállapoti hirdetmények (LSA) szinkronizációs folyamatának vizsgálata és igazolása válik lehet vé. Az irányítóprotokoll vizsgálata során az egyik útválasztó családon futó Internetwork Operating System (IOS) operációs rendszerben egy komoly biztonsági rést fedeztünk fel. Ennek formális eszközökkel történ modellezése, illetve vizsgálata még nem zárult le. A biztonsági probléma részletei az 5.4 fejezetben találhatók. Sajnos, id hiányában nem volt lehet ségünk sem a 2800-as sorozat többi típusán kipróbálni a jelenséget, sem pedig a felfedezett anomália formális vizsgálatára. Ennek elvégzésére viszont szeretnénk a közeli jöv ben sort keríteni. Referált folyóiratban megjelent cikkek [1] Dávid, Á., Kozma, L., Pozsgai, T. (2008), On the model checking of a system consisting of many similar components, Annales Univ. Sci. Budapest, Sect. Comp. 28, pp. 183-195. [2] Dávid, Á., Pozsgai, T., Kozma, L. (2007), Extending a system with veried components, Periodica Polytechnica, Vol 51, Issue 3-4, pp. 133-139. [3] Dávid, Á., Kozma, L., Varga, L. (2006), On the correctness of data type classes based on contracts, Pure Mathematics and Applications, Volume 17, Issue 3-4, pp. 251-261, ISSN 1788-800X. Referált konferenciakiadványban közölt teljes cikkek [4] Dávid, Á., Kozma, L. (2009), Educational aspects of incremental model checking, Proceedings of the 3rd International Multi-Conference on Society, Cybernetics and Informatics, Vol 2, pp. 190-194, Jul 10-13, 2009, Orlando, Florida, USA, ISBN-10: 1-934272-73-6, ISBN-13: 978-1-934272-73-2. [5] Dávid, Á., Pozsgai, T., Kozma, L. (2007), On the granularity of components, 7th International Conference on Applied Informatics, pp. 219-228, Jan 28-31, 2007, Eger, Hungary. 7

Konferenciakiadványban közölt teljes szöveg cikkek [6] Dávid Á., Csatári J., Beleznay P. (2012), Hálózati protokollok formális szemmel, Networkshop 2012 (konferenciakiadvány), Veszprém, 2012. április 10-13., ISBN: 978-963-88335-1-8. [7] Dávid, Á., Kozma, L. (2011), Hálózatbiztonság formális szemmel, Informatika a fels oktatásban (konferenciakiadvány), 608-612. o., 2011. augusztus 24-26., Debrecen, ISBN 978-963-473-461-1. [8] Dávid, Á. (2008), Formális szoftververikációs eszközök alkalmazásának nehézségei a gyakorlatban, Informatika a fels oktatásban (konferenciakiadvány), 2008. augusztus 27-29., Debrecen. [9] Dávid, Á., Gál, B. (2008), A modellellen rzés kihívásai, Informatika Korszer Technikái Konferencia (konferenciakiadvány), 2008. március 7-8., Dunaújváros. [10] Dávid, Á. (2007), Inkrementális modellellen rzés a gyakorlatban, Fels oktatási matematika-, zika- és számítástechnika oktatók XXXI. Konferenciája (konferenciakiadvány), 2007. augusztus 23-25., Dunaújváros. [11] Dávid, Á., Pozsgai, T., Kozma, L. (2005), Environment for concurrent programming, Proceedings of the 5th International Conference of PhD Students, Aug 14-20, 2005, Miskolc, Hungary. [12] Dávid, Á., Pozsgai, T., Kozma, L. (2005), Educational framework for developing applications built from veried components, Proceedings of the Ninth Symposium on Programming Languages and Software Tools, pp. 7-18, Aug 13-14, 2005, Tartu, Estonia, published by Tartu University Press. Irodalomjegyzék [13] Amla, N., Du, X., Kuehlmann, A., Kurshan, R. P., McMillan, K. L. (2005), An Analysis of SAT-Based Model Checking Techniques in an Industrial Environment, LNCS 3725, pp. 254-268. [14] Andrews, G. R. (1989), A Method for Solving Synchronization Problems, Science of Computer Programming, 13 1989/90, pp. 1-21. [15] Bensalem, S., Bouajjani, A., Loiseaux, L., Sifakis, J. (1993), Property preserving simulations, LNCS 663, pp. 260-273. [16] Berard, B., Bidoit, M., Finkel, A., Laroussinie, F., Petit, A., Petrucci, L., Schnoebelen, P. (2001), Systems and Software Verication: Model-Checking Techniques and Tools, Springer. 8

[17] Biere, A., Cimatti, A., Clarke, E. M., Strichman, O., Zhu, Y. (2003), Bounded Model Checking, Advances in Computers, Vol. 58, Academic Press (pre-print). [18] Cavada, R., Cimatti, A., Olivetti, E., Keighren, G., Pistore, M., Roveri, M., Semprini, S., Tchaltsev, A.: NuSMV 2.5 User Manual, http://nusmv.fbk.eu/nusmv/userman/v25/nusmv.pdf [19] Clarke, E. M., Grumberg, O., Long, D. E. (1994), Model checking and abstraction, ACM Transactions on Programming Languages and Systems (TOPLAS), Vol. 16, Issue 5, pp. 1512-1542. [20] Clarke, E., Grumberg, O., Peled, D. (2000), Model Checking, MIT Press. [21] Crnkovic, I., Hnich, B., Jonsson, T., Kiziltan, Z. (2002), Specication, Implementation and Deployment of Components, Communications of the ACM, Vol. 45, pp. 35-40. [22] Dams, D., Gerth, R., Grumberg, O. (1993), Generation of reduced models for checking fragments of CTL, Proceedings of the 5th Conference on Computer- Aided Verication, LNCS 697, pp. 479-490. [23] Dams, D., Gerth, R., Grumberg, O. (1997), Abstract interpretation of reactive systems, ACM Transactions on Programming Languages and Systems (TOP- LAS), Vol. 19, Issue 2, pp. 253-291. [24] Emerson, E. A., Sistla, A. P. (1996), Symmetry and model checking, Formal Methods in System Design Special issue on symmetry in automatic verication, Vol. 9, Issue 1-2, pp. 105-131. [25] Godefroid, P., Pirottin, D. (1993), Rening dependencies improves partialorder verication methods, Proceedings of the 5th Conference on Computer- Aided Verication, LNCS 697, pp. 438-449. [26] Hopkins, J. (2000), Component primer, Communications of the ACM, Vol. 43, pp. 27-30. [27] Huber, P., Jensen, A., Jepsen, L., Jensen, K. (1985), Towards reachability trees for high-level Petri nets, LNCS 188, pp. 215-233. [28] Ip, C. W., Dill, D. L. (1996), Better verication through symmetry, Formal Methods in System Design Special issue on symmetry in automatic verication, Vol. 9, Issue 1-2, pp. 41-75. [29] Johnson, R. E. (1997) Frameworks = (Components + patterns), Communications of the ACM, Vol. 40. 9

[30] Kurshan, R. P. (1990), Analysis of discrete event coordination, REX workshop Proceedings on Stepwise renement of distributed systems: models, formalisms, correctness, pp. 414-453. [31] Lee, S. C., Shirani, A. I. (2004), A component based methodology for web application development, Journal of Systems and Software, Volume 71, Issue 1-2, pp. 177-187. [32] McMillan, K. L. (1993), Symbolic Model Checking: An Approach to the State Explosion Problem, Kluwer Academic. [33] McMillan, K. L. (2003), Methods for exploiting SAT solvers in unbounded model checking, MEMOCODE'03 Proceedings of the First ACM and IEEE International Conference on Formal Methods and Models for Co-Design, pp. 135-144. [34] Miller, A., Donaldson, A., Calder, M. (2006), Symmetry in temporal logic model checking, ACM Computing Surveys (CSUR), Vol. 38, Issue 3, Art. 8. [35] Müller-Olm M., Schmidt, D. A., Steen, B. (1999), Model checking: a tutorial introduction, Proc. of the 6th Static Analysis Symposium, G. File and A. Cortesi (eds.), LNCS 1694, pp. 330354. [36] Peled, D. (1994), Combining partial order reductions with on-the-y model checking, LNCS 818, pp. 377-390. [37] Sparling M. (2000), Lessons learned through six years of component-based development, Communications of the ACM, pp. 47-53, Vol. 43. [38] Szyperski, C. (2002), Component Software Beyond Object-Oriented Programming (Second Edition), Addison-Wesley/ACM Press. [39] Thang N. T., Katayama T. (2004), Open Incremental Model Checking (Extended Abstract), Proceedings of ACM SIGSOFT Symposium on the Foundations of Software Engineering, pp. 134-137, Oct 31-Nov 1, 2004, Newport Beach, California, USA. [40] Thang, N. T., Katayama, T. (2005), Specication and verication of intercomponent constraints in CTL, ACM SIGSOFT Software Engineering Notes, pp. 1-8, Vol. 31, Issue 2. [41] Valmari, A. (1990), A stubborn attack on state space explosion, Proceedings of the 2nd Workshop on Computer-Aided Verication, LNCS 531, pp. 156-165. [42] Vitharana, P. (2003), Risks and Challenges of Component-based Software Development, Communications of the ACM, Vol. 46, pp. 67-72. [43] Yang, J (2003), Web Service Componentization, Communications of the ACM, Vol. 46, pp. 35-40. 10