C-language code generator for SOFA 2
C-language code generator for SOFA 2
diplomová práce (OBHÁJENO)

Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/49603Identifikátory
SIS: 76440
Kolekce
- Kvalifikační práce [11325]
Autor
Vedoucí práce
Oponent práce
Bulej, Lubomír
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Softwarové systémy
Katedra / ústav / klinika
Katedra softwarového inženýrství
Datum obhajoby
5. 9. 2011
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Výborně
Klíčová slova (česky)
komponeny, softwarové konektory, generátor kódu, abstraktní syntaktický strom, Stratego, XTKlíčová slova (anglicky)
components, software connectors, code generator, abstract syntax trees, Stratego, XTSOFA 2 je komponentový systém založený na hierarchickém komponentovém modelu. K návrhu aplikace slouží jazyk ADL, chování komponent je popsáno behaviorálními protokoly, dále systém umožňuje dynamickou rekonfiguraci komponet a modeluje propojení mezi jednotlivými komponentami pomocí softwarových konektorů. Ty umožňují transparentní rozdistribuování vyvíjené aplikace mezi více počítačů. Implementace konektorů může být automaticky generována, SOFA 2 je primárně vyvíjena pro jazyk Java, proto obsahuje generátor Javovských konektorů. Cílem této magisterské práce je navrhnout generátor kódu pro jazyk C a zaintegrovat tento generátor do stávající struktury generátoru konektorů v systému SOFA 2. Automatické generování konektorů v jazyce C by mělo umožnit transparentní propojení komponent implementovaných v jazyce C. Navržený generátor C kódu je založený na konceptu transformace šablon, kde je vstupní šablona, která obsahuje kombinaci cílového C kódu a speciálně vyvinutého skriptovacího jazyka, převedena na čistý C kód. Pro vyhodnocení šablon je použito strategické přepisování abstraktních syntaktických stromů poskytnuté frameworkem Stratego/XT.
SOFA 2 is a component system employing hierarchically composed components. It provides ADL-based design, behavior specification using behavior protocols, dynamic reconfiguration of the components, and modeling of the component communication by software connectors. This allows seamless and transparent distribution of component applications. The connectors can be automatically generated, SOFA 2 contains Java connector generator allowing to connect components with Java interfaces. The aim of this thesis is to implement C code generator and integrate it into the current SOFA 2 connector generator framework, so that C connectors can be automatically generated and thus components written in C language can be transparently connected in distributed environment. The proposed C code generator is based on the concept of template transformation, where templates containing mixture of C code and a scripting Domain Specific Language are transformed to a pure C code. Strategic term rewriting method provided by Stratego/XT framework is used for evaluation of the scripts within the templates.