Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    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)