Spelling suggestions: "subject:"sprachkomposition"" "subject:"schachkomposition""
1 |
Was bedeutet der Verzicht auf fixierte Tonhöhen? Überlegungen zur Situation der SprachkompositionStephan, Rudolf 07 January 2020 (has links)
No description available.
|
2 |
Choosy and Picky: Configuration of Language Product LinesKühn, Thomas, Cazzola, Walter, Olivares, Diego Mathias 08 June 2021 (has links)
Although most programming languages naturally share several language features, they are typically implemented as a monolithic product. Language features cannot be plugged and unplugged from a language and reused in another language. Some modular approaches to language construction do exist but composing language features requires a deep understanding of its implementation hampering their use. The choose and pick approach from software product lines provides an easy way to compose a language out of a set of language features. However, current approaches to language product lines are not sufficient enough to cope with the complexity and evolution of real world programming languages. In this work, we propose a general light-weight bottom-up approach to automatically extract a feature model from a set of tagged language components. We applied this approach to the Neverlang language development framework and developed the AiDE tool to guide language developers towards a valid language composition. The approach has been evaluated on a decomposed version of Javascript to highlight the benefits of such a language product line.
|
3 |
Language Family Engineering with Features and Role-Based CompositionWende, Christian 19 June 2012 (has links) (PDF)
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.
|
4 |
Language Family Engineering with Features and Role-Based CompositionWende, Christian 16 March 2012 (has links)
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.: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
|
5 |
Well-Formed and Scalable Invasive Software Composition / Wohlgeformte und Skalierbare Invasive SoftwarekompositionKarol, Sven 26 June 2015 (has links) (PDF)
Software components provide essential means to structure and organize software effectively. However, frequently, required component abstractions are not available in a programming language or system, or are not adequately combinable with each other. Invasive software composition (ISC) is a general approach to software composition that unifies component-like abstractions such as templates, aspects and macros. ISC is based on fragment composition, and composes programs and other software artifacts at the level of syntax trees. Therefore, a unifying fragment component model is related to the context-free grammar of a language to identify extension and variation points in syntax trees as well as valid component types. By doing so, fragment components can be composed by transformations at respective extension and variation points so that always valid composition results regarding the underlying context-free grammar are yielded. However, given a language’s context-free grammar, the composition result may still be incorrect.
Context-sensitive constraints such as type constraints may be violated so that the program cannot be compiled and/or interpreted correctly. While a compiler can detect such errors after composition, it is difficult to relate them back to the original transformation step in the composition system, especially in the case of complex compositions with several hundreds of such steps. To tackle this problem, this thesis proposes well-formed ISC—an extension to ISC that uses reference attribute grammars (RAGs) to specify fragment component models and fragment contracts to guard compositions with context-sensitive constraints. Additionally, well-formed ISC provides composition strategies as a means to configure composition algorithms and handle interferences between composition steps.
Developing ISC systems for complex languages such as programming languages is a complex undertaking. Composition-system developers need to supply or develop adequate language and parser specifications that can be processed by an ISC composition engine. Moreover, the specifications may need to be extended with rules for the intended composition abstractions.
Current approaches to ISC require complete grammars to be able to compose fragments in the respective languages. Hence, the specifications need to be developed exhaustively before any component model can be supplied. To tackle this problem, this thesis introduces scalable ISC—a variant of ISC that uses island component models as a means to define component models for partially specified languages while still the whole language is supported. Additionally, a scalable workflow for agile composition-system development is proposed which supports a development of ISC systems in small increments using modular extensions.
All theoretical concepts introduced in this thesis are implemented in the Skeletons and Application Templates framework SkAT. It supports “classic”, well-formed and scalable ISC by leveraging RAGs as its main specification and implementation language. Moreover, several composition systems based on SkAT are discussed, e.g., a well-formed composition system for Java and a C preprocessor-like macro language. In turn, those composition systems are used as composers in several example applications such as a library of parallel algorithmic skeletons.
|
6 |
Well-Formed and Scalable Invasive Software CompositionKarol, Sven 18 May 2015 (has links)
Software components provide essential means to structure and organize software effectively. However, frequently, required component abstractions are not available in a programming language or system, or are not adequately combinable with each other. Invasive software composition (ISC) is a general approach to software composition that unifies component-like abstractions such as templates, aspects and macros. ISC is based on fragment composition, and composes programs and other software artifacts at the level of syntax trees. Therefore, a unifying fragment component model is related to the context-free grammar of a language to identify extension and variation points in syntax trees as well as valid component types. By doing so, fragment components can be composed by transformations at respective extension and variation points so that always valid composition results regarding the underlying context-free grammar are yielded. However, given a language’s context-free grammar, the composition result may still be incorrect.
Context-sensitive constraints such as type constraints may be violated so that the program cannot be compiled and/or interpreted correctly. While a compiler can detect such errors after composition, it is difficult to relate them back to the original transformation step in the composition system, especially in the case of complex compositions with several hundreds of such steps. To tackle this problem, this thesis proposes well-formed ISC—an extension to ISC that uses reference attribute grammars (RAGs) to specify fragment component models and fragment contracts to guard compositions with context-sensitive constraints. Additionally, well-formed ISC provides composition strategies as a means to configure composition algorithms and handle interferences between composition steps.
Developing ISC systems for complex languages such as programming languages is a complex undertaking. Composition-system developers need to supply or develop adequate language and parser specifications that can be processed by an ISC composition engine. Moreover, the specifications may need to be extended with rules for the intended composition abstractions.
Current approaches to ISC require complete grammars to be able to compose fragments in the respective languages. Hence, the specifications need to be developed exhaustively before any component model can be supplied. To tackle this problem, this thesis introduces scalable ISC—a variant of ISC that uses island component models as a means to define component models for partially specified languages while still the whole language is supported. Additionally, a scalable workflow for agile composition-system development is proposed which supports a development of ISC systems in small increments using modular extensions.
All theoretical concepts introduced in this thesis are implemented in the Skeletons and Application Templates framework SkAT. It supports “classic”, well-formed and scalable ISC by leveraging RAGs as its main specification and implementation language. Moreover, several composition systems based on SkAT are discussed, e.g., a well-formed composition system for Java and a C preprocessor-like macro language. In turn, those composition systems are used as composers in several example applications such as a library of parallel algorithmic skeletons.
|
Page generated in 0.1024 seconds