Modell alapú rendszertervezés

A tantárgy angol neve: Model-based Systems Design

Adatlap utolsó módosítása: 2018. március 5.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar

Mérnökinformatikus Szak
MSc képzés
Kritikus rendszerek főspecializáció 

Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VIMIMA00 1 2/1/0/v 4  
3. A tantárgyfelelős személy és tanszék Dr. Semeráth Oszkár,
A tantárgy tanszéki weboldala http://www.inf.mit.bme.hu/
4. A tantárgy előadója Dr. Varró Dániel (egyetemi tanár)
Dr. Bergmann Gábor (egyetemi adjunktus)
Dr. Horváth Ákos (egyetemi adjunktus)
Dr. Ráth István (egyetemi adjunktus)



5. A tantárgy az alábbi témakörök ismeretére épít

Alapvető programozási (Java, C, C++) és rendszermodellezési ismeretek

6. Előtanulmányi rend
Kötelező:
NEM ( TárgyEredmény( "BMEVIIIM228" , "jegy" , _ ) >= 2
VAGY
TárgyEredmény( "BMEVIAUMA01" , "jegy" , _ ) >= 2
VAGY
TárgyEredmény("BMEVIIIM228", "FELVETEL", AktualisFelev()) > 0
VAGY
TárgyEredmény("BMEVIAUMA01", "FELVETEL", AktualisFelev()) > 0
VAGY
TárgyEredmény( "BMEVIAUMA22" , "jegy" , _ ) >= 2
VAGY
TárgyEredmény("BMEVIAUMA22", "FELVETEL", AktualisFelev()) > 0)

A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

Ajánlott:
-
7. A tantárgy célkitűzése

Napjainkra a modell alapú szoftver- és rendszertervezés az informatika számos területén (pl. autóipar, repülőgépipar, üzleti folyamatok) tekinthető az egyik vezető fejlesztési módszertannak. A magasszintű, precíz, szabványos és szakterület-specifikus modellek megalkotásával és ellenőrzésével a tervezés korai fázisaiban kiszűrhető számos ellentmondás és tervezési hiba, melyek egy kódcentrikus fejlesztési folyamat esetében csak a tesztelés során deríthetők fel.  Modellszimulációk segítségével előzetesen megbecsülhető a rendszer várható teljesítménye, megbízhatósága vagy rendelkezésre állása is. Automatikus kódgenerátorok és modelltranszformációk segítségével pedig automatizálhatóvá válik az implementáció számos kritikus lépése, mint a forráskód, a konfigurációs leírók vagy a dokumentáció elkészítése.

A hatékony modellalapú tervezéshez elengedhetetlenek a modern, egyedi tervező- és ellenőrzőeszközök is, ezért a tárgy bemutatja azok kifejlesztéséhez szükséges alaptechnológiákat, többek között a szakterület specifikus modellezési nyelvek, modell-lekérdezések és transzformációk, és kódgenerátorok tervezési technológiáit. Betekintést ad továbbá a modell alapú tervezés fejlesztési módszertanának legfontosabb kérdéseibe is.

A tantárgy célja, hogy egy szoftverfejlesztési házi feladat tervezésén és implementációján keresztül egyszerre mutassa be a modell alapú módszerek alapjait, az ipari környezetben használatos technológiákat és a kapcsolódó tervezési módszertanokat. Ennek keretében a hallgatók részletesen megismerik

  1. a kritikus rendszerek tervezésének komplex feladataival és módszereivel (platform modellezés, hibatűrő tervezési minták, allokáció, ütemezés, optimalizáció, szolgáltatásbiztonsági paraméterek),
  2. az ezt támogató szakterület-specifikus tervezőeszközök fejlesztési alapjaival (metamodellezés, grafikus és szöveges nyelvek, nézetek, nézőpontok),
  3. az automatizálást támogató modell alapú módszereket és technológiákat (modell-lekérdezése, modelltranszformációk, kódgenerátorok) valamint,
  4. a modell alapú fejlesztési folyamat során használt főbb elvekkel.

A tárgy elvégzésével a hallgatók olyan ismeretekre tesznek szert, amelyek segítségével képesek lesznek egy komplex informatikai rendszer projekt modell alapú tervezésére továbbá az egyes lépések hiányzó automatizált eszköztámogatásának a kifejlesztésére is.

8. A tantárgy részletes tematikája

Az előadások tematikája:

Előadás

Előadás anyaga

1.

Bevezetés: Szakterület-specifikus nyelvek és modelltranszformációk szerepe kritikus rendszerek modellvezérelt tervezésében. A nyílt forráskódú tervezőrendszerek szerepe.

2.

Modellezési nyelvek tervezése és technológiái: Metamodellezés/Ontológiák (EMF, OWL/RDF). Származtatott modellelemek. Absztrakció és hierarchia szerepe a modellezésben. UML Profile-ok felépítése.

3.

Modellezési nyelvek tervezése és technológiái: Modell-lekérdező nyelvek, (OCL, gráfminták), Jólformáltsági kényszerek, Kiértékelési stratégiák (inkrementális vs. lokális keresés). Esettanulmány (DSM).

4.

Modellezési nyelvek tervezése és technológiái: Nézetek, nézőpontok, Grafikus és szöveges nyelv. Absztrakt és konkrét szintakszis.  definíciója és kapcsolata. Szöveges és grafikus szintakszist támogató keretrendszerek. Esettanulmány (DSM)

5.

Modell alapú módszerek: Automatikus modelltranszformációk; Modelltranszformációk csoportosítása. A model-to-model (M2M) és model-to-text (M2T) transzformációk. Szabványos / népszerű modelltranszformációs nyelvek. Inkrementális modell-szinkronizáció. Modell-szimuláció szerepe viselkedésleíró nyelvekben.

6.

Automatikus kódgenerátorok: Minta (template) alapú kódgenerátorok. Közvetett kódgenerátorok (M2M + nyelvtan alapú formázás). Inkrementális kódgenerátorok. Kódgenerátorok tanúsítványozása. Esettanulmány

7.

Kritikus rendszertervezés: Követelmény, funkcionális és strukturális modellezés; a kapcsolódó szabványos nyelvek és profile-ok (UML MARTE, SysML) áttekintése, modellezési best practice-ek, esettanulmány.

8.

Kritikus rendszertervezés: Platform modellezés, Architekturális tervezési minták; Redundancia és hibatűrés; a kapcsolódó szabványos nyelvek és profile-ok (UML MARTE) áttekintése, modellezési best practice-ek, esettanulmány.

9.

Kritikus rendszertervezés: Erőforrás partícionálás, Esemény- és idővezérelt rendszerek; Extra-funkcionális paraméterek modell alapú analízise. Munkafolyamat szemléletű allokációs folyamat. Nyomonkövethetőség

10.

Kritikus rendszertervezés: Tervezési tér felderítés; Konfigurációtervezés; Tervezési variánsok szisztematikus előállítása és kiértékelése

11.

Kollaboratív modellezés: Csoportosítás: offline (SVN, CVS) és online (pl. GoogleDocs) megközelítések. Modellek összehasonlítása. Eszközintegráció: célja, kihívásai; Munkafolyamat szemléletű eszközintegráció

12.

Üzleti folyamatok modellezése és analízise: BPMN alapú modellezés és szimuláció alapú analízis. Modellezési best practice-ek, esettanulmány.

13.

 Szabály alapú rendszerek: Prioritások és konfliktusok kezelése, szabályok ütemezés. Komplex eseményfeldolgozás (Complex Event Processing): események fogalma, (időablakozott) feldolgozása.

14.

Modell alapú fejlesztési folyamat (Modell menedzsment; költségbecslés; agilis MDE)

A gyakorlatok tematikája:

Gyakorlat

Gyakorlat anyaga

1.

Szakterület specifikus nyelvek: metamodellezés (EMF)

2.

Szakterület specifikus nyelvek: jólformáltsági kényszerek, nézetek (OCL  EMF-IncQuery)

3.

Modelltranszformációk és kódgenerátorok (Xtend) 

4.

Kritikus rendszerek tervezése: funkcionális, architektúra és platform modellezés (Papyrus UML + MARTE Profile)

5.

Kritikus rendszerek tervezése: erőforrás partícionálás, konfiguráció tervezés (Papyrus UML + MARTE Profile)

6.

Szabály alapú rendszerek (Drools)
 
9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium) előadás és gyakorlat
10. Követelmények

A szorgalmi időszakban: A félév végi aláírás feltétele a tárgy anyagát felölelő házi feladat (otthoni feladat) önálló, megfelelő színvonalú elkészítése. A házi feladat kiadása legkésőbb a 4. oktatási héten, beadása pedig a 14. oktatási héten történik. A félév folyamán a házi feladat előrehaladását rendszeresen ellenőrizzük.

A vizsgaidőszakban: A hallgatók a tárgyból szóbeli vizsgát tesznek. A vizsga feltétele az aláírás megszerzése, a megszerzett aláírás 3 évig érvényes. A félévközi házi feladat (otthoni feladat) értékelése 50% súllyal számít bele a vizsgajegybe.

Elővizsga: Nincs.

11. Pótlási lehetőségek A házi feladat (otthoni feladat) határidőn túl a pótlási héten adható be (vagy javítható), a vizsgaidőszakban pótlás már nem lehetséges.

A vizsga egyszeri javítására minden hallgató jogosult, ekkor az érvényes eredmény a legutolsó alkalommal elért osztályzat.

12. Konzultációs lehetőségek Igény szerint az előadókkal egyeztetve.
13. Jegyzet, tankönyv, felhasználható irodalom

Marco Brambilla, Jordi Cabot, Manuel Wimmer: Model Driven Software Engineering in Practice. Morgan&Claypool Publishers, 2012.

J. Holt, S. Perry: SysML for Systems Engineering, 2008.

 

14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
Kontaktóra42
Készülés előadásra6
Készülés gyakorlatra
7
Házi feladat elkészítése33
Vizsgafelkészülés32
Összesen120
15. A tantárgy tematikáját kidolgozta Dr. Varró Dániel (egyetemi tanár)
Dr. Horváth Ákos (tudományos munkatárs)
Dr. Ráth István (tudományos munkatárs)
Gönczy László (egyetemi tanársegéd)
Dr. Bergmann Gábor (tudományos munkatárs)