Házi feladat

Ez az oldal foglalja össze a Rendszermodellezés tárgy házi feladataival kapcsolatos információkat, segédanyagokat.

Feladatok

Mind a bemelegítő, mind a kötelező házi feladat elkészítéséhez a Yakindu Statechart Tools c. szoftver 2.9-es verzióját (letöltés) kell használni; az ingyenes kiadást (Community Edition) javasoljuk.

A feladatok megoldását nagy mértékben támogató segédleteket az oldal alján linkeltük.

Bemelegítő szorgalmi házi feladat

A bemelegítő házi feladat BME címtár bejelentkezés után letölthető ezen a linken. A letöltött csomag tartalmazza a hallgatónként különböző feladatkiírást, valamint a megoldást segítő Eclipse projektvázat (tesztesetekkel együtt). A tárgy követelményeinek legalább elégséges szintű teljesítése esetén a bemelegítő feladatért legfeljebb +4 bónuszpont jár a félév végi jegyszámításkor.

A házi feladat feltöltése a honlapon keresztül történik (.sct modell), határideje az 5. oktatási hét vége (2017.03.12. 23:59). A megoldás és a beadás módjáról a technikai segédlet tájékoztat.

Kötelező házi feladat

A kötelező házi feladat hallgatónként egyedi feladatkiírása a megoldást támogató projektvázzal és tesztesetekkel együtt BME címtár bejelentkezés után letölthető ezen a linken. A kötelező házi feladat teljesítése a kredit megszerzésének előfeltétele, és a félév végi osztályzat számításakor 30% súllyal vesszük figyelembe.

A tesztesetek többsége elemi lépéseket vizsgál (pl. állítható-e a játékosok gondolkodási ideje), szándékaink és az előzetes belső próbák szerint a gyakori hibákat felderítik, futtatásuk kötelező a feladat beadása előtt. Azokat a megoldásokat, melyek nyilvánvaló hibákat tartalmaznak, és a kiadott teszteken sem mennek át, nem tudjuk elfogadni. Az alkalmazás mellé kiadtunk egy grafikus felhasználói felülettel rendelkező programot is, mellyel a modell működése gyorsan kipróbálható. Emellett a modell részletes működését a tesztekkel és szimuláció futtatásával lehet ellenőrizni. További útmutató a technikai segédletben található. Ismételten felhívjuk a figyelmet a Q2A oldal használatára, ahol a technológiai jellegű kérdésekre a leggyorsabban választ lehet kapni.

A házi feladat feltöltése a honlapon keresztül történik (.sct modell), határideje a 12. oktatási hét vége (2017.04.30. 23:59). A megoldás és a beadás módjáról a technikai segédlet tájékoztat.

Felmerülő kérdések

A felmerülő kérdéseket kérjük tegyék fel a Q2A oldalon, ill. indokolt esetben a remo-hf@inf.mit.bme.hu címen. Kérjük, hogy házi feladattal kapcsolatban csak ezen a két elérhetőségen kérdezzen, máskülönben nem fogjuk tudni megválaszoni a kérdését!

Automatikus házi feladat javító

Kísérleti jelleggel elindítottunk egy automatikus házifeladat ellenőrző alkalmazást. Az eredmények az alábbi címen kérdezhetők le:

http://remo.inf.mit.bme.hu/results/NEPTUN

Az ellenőrzés automatikusan megtörténik minden beadott házi feladatra. A feladatsorokat az ellenőrző sorban, FIFO jelleggel dolgozza fel. Az ellenőrző a tesztesetek futtatása mellett az alkalmazás statikus ellenőrzést is végez. Ennek során megvizsgálja, hogy a házi feladat segédletben definiált tiltott elemek (forbidden elements) közül melyek szerepelnek a modellben, ill. hiányoznak-e elemek az interfészből (missing elements in the interface).

Egy hibátlan házi feladatnál az alábbi eredmény jelenik meg:

Homework results
================

Neptun code: ...
Number of failed tests: 0


Result of static analysis
--------------------------------------------------
Forbidden elements:

Missing elements in the interface:

--------------------------------------------------

Submission date: ...

Szorgalmi házi feladat

A tárgyból lehetőség van szorgalmi házi feladat elvégzésére. Ennek határideje a 14. hét vége (2017.05.14. 23:59). A leadás a kötelező házi feladathoz hasonlóan a honlapon keresztül történik majd. A szorgalmi feladatért jutalompontokat adunk, melyek beszámítása a többi tárgykövetelmény teljesítése esetén lehetséges. A szorgalmi feladat leadásához előzetesen a 14. hét végéig jelentkezni kell majd.

(Még nincs 2017-re aktualizálva)

Eredmények értelmezése

A házi feladatokat előzetes ellenőrzésnek vetettük alá, ennek eredménye itt olvasható. A siker/hiba kimeneten túl a következőket érdemes tudni a táblázatról:

  • A "Tiltott elemek" oszlopban találhatóak azon elemek felsorolva, amelyeknek a használatát (pl. a technikai segédletben) kifejezetten elkerülni javasoltuk. Ezeket kifejezetten erre a célra kifejlesztett statikus analízis (a modell elemzése) után találtuk meg. Ettől függetlenül a tesztesetek lefuthatnak ilyen modellekre is, ez esetben el is fogadjuk a feladatot, de maximális pontszámot nem tudunk adni. A javításról bővebb információ a technikai segédletben olvasható. Tipikus hiba a trigger esemény nélküli étmenetek használata (megoldást jelenthet a modell átstrukturálása mellett az "after 0 s" használata, choice választási lehetőség beiktatása stb.).
  • A táblázat külön nem jelzi, de több modell esetén is figyelmeztetést (Warning) adott a Yakindu. Ezek általában könnyen javíthatóak, és a programozási nyelvekhez hasonlóan ajánlott is a javításuk. (Pl: a soha nem használt változókat törüljük; ne legyen olyan átmenet, amely soha nem aktiválódhat; többszörös választás esetén legyen default átmenet stb.). A javítást általában egyszerű elvégezni (pl. after 0 s, choice, default stb. értelemszerű használatával, ill. a felesleges változók törlésével), ahogy erről a technikai segédletben és a Q2A oldalon is volt szó. Ezeket a modelleket elfogadjuk, de maximális pontot nem adunk értük (a warning üzenteket a szóbeli megtekintésen ellenőrizni fogjuk). A hibák az Eclipse "Problems view" nézetében és a modellen is láthatóak (sárga háromszög).
  • A hibás tesztesetek közül egyet tettünk közzé minden esetben (az előzetes ellenőrzés alkalmával tipikusan sok teszteset jelzett hibát egyszerre). A futtatott tesztesetek megegyeznek a kiadottakkal, így mindenkinek lehetősége van az összes hibát javítani.

Megjegyzések:

A javítást érdemes mindig a tiltott elemek elhagyásával és a figyelmeztetések megszüntetésével kezdeni, ezzel sok esetben együtt jár az is, hogy a tesztek közül is több lesz sikeres.

 

Segédletek

  • A házi feladattal kapcsolatos elméleti anyagot bemutató előadás anyaga, az előadást kiegészítő írásos segédanyag és az utóbbihoz tartozó Yakindu demo videó.
  • A kutatócsoport kérdés-válasz (fórum) oldala.
  • A házi feladat megoldásához előírt szoftvereszközt bemutató (és a félév közben a beérkező kérdések alapján frissülő) technikai segédlet.