Variability of Execution Environments for Component-based Systems
Variabilita běhových prostředí komponentových systémů
dissertation thesis (DEFENDED)

View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/41671Identifiers
Study Information System: 44767
Collections
- Kvalifikační práce [11325]
Author
Advisor
Referee
Racek, Stanislav
Duchien, Laurence
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Software Systems
Department
Department of Distributed and Dependable Systems
Date of defense
25. 9. 2012
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Pass
Keywords (Czech)
Komponenta, komponentový systém, CBSE, běhové prostředí, variabilitaKeywords (English)
Component, component system, CBSE, execution environment, variabilityZnovu použitelnost je jedním ze základních pilířů softwarového inženýrství. Tato vlastnost umožňuje vyvíjet systémy nejen rychleji ale také s menším úsilím. Proto tato dizertační práce zkoumá limity znovu použitelnosti v rámci komponentových systémů. Na základě analýzy současných komponentových systémů nachází jejich společné vlastnosti a rozdíly. Dosažené poznatky shrnuje do návrhu meta-komponentového systému - softwarové výrobní linky pro přípravu komponentových systémů na míru specifikovaným požadavkům. Práce se dále soustředí na definici vlastního meta-komponentového systému a rozebírá jeho důležité aspekty, které jsou klíčové pro přípravu nového komponentového systému - (1) konfigurovatelné běhové prostředí a (2) generování kódu. Pro řešení (1) práce přináší modelem řízenou metodu přípravy konfigurovatelného běhového prostředí. V návaznosti na tuto metodu rozebírá generování kódu, definuje a vysvětluje roli interoperability doménově specifických jazyků v tomto procesu. Dále práce rozšiřuje koncept interoperability a definuje rodinu jazyků parametrizovanou obecným programovacím jazykem.
Reuse is considered as one of the most crucial software engineering concerns. It allows for delivering software systems faster with less effort. Therefore, the thesis explores limits of reuse in the context of component systems. It analyzes in depth contemporary component systems, finds their commonalities and variation points, and introduces a meta-component system -- a software product line which allows for producing a tailored component system based on a set of requirements. The thesis addresses the meta-component system definition and focuses on its crucial aspects which play the key role in component systems preparation- (1) a configurable execution environment and (2) generation of implementation artifacts. To address the first aspect, the thesis proposes a model-driven method for creating configurable execution environments. Motivated by creating execution environments, the thesis contributes to (2) by introducing a notion of domain-specific languages interoperability in the context of the code generation. Furthermore, the thesis elaborates the proposed notion resulting into a family of interoperable domain-specific languages which is parametrized by a general purpose language.