Formális módszerek - Házi feladat (2017 tavasz)

Tartalom:

A házi feladat

A tantárgy követelményeinek teljesítéséhez egy otthoni feladatot (a továbbiakban házi feladat) kell kötelezően elkészíteni.

A házi feladat megoldása során egy szöveges leírással megadott rendszert kell formális modellel leírni, majd a modellen adott követelmények teljesülését kell modellellenőrzéssel igazolni.

  • A feladatban megadott rendszert (időzített) automatákkal kell modellezni az UPPAAL eszköz segítségével.
  • A megadott követelményeket temporális logikai kifejezésekkel kell formalizálni és az UPPAAL verifikációs moduljának segítségével kell ellenőrizni.

Célunk, hogy mindenki gyakorlatot szerezzen a formális modellezésben és verifikációban. A formális modell elkészítése többféle módon is helyes lehet; a feladatok értelmezésekor elvárjuk, hogy az informális leírásban foglaltaknak feleljen meg a kidolgozott formális modell.

A házi feladat teljesítésének forgatókönyve az alábbi.

  1. A szövegesen megadott rendszernek készítse el a formális modelljét az UPPAAL rendszerben.
    • Röviden dokumentálja a modell felépítését, a modellezési alternatívákat (ha vannak).
    • Indokolja a modell kidolgozása során hozott döntéseket (ha vannak).
    • Szükség esetén finomítsa a kiadott informális leírást.
  2. Formalizálja a szöveges leírásban megadott követelményeket az UPPAAL temporális logikai kifejezéseivel.
    • Dokumentálja a formalizált követelményeket.
  3. Ellenőrizze a modellen a megadott követelmények teljesülését az UPPAAL verifikációs modulja és a felírt temporális logikai kifejezések segítségével.
    • Írja le a verifikáció eredményét.
    • Ha egy kritérium igazolása sikertelen, akkor értelmezze az ellenpéldát és lehetőség szerint javítsa ki a hibát.

A tervezés során a modell kidolgozása lépésenkénti finomítással célszerű, dokumentálva az egyes lépéseket.

A házi feladatot önálló munkával kell megoldani. Mivel korlátozott számú feladattípus kerül kiadásra, így egy-egy feladatot több hallgató is megkap. A modellezés fázisában nem tiltott a feladatok szakmai konzultációja egymás közt, de kérjük, hogy alapvetően egyedül dolgozzanak. A dokumentációt mindenkinek önállóan kell elkészítenie! Ezzel demonstrálja, hogy - ha segítettek is neki korábban - megértette és elsajátította a formális modellezés alapvető ismereteit. Másolt dokumentációt tehát nem fogadunk el!

Eszközök a házi feladat kidolgozásához

A modell ellenőrzési feladatot a svédországi Uppsala Egyetem Információs Technológia Tanszéke és a dániai Aalborg Egyetem Számítástudományi Tanszéke közötti együttműködésben kifejlesztett UPPAAL eszköz segítségével kell megoldani. Az UPPAAL integrált környezetet ad elosztott rendszerek modellezésére együttműködő időzített automaták hálózata segítségével. A működés helyességének vizsgálatát (a modell verifikálását) temporális logikai kifejezések modellellenőrzése révén támogatja. A modelleket az UPPAAL rendszerben bővített adattípusok (határolt egészek, tömbök, stb.) és egyszerű függvények felhasználásával építhetjük fel.

Az UPPAAL felülete Java nyelven íródott. Ez azt is jelenti, hogy Java futtatókörnyezet (pl. J2SE Java Runtime Environment) is kell a futtatásához.

Az UPPAAL program aktuális verziója az UPPAAL honlapról regisztrálás után tölthető le. Az oktatási célú felhasználás ingyenes. 

  • Internet Explorer 9 esetén problémákat jeleztek a regisztráció és letöltés során, ez esetben másik böngészővel is érdemes próbálkozni.
  • Ha a telepített hivatalos verzió licensz problémákat jelez, akkor érdemes a fejlesztői verziót használni, vagy időnként a BME IP címtartományában futtatni (a licensz fájl frissítéséhez).

Az UPPAAL környezet használatának megismerését és a modellezési nyelv elsajátítását az órán elmondottakon túl az alábbi (angol nyelvű) anyagok is segítik, ezeket ajánlott tanulmányozni:

Ezen kívül ajánlott az eszközzel együtt adott mintapéldák átnézése, kipróbálása, valamint az eszköz Help menüjéből elérhető leírás átolvasása.

A házi feladatok hallgatókhoz rendelése és a feladatkiírások

Minden hallgató a Neptun kódja alapján keresheti meg a kidolgozandó házi feladatát:

Az egyes házi feladatok konkrét megfogalmazása (azaz a modellezendő rendszer és a hozzá kapcsolódó ellenőrizendő követelmények leírása), valamint a feladat kidolgozását segítő konzulens neve itt olvasható:

Sorszám A feladat címe A feladat konzulense
HF01 Elégedetlen felhasználók Balogh László Márk
HF02 Vegyi üzem Balogh László Márk
HF03 Infrastruktúra menedzsment Élő Dániel
HF04 Palacsinta gyártósor Élő Dániel
HF05 Labirintus Marussy Kristóf
HF06 Processzorok színezése Marussy Kristóf
HF07 Gráfbejáró algoritmus Soltész Adrián
HF08 Kölcsönös kizárás Soltész Adrián
HF09 Dijktra algoritmusa Tóth Tamás
HF10 Lynch-Shavit algoritmus Tóth Tamás
HF11 Időosztásos hozzáférés Vörös András
HF12 Időzített busz Vörös András

 

 

Konzultációs lehetőség

A 10. oktatási héten (a feladat beadási határidejét megelőző héten) konzultációs időpontokat ajánlunk fel, ekkor tehetik fel a feladattal kapcsolatos kérdéseiket az adott feladat konzulensének az érdeklődő hallgatók.

A konzultációkon való megjelenés nem kötelező, viszont kérjük, akinek kérdése van, lehetőleg ezekben az időpontokban keresse a konzulensét. Akinek órarendi ütközés miatt nem lenne alkalmas a megadott konzultációs időpont, kérjük, hogy e-mailben keresse meg a konzulensét, és így egyeztessen időpontot. Aki a konzultáció második órájában érkezik, kérjük, hogy emailben előre jelezze a konzulensnek.

A konzultációs időpontok és helyszínek az alábbi táblázatban lesznek találhatók.

Sorszám A feladat címe A feladat konzulense Konzultáció
       

A házi feladat beadása

A követelmények teljesítéséhez a következők beadása szükséges:

  • A feladat megoldásának részletes dokumentációja (ábrákkal ellátott szöveges leírás) a fenti forgatókönyv szerint.
    A dokumentáció tartalmazza a modell felépítésének és ellenőrzésének ismertetését, a kapott eredményeket, valamint a tervezési és modellezési döntések indoklását. A dokumentáció kért beadási formátuma az Adobe PDF formátum. 
  • Az UPPAAL modell forrás- és lekérdezési (query) fájljai.  

Mindezeket kérjük egy ZIP állományba tömöríteni.

Kérjük, hogy a dokumentációban mindenképpen szerepeljenek a következők:

  • A személyes adatok (név, Neptun kód),
  • A feladat címe (nemcsak a sorszáma!).

A házi feladatok beadása elektronikus űrlap segítségével történik, a Házi feladatok és jegyzőkönyvek leadása (útmutató) oldalon leírtak szerint.

Beadási határidő:  2017. április 22. szombat, 23:59:00 (a beadó űrlap rögzíti a beadás időpontját). 

A beadási határidő lezárultával feladatbeadást már csak pótbeadásként fogadunk el.
A pótbeadáshoz a beadó űrlapot újra megnyitjuk, a részleteket ld. lejjebb!

A házi feladat bemutatása

A házi feladat beadását követően kerül sor a kidolgozott feladatok személyes bemutatására (védésére). Ennek célja annak megállapítása, hogy a hallgató önállóan, saját munkával és a megengedett eszközöket felhasználva készítette el a feladatát. A védés során néhány percben rövid kérdéseket teszünk föl a modellezési feladattal és a beadott dokumentációval kapcsolatban. A házi feladat értékelése a védés folyamán válik véglegessé.

A feladatok védése az egy konzulensre eső hallgatók magas száma miatt több órás program, amelynek időbeosztására, azaz az adott hallgató védésének konkrét időpontjára előzetesen jelentkezni kell.

A házi feladatok védéseinek ütemezése és a jelentkezések az alábbi táblázatban lesznek találhatók.

  • Kérünk mindenkit, hogy a jelentkezési űrlapon a házi feladatához EGY blokkot foglaljon le.
  • Akik pótbeadásként adják be a házi feladatukat, azok a pótlási időszakban megadott pótvédésre jelentkezzenek! Szintén a pótvédésre jelentkezzenek, akik órarendi okok vagy helyhiány miatt nem tudnak jelentkezni a szorgalmi időszakban szervezett védésre.
  • A védésen kötelező személyesen megjelenni. Aki a védésen nem jelenik meg, annak a házifeladatát nem fogadjuk el! Ha a jelentkezéssel kiválasztott időpontban a megjelenésnek komoly akadálya merül fel, keressék meg a konzulensüket emailben új időpont egyeztetése céljából!
Sorszám A feladat címe A feladat konzulense Védés jelentkezés Pótvédés jelentkezés
         

A házi feladat pótbeadása

A beadási határidő lezárultával feladatbeadást már csak pótbeadásként fogadunk el. A pótbeadás 20% (egy jegy) levonással jár. Aki nem ad be feladatot pótbeadással sem, az nem szerezhet félévközi jegyet!

A pótbeadás elektronikus űrlap segítségével történik, a Házi feladatok és jegyzőkönyvek leadása (útmutató) oldalon leírtak szerint.

Pótbeadási határidő: 2017. május 17. szerda, 23:59:00  (a beadó űrlap rögzíti a beadás időpontját).

A beadandó anyagok köre megegyezik a félévközi beadáskor elvárt anyagokkal (dokumentáció, modellek, eredmények). A védés része a feladat bedásának, erre még a pótlási időszakban sor kerül.

A pótvédések időpontja: A pótvédések időpontjai a normál védésekkel együtt vannak meghirdetve (ld. fentebb).
Ugyanekkor a korábban beadott házi feladatok esetlegesen elmaradt védései is pótolhatók.

A házi feladatok eredményei

A házi feladatok jegyei a védéseken válnak véglegessé.

  • A védések utáni eredmények itt leszek találhatók.