Modell alapú rendszertervezés

VIMIMA00  |  Mérnökinformatikus MSc  |  Félév: 1  |  Kredit: 4

A tantárgy célkitűzése

  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 oktatói

Semeráth Oszkár
Semeráth Oszkár

adjunktus

tárgyfelelős

A tantárgy részletes 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)