Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék 5.5. Model Based Architecture módszerek BelAmI_H Spring Workshop március 1.
Célkitűzések Előző fázis ( ): o MDA architektúra tervezése: Modell alapú tervezés, implementáció o Mintamegvalósítás: Tagsági protokollok, intelligens bögre Jelenlegi fázis ( ): Valósidejű beágyazott rendszerekhez egységes, integrálható módszerek kidolgozása o modellezéshez (ld. előző fázis kiterjesztése valósidejű viselkedéshez), o modellellenőrzéshez és o futási idejű ellenőrzéshez Kapcsolódás a „best practice”-hoz: o Ipar: Vizuális modellező nyelvek (UML, állapottérképek), de formális szemantika nélkül o Akadémia: Hatékony modellellenőrző eszközök formális modellekhez, de felhasználóbarát interfészek és eszközintegráció nélkül
Áttekintés a feladatokról 2009: Automatikus forráskód szintézis o Benchmark modellek kidolgozása o Forráskód szintézis kísérleti értékelése 2010: Modellellenőrzés o Illesztés vizuális nyelvekhez o Kísérleti értékelés (futásidő) 2011: Futási idejű ellenőrzés o Monitor szintézis o Mintamodellek kidolgozása o Teljesítmény és overhead értékelés
Kihívások és megoldások Használhatóság növelése: Módszerek és eszközök integrálásával o Vizuális modellező nyelvek és környezetek o Formális ellenőrzés és kódgenerálás Megoldási javaslat: 1.Valósidejű viselkedést támogató modellezési lehetőségek megvalósítása UML állapottérképekhez 2.Formális szemantika hozzárendelése a modellellenőrzés és a forráskód valamint monitorkód generálás érdekében 3.Leképezés megvalósítása modellellenőrző bemenetére (időzített automata formalizmus) 4.Kódgenerálás futásidejű ellenőrzéshez a modell alapján
Eddigi eredmények összefoglalása UML profil kidolgozása időfüggő viselkedés leírására o Események, akciók és időzítések (time-out) modellezése Akció és feltétel leíró nyelv kidolgozása o AGSL: Action and Guard Specification Language o Implementáció-független leírás kódgeneráláshoz Automatikus leképzés időzített automatákra o UPPAAL modellellenőrző használható o Automata alapú tesztgenerálás használható Követhetőség megvalósítása o Követelmények és modellelemek közötti kapcsolatok Integráció az Eclipse modellező eszközbe
Az eszközintegráció áttekintése Automatikus modell leképzés Modellellenőrzés időfüggő viselkedéshez Követhetőség
Továbblépés Cél: Futásidőbeli ellenőrzés o Időleges és állandósult működési hibák detektálása o Implementációs hibák detektálása (kézi kódolás esetén) Módszer és technológia: o Monitorkód generálása a (referencia) modell alapján o Paraméterezett kódgenerálás önellenőrzéshez Kapcsolódási pontok: o Modell alapú tervezés és tesztgenerálás o Diverz modulok megvalósítása biztonságkritikus rendszerekben o Kommunikációs protokollok verifikációja
5.5. Model Based Architecture methods BelAmI-H Spring Workshop
Goals Industry-ready o modelling, o model checking and o source code synthesis solutions for time-aware embedded systems State of the art: o Industry: user-friendly visual modeling languages (UML, statecharts), lack of formal semantics o Academia: high performance model checker tools capable of handling large model spaces, lack of user-friendly integrated interface
Challenges and solutions Challenges: o Bridging the usability gap between visual modeling notations and powerful model checking solutions Approach: o Introduce real-time modeling capabilities to UML’s state machines and provide a formal semantics o Define a mapping of state machines to a real-time aware model checker (Uppaal) o Implement an automatic transformation from state machines to Uppaal timed automata
Main achievements UML profile featuring modeling facilities for… o Specification of real-time events o Distinguishing external and internal events o Unambiguous object-event association Executable specification language for modeling internals of activities o Action and Guard Specification Language Automatic translation of such UML models to the input language to Timed Automata o UPPAAL model checker Traceability between UML and UPPAAL models Integrated into Eclipse
Tool integration example Automatic Model Transformation Time-Aware Model Checking Traceability