MPS-based Domain-specific Language for Defining RTSJ Systems
MPS-based Domain-specific Language for Defining RTSJ Systems
diplomová práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/41280Identifikátory
SIS: 94999
Katalog UK: 990014688330106986
Kolekce
- Kvalifikační práce [11978]
Autor
Vedoucí práce
Oponent práce
Pech, Václav
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Softwarové systémy
Katedra / ústav / klinika
Katedra distribuovaných a spolehlivých systémů
Datum obhajoby
28. 5. 2012
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Výborně
Klíčová slova (česky)
rtsj,dsl,mps,real-time,javaKlíčová slova (anglicky)
rtsj,dsl,mps,real-time,javaReal-time Specification of Java (RTSJ) je rozšíření pro jazyk Java, které umožňuje využít tento jazyk pro tvorbu real-time systémů. Nicméně náročnost použití a složitý programovací model RTSJ s její manuální správou paměti vede často k chybám. Pro ulehčení vývoje RTSJ systému by proto bylo přínosné poskytnout rozšíření jazyka Java pomocí konceptu domain-specific language (DSL). Cílem tohoto DSL by bylo umožnit bezpečnější a intuitivnější vývoj. K tomu je však potřeba najít kompromis mezi všestranností tohoto řešení a jeho použitelností pro uživatele. Tyto požadavky však jdou často proti sobě. Jednou z možností pro vytvoření DSL je použít Meta-Programming System (MPS). Tento systém umožňuje vyvíjet nové doménově specifické jazyky a příslušné projekční editory poskytující rozdílné možnosti jak spravovat kód. Tato práce vytvoří DSL a příslušný generátor kódu umožňující vývoj RTSJ systémů, to vše pomocí MPS platformy. Dále pak provede zhodnocení takto vytvořeného DSL pomocí jednoduché studie. Nakonec tato práce posoudí vhodnost MPS jako platformy pro vytváření DSL.
The Real-time Specification of Java (RTSJ) is an intention to introduce Java as a language for developing real-time system. However, the complexity of their development and a non-trivial programming model of RTSJ with its manual memory management often lead to programming errors. To mitigate the development of RTSJ systems it would be beneficial to provide an internal domain-specific language (DSL) extending the Java language which would allow to develop the systems in more intuitive and safer way. However, it is needed to find compromise between solution's power and level of usability, because this two attributes go often against each other. One possible way of DSLs creation concerns the Meta-Programming System (MPS). It allows to develop new domain-specific languages and corresponding projectional editors enabling different views on code. This thesis proposes a design and implementation of the DSL on the top of the MPS platform and corresponding code generator enabling development of RTSJ systems. Furthermore, the thesis provides a simple case-study to evaluate a proposed DSL. Additionally, the thesis assesses the suitability of MPS as a DSL-development platform.
