- AutorIn
- Dipl.-Inf. Christian Wende
- Titel
- Language Family Engineering with Features and Role-Based Composition
- Zitierfähige Url:
- https://nbn-resolving.org/urn:nbn:de:bsz:14-qucosa-88985
- Datum der Einreichung
- 03.01.2012
- Datum der Verteidigung
- 16.03.2012
- Abstract (EN)
- The benefits of Model-Driven Software Development (MDSD) and Domain-Specific Languages (DSLs) wrt. efficiency and quality in software engineering increase the demand for custom languages and the need for efficient methods for language engineering. This motivated the introduction of language families that aim at further reducing the development costs and the maintenance effort for custom languages. The basic idea is to exploit the commonalities and provide means to enable systematic variation among a set of related languages. Current techniques and methodologies for language engineering are not prepared to deal with the particular challenges of language families. First, language engineering processes lack means for a systematic analysis, specification and management of variability as found in language families. Second, technical approaches for a modular specification and realisation of languages suffer from insufficient modularity properties. They lack means for information hiding, for explicit module interfaces, for loose coupling, and for flexible module integration. Our first contribution, Feature-Oriented Language Family Engineering (LFE), adapts methods from Software Product Line Engineering to the domain of language engineering. It extends Feature-Oriented Software Development to support metamodelling approaches used for language engineering and replaces state-of-the-art processes by a variability- and reuse-oriented LFE process. Feature-oriented techniques are used as means for systematic variability analysis, variability management, language variant specification, and the automatic derivation of custom language variants. Our second contribution, Integrative Role-Based Language Composition, extends existing metamodelling approaches with roles. Role models introduce enhanced modularity for object-oriented specifications like abstract syntax metamodels. We introduce a role-based language for the specification of language components, a role-based composition language, and an extensible composition system to evaluate role-based language composition programs. The composition system introduces integrative, grey-box composition techniques for language syntax and semantics that realise the statics and dynamics of role composition, respectively. To evaluate the introduced approaches and to show their applicability, we apply them in three major case studies. First, we use feature-oriented LFE to implement a language family for the ontology language OWL. Second, we employ role-based language composition to realise a component-based version of the language OCL. Third, we apply both approaches in combination for the development of SumUp, a family of languages for mathematical equations.
- Freie Schlagwörter (DE)
- Sprachen, Sprachfamilien, Modellgetrieben, Metamodell, Sprachkomposition, Variabilität, Feature, Syntax, Semantik
- Freie Schlagwörter (EN)
- Language Engineering, Language Family, Software, Model-Driven, Feature, Metamodelling, Language Composition, Syntax, Semantics
- Klassifikation (DDC)
- 000, 004, 005
- Klassifikation (RVK)
- ST 140
- Normschlagwörter (GND)
- Modellgetriebene Entwicklung, Produktlinie, Produktfamilie, Domänenspezifische Programmiersprache, Abstrakte Syntax, Konkrete Syntax, Semantik
- GutachterIn
- Prof. Dr. Colin Atkinson
- BetreuerIn
- Prof. Dr. rer. nat. habil. Uwe Aßmann
- Den akademischen Grad verleihende / prüfende Institution
- Technische Universität Dresden, Dresden
- URN Qucosa
- urn:nbn:de:bsz:14-qucosa-88985
- Veröffentlichungsdatum Qucosa
- 19.06.2012
- Dokumenttyp
- Dissertation
- Sprache des Dokumentes
- Englisch
- Lizenz / Rechtehinweis
- Inhaltsverzeichnis
1. Introduction 1.1. The Omnipresence of Language Families 1.2. Challenges for Language Family Engineering 1.3. Language Family Engineering with Features and Role-Based Composition 2. Review of Current Language Engineering 2.1. Language Engineering Processes 2.1.1. Analysis Phase 2.1.2. Design Phase 2.1.3. Implementation Phase 2.1.4. Applicability in Language Family Engineering 2.1.5. Requirements for an Enhanced LFE Process 2.2. Technical Approaches in Language Engineering 2.2.1. Specification of Abstract Syntax 2.2.2. Specification of Concrete Syntax 2.2.3. Specification of Semantics 2.2.4. Requirements for an Enhanced LFE Technique 3. Feature-Oriented Language Family Engineering 3.1. Foundations of Feature-Oriented SPLE 3.1.1. Introduction to SPLE 3.1.2. Feature-Oriented Software Development 3.2. Feature-Oriented Language Family Engineering 3.2.1. Variability and Variant Specification in LFE 3.2.2. Product-Line Realisation, Mapping and Variant Derivation for LFE 3.3. Case Study: Scalability in Ontology Specification, Evaluation and Application 3.3.1. Review of Evolution, Customisation and Combination in the OWL LanguageFamily 3.3.2. Application of Feature-Oriented Language Family Engineering for OWL 3.4. Discussion 3.4.1. Contributions 3.4.2. Related Work. 3.4.3. Conclusion 4. Integrative, Role-Based Composition for Language Family Engineering 4.1. Foundations of Role-Based Modelling. 4.1.1. Information Hiding and Interface Specification in Role Models 4.1.2. Loose Coupling and Flexible Integration in Role Composition 4.2. The LanGems Language Composition System 4.2.1. The Language Component Specification Language . 4.2.2. TheLanguageCompositionLanguage 4.2.3. TechniquesofLanguageComposition 4.3. Case Study: Component-based OCL 4.3.1. Role-Based OCL Modularisation 4.3.2. Role-Based OCL Composition 4.4. Discussion 4.4.1. Contributions 4.4.2. Related Work 4.4.3. Conclusion 5. LFE with Integrative, Role-Based Syntax and Semantics Composition 5.1. Integrating Features and Roles 5.2. SumUp Case Study 5.2.1. Motivation 5.2.2. Feature-Oriented Variability and Variant Specification 5.2.3. Role-Based Component Realisation 5.2.4. Feature-Oriented Variability and Variant Evolution 5.2.5. Model-driven Concrete Syntax Realisation 5.2.6. Model-driven Semantics Realisation 5.2.7. Role-Based Composition and Feature Mapping 5.2.8. Language Variant Derivation 5.3. Conclusion 6. Conclusion 6.1. Contributions 6.2. Outlook 6.2.1. Co-Evolution in Language Families 6.2.2. Role-Based Tool Integration. 6.2.3. Automatic Modularisation of Existing Language Families 6.2.4. Language Component Library Appendix A Appendix B Bibliography