SOFA 2 runtime support for dynamic languages
Běhová podpora dynamických jazyků v SOFA 2
diplomová práce (OBHÁJENO)
![Náhled dokumentu](/bitstream/handle/20.500.11956/34203/thumbnail.png?sequence=7&isAllowed=y)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/34203Identifikátory
SIS: 76387
Kolekce
- Kvalifikační práce [11264]
Autor
Vedoucí práce
Oponent práce
Hnětynka, Petr
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Softwarové systémy
Katedra / ústav / klinika
Katedra softwarového inženýrství
Datum obhajoby
7. 9. 2010
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Výborně
Komponentové systémy umožňují vytvářet rozsáhlé aplikace složené ze znovupoužitelných softwarových komponent. Vývoj těchto komponent je ovšem v mnoha dnešních komponentových systémech složitý, především díky zdlouhavému vývojovému cyklu. Jednou z možností, jak urychlit vývoj komponent, je využít dynamické jazyky umožňující změnit implementaci za běhu bez nutnosti kompilace a restartování. Podpora komponent implementovaných v těchto jazycích by mohla zjednodušit vývoj prototypů komponentových aplikací a rozšířit možnosti komponentových aplikací o další výhody dynamických jazyků (dynamické typování proměnných atd.). Cílem této práce je rozšířit komponentový systém SOFA 2 o podporu pro primitivní komponenty implementované pomocí dynamických jazyků. Toto rozšíření je založeno na mechanismu komponentových aspektů a je implementováno tak, aby co nejméně modifikovalo běhové prostředí SOFA 2. Kromě základní podpory jsou součásti implementace i nástroje pro dynamické změny kódu běžících skriptovaných komponent. Na základě tohoto rozšíření práce vyhodnocuje potenciál kontrolní části systému SOFA 2 (postavené na koncepci mikrokomponent) pro implementaci rozšíření běhového prostředí. A to především takových rozšíření, která integrují nové implementační technologie jako například dynamické jazyky.
Component systems allow to build large scale applications from reusable components. However, many of the contemporary component systems have an extensive component development cycle with a long turnaround time. To speed up the component development, the dynamic languages, which allow to change the implementation at runtime without compilation and restarting, could be used. Therefore, the support of components implemented in dynamic languages could simplify development of application prototypes and add other advantages of interpreted dynamic languages (dynamic typing etc.). The aim of this thesis is to extend the SOFA 2 component system runtime to support primitive components implemented in dynamic languages. The extension is based on the SOFA 2 component aspect mechanism and it focuses on minimal changes of the existing core runtime implementation. The presented implementation also provides tools for interaction with running scripted components in order to allow dynamic implementation changes. On the basis of this extension, the thesis evaluates potential of the SOFA 2 microcomponent-based controller part for building runtime extensions, particularly extensions integrating new runtime technologies such as dynamic languages.