Using Stratego/XT for Generation of Software Connectors
Using Stratego/XT for Generation of Software Connectors
rigorous thesis (RECOGNIZED)

View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/24809Identifiers
Study Information System: 74584
Collections
- Kvalifikační práce [11325]
Author
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Software systems
Department
Department of Software Engineering
Date of defense
25. 6. 2009
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
Czech
Grade
Recognized
Softwarové konektory hrají významnou roli v komponentových systémech, kde pomáhají modelovat a realizovat spojení mezi komponentami. Krom toho můžou také rozšiřovat vlastnosti spojení přidáním definované funkcionality (např. logování, monitorování, adaptace). Pro tyto účely je ale nutné konektory generovat v závislosti na podmínkách, které jsou specifikovány vlastními komponentami, prostředím a nebo návrhářem. Tato práce se snaží rozšířit existující generátor konektorů [33] pomocí systému Stratego/XT, který zahrnuje jazyk pro implementaci programových transformací a sadu podpůrných nástrojů. Pomocí tohoto systému realizujeme způsob, kterým lze snadno definovat vlastní implementaci softwarového konektoru a následně vygenerovat zdrojový kód konektoru dle daných požadavků.
Software connectors are used in component based systems as a special entities modeling and realizing component interactions. Besides this behavior, connectors can provide extra functionality and benefits (e.g. logging, adaptation, monitoring). This approach requires generation of connector code with respect to requirements of components, a target environment and features specified at the design stage. In this thesis we show how to extend the existing connector generator [33] by the Stratego/XT transformation engine, which includes a language for implementing program transformations and a collection of transformation tools. We use the toolset to realize a simple method of defining connector implementation, which is use as a template for a process of generation source code.