Optimizing performance of software connectors code generator
Optimizing performance of software connectors code generator
diplomová práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/13245Identifikátory
SIS: 45836
Kolekce
- Kvalifikační práce [11264]
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
18. 9. 2007
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Výborně
Softwarové konektory jsou zprostředkovatelské entity používané v komponentových systémech k modelování a realizaci komunikace. Navíc mohou konektory poskytovat extra funkcionalitu, jako je logování nebo monitoring. Tato variabilita vyžaduje generování kódu konektoru na základě platných funkčních a ostatních požadavků. Ovšem některé požadavky nemohou být specifikovány dříve než v okamžiku nasazení. Prostředí při nasazování může být ale poměrně restriktivní. Existující generátor konektorů [32] používá ke generování tříd konektorů ze šablon sadu komplexních nástrojů. V této práci nabízíme optimalizaci generování na bázi předkompilování. Šablony jsou ještě v době návrhu předkompilovány do podoby, kterou lze posléze snadno zkompilovat použitím manipulace bytekódu.
Software connectors are intermediary entities used to model and realize communication in component systems. In addition to the communication, connectors can also provide extra functionality, such as logging or monitoring. This variability requires generation of the connector's code according to valid functional and non-functional requirements. Some requirements cannot be specified sooner than at deployment-time. However, the deployment environment can be restrictive. The existing connector generator [32] utilizes complex external tools for generation of the connector's classes from templates. In this thesis, we propose an optimization based on a precompilation approach. Templates are precompiled at design-time into a form that can be later compiled easily using a bytecode manipulation technique.