Spelling suggestions: "subject:"anguage engineering"" "subject:"1anguage engineering""
11 |
Prescriptive Semantics For Big-Step Modelling LanguagesEsmaeilsabzali, Shahram January 2011 (has links)
With the popularity of model-driven methodologies and the abundance of modelling languages, a major question for a modeller is: Which language is suitable for modelling a system under study? To answer this question, one not only needs to know the range of relevant languages for modelling the system under study, but also needs to be able to compare these languages. In this dissertation, I consider these challenges from a semantic point of view for a diverse range of behavioural modelling languages that I refer to as the family of Big-Step Modelling Languages (BSMLs). There is a plethora of BSMLs, including statecharts, its variants, SCR, un-clocked variants of synchronous languages (e.g., Esterel and Argos), and reactive modules. BSMLs are often used to model systems that continuously interact with their environments. In a BSML model, the reaction of the model to an environmental input is a big step, which consists of a sequence of small steps, each of which can be the concurrent execution of a set of transitions. To provide a systematic method to understand and compare the semantics of BSMLs, this dissertation introduces the big-step semantic deconstruction framework that deconstructs the semantic design space of BSMLs into eight high-level, independent semantic aspects together with the enumeration of the common semantic options of each semantic aspect. The dissertation also presents a comparative analysis of the semantic options of each semantic aspect to assist one to choose one semantic option over another. A key idea in the big-step semantic deconstruction is that the high-level semantic aspects in the deconstruction recognize a big step as a whole, rather than only considering its constituent transitions operationally.
A novelty of the big-step semantic deconstruction is that it lends itself to a systematic semantic formalization of most of the languages in the deconstruction. The dissertation presents a parametric, formal semantic definition method whose parameters correspond to the semantic aspects of the deconstruction, and thus it produces prescriptive semantics: The manifestation of a semantic option in the semantics of a BSML can be clearly identified.
The way transitions are ordered to form a big step in a BSML is a source of semantic complexity: A modeller needs to be aware of the possible orders of the execution of transitions when constructing and analyzing a model. The dissertation introduces three semantic quality attributes that each exempts a modeller from considering an aspect of ordering in big steps. The ranges of BSMLs that support each of these semantic quality attributes are formally specified. These specifications indicate that achieving a semantic quality attribute in a BSML is a cross-cutting concern over the choices of its different semantic options. The semantic quality attributes together with the semantic analysis of individual semantic options can be used in tandem to assist a modeller or a semanticist to compare two BSMLs or to create a new, desired BSML from scratch.
Through the big-step semantic deconstruction, I have discovered that some of the semantic aspects of BSMLs can be uniformly described as forms of synchronization. The dissertation
presents a general synchronization framework for behavioural modelling languages. This framework is based on a notion of synchronization between transitions of complementary roles. It is parameterized by the number of interactions a transition can take part in, i.e., one vs. many, and the arity of the interaction mechanisms, i.e., exclusive vs. shared, which are considered for the complementary roles to result in 16 synchronization types. To enhance BSMLs with the capability to use the synchronization types, a synchronizer syntax is introduced for BSMLs, resulting in the family of Synchronizing Big-Step Modelling Languages (SBSMLs). Using the expressiveness of SBSMLs, the dissertation describes how underlying the semantics of many modelling constructs, such as multi-source, multi-destination transitions, various composition operators, and workflow patterns, there is a notion of synchronization that can be systematically modelled in SBSMLs.
|
12 |
Prescriptive Semantics For Big-Step Modelling LanguagesEsmaeilsabzali, Shahram January 2011 (has links)
With the popularity of model-driven methodologies and the abundance of modelling languages, a major question for a modeller is: Which language is suitable for modelling a system under study? To answer this question, one not only needs to know the range of relevant languages for modelling the system under study, but also needs to be able to compare these languages. In this dissertation, I consider these challenges from a semantic point of view for a diverse range of behavioural modelling languages that I refer to as the family of Big-Step Modelling Languages (BSMLs). There is a plethora of BSMLs, including statecharts, its variants, SCR, un-clocked variants of synchronous languages (e.g., Esterel and Argos), and reactive modules. BSMLs are often used to model systems that continuously interact with their environments. In a BSML model, the reaction of the model to an environmental input is a big step, which consists of a sequence of small steps, each of which can be the concurrent execution of a set of transitions. To provide a systematic method to understand and compare the semantics of BSMLs, this dissertation introduces the big-step semantic deconstruction framework that deconstructs the semantic design space of BSMLs into eight high-level, independent semantic aspects together with the enumeration of the common semantic options of each semantic aspect. The dissertation also presents a comparative analysis of the semantic options of each semantic aspect to assist one to choose one semantic option over another. A key idea in the big-step semantic deconstruction is that the high-level semantic aspects in the deconstruction recognize a big step as a whole, rather than only considering its constituent transitions operationally.
A novelty of the big-step semantic deconstruction is that it lends itself to a systematic semantic formalization of most of the languages in the deconstruction. The dissertation presents a parametric, formal semantic definition method whose parameters correspond to the semantic aspects of the deconstruction, and thus it produces prescriptive semantics: The manifestation of a semantic option in the semantics of a BSML can be clearly identified.
The way transitions are ordered to form a big step in a BSML is a source of semantic complexity: A modeller needs to be aware of the possible orders of the execution of transitions when constructing and analyzing a model. The dissertation introduces three semantic quality attributes that each exempts a modeller from considering an aspect of ordering in big steps. The ranges of BSMLs that support each of these semantic quality attributes are formally specified. These specifications indicate that achieving a semantic quality attribute in a BSML is a cross-cutting concern over the choices of its different semantic options. The semantic quality attributes together with the semantic analysis of individual semantic options can be used in tandem to assist a modeller or a semanticist to compare two BSMLs or to create a new, desired BSML from scratch.
Through the big-step semantic deconstruction, I have discovered that some of the semantic aspects of BSMLs can be uniformly described as forms of synchronization. The dissertation
presents a general synchronization framework for behavioural modelling languages. This framework is based on a notion of synchronization between transitions of complementary roles. It is parameterized by the number of interactions a transition can take part in, i.e., one vs. many, and the arity of the interaction mechanisms, i.e., exclusive vs. shared, which are considered for the complementary roles to result in 16 synchronization types. To enhance BSMLs with the capability to use the synchronization types, a synchronizer syntax is introduced for BSMLs, resulting in the family of Synchronizing Big-Step Modelling Languages (SBSMLs). Using the expressiveness of SBSMLs, the dissertation describes how underlying the semantics of many modelling constructs, such as multi-source, multi-destination transitions, various composition operators, and workflow patterns, there is a notion of synchronization that can be systematically modelled in SBSMLs.
|
13 |
Language Engineering for Information ExtractionSchierle, Martin 12 July 2011 (has links)
Accompanied by the cultural development to an information society and knowledge economy and driven by the rapid growth of the World Wide Web and decreasing prices for technology and disk space, the world\''s knowledge is evolving fast, and humans are challenged with keeping up.
Despite all efforts on data structuring, a large part of this human knowledge is still hidden behind the ambiguities and fuzziness of natural language. Especially domain language poses new challenges by having specific syntax, terminology and morphology. Companies willing to exploit the information contained in such corpora are often required to build specialized systems instead of being able to rely on off the shelf software libraries and data resources. The engineering of language processing systems is however cumbersome, and the creation of language resources, annotation of training data and composition of modules is often enough rather an art than a science. The scientific field of Language Engineering aims at providing reliable information, approaches and guidelines of how to design, implement, test and evaluate language processing systems.
Language engineering architectures have been a subject of scientific work for the last two decades and aim at building universal systems of easily reusable components. Although current systems offer comprehensive features and rely on an architectural sound basis, there is still little documentation about how to actually build an information extraction application. Selection of modules, methods and resources for a distinct usecase requires a detailed understanding of state of the art technology, application demands and characteristics of the input text. The main assumption underlying this work is the thesis that a new application can only occasionally be created by reusing standard components from different repositories. This work recapitulates existing literature about language resources, processing resources and language engineering architectures to derive a theory about how to engineer a new system for information extraction from a (domain) corpus.
This thesis was initiated by the Daimler AG to prepare and analyze unstructured information as a basis for corporate quality analysis. It is therefore concerned with language engineering in the area of Information Extraction, which targets the detection and extraction of specific facts from textual data. While other work in the field of information extraction is mainly concerned with the extraction of location or person names, this work deals with automotive components, failure symptoms, corrective measures and their relations in arbitrary arity.
The ideas presented in this work will be applied, evaluated and demonstrated on a real world application dealing with quality analysis on automotive domain language. To achieve this goal, the underlying corpus is examined and scientifically characterized, algorithms are picked with respect to the derived requirements and evaluated where necessary. The system comprises language identification, tokenization, spelling correction, part of speech tagging, syntax parsing and a final relation extraction step. The extracted information is used as an input to data mining methods such as an early warning system and a graph based visualization for interactive root cause analysis. It is finally investigated how the unstructured data facilitates those quality analysis methods in comparison to structured data. The acceptance of these text based methods in the company\''s processes further proofs the usefulness of the created information extraction system.
|
14 |
Programming in ambience : gearing up for dynamic adaptation to contextGonzalez Montesinos, Sebastian A. 24 October 2008 (has links)
In the vision of Ambient Intelligence, people are assisted in their everyday activities through the proactive, opportunistic support of non-intrusive computing devices offering intuitive interaction modalities. The usefulness and quality of delivered services can be improved considerably if the devices are able to adapt their behaviour according to sensed changes in their surrounding environment, both at the physical and logical levels. This interplay between context-awareness and dynamic software adaptability is key to the construction of applications that are smart with respect to user needs. Unfortunately, most current applications do not reach this level of adaptability, due to a lack of appropriate programming technology. Most applications exhibit fixed functionality and seldom do they sense their environment and adapt their services in a context-aware fashion. Many chances of delivering improved services to users and network peers are thus missed.
This dissertation presents a programming model to ease the construction of applications that can react to changes in their execution context by adapting their behaviour dynamically. The starting point of our research is the development of novel language abstractions and the adaptation of existing abstractions to render context-aware, self-adaptable applications easier to develop. We demonstrate that a simple yet powerful computation model readily provides the needed support, leading to straightforward application code that is not concerned with context adaptation, behaviour that can be adapted dynamically to different contexts in a non-intrusive fashion, and context-aware applications with software architectures that are not biased towards context adaptation ---rather, they can be designed freely according to their domain.
The proposed computation model is realised through the Ambience programming language, and its underlying open implementation, the Ambient Object System. A small-step operational semantics describes it formally. Much in the vein of prototype-based programming, the model has been designed with simplicity and concreteness in mind. It is highly dynamic, featuring dynamic (multiple) dispatch, dynamic inheritance, dynamic typing, and dynamic method scoping. Application logic adaptation is enabled by means of an intuitive, first-class reification of context that is straightforwardly connected to dynamic behaviour selection. We describe needed management techniques for such context, and a few programming guidelines on how to develop context-aware applications using our approach. The approach is validated by showing its application in a number of scenarios inspired on Ambient Intelligence.
|
15 |
Facilités de typage pour l'ingénierie des langages / Typing facilities for language engineeringGuy, Clément 10 December 2013 (has links)
Le nombre et la complexité toujours croissants des préoccupations prises en compte dans les systèmes logiciels complexes (e.g., sécurité, IHM, scalabilité, préoccupations du domaine d'application) poussent les concepteurs de tels systèmes à séparer ces préoccupations afin de les traiter de manière indépendante. L'ingénierie dirigée par les modèles (IDM) prône la séparation des préoccupations au sein de langages de modélisation dédiés. Les langages de modélisation dédiés permettent de capitaliser le savoir et le savoir-faire associés à une préoccupation au travers des constructions du langage et des outils associés. Cependant la définition et l'outillage d'un langage dédié demande un effort de développement important pour un public par définition réduit. Nous proposons dans cette thèse une relation liant les modèles et une interface de modèle permettant de faciliter la mise en place de facilités de typage pour la définition et l'outillage d'un langage dédié. Cette interface expose les éléments de modèle et les transformations de modèles associés à un langage de modélisation dédié. Nous représentons une telle interface par un type de modèles supportant des relations de sous-typage et d'héritage. Dans ce but nous définissons : une relation de typage entre les modèles et les langages de modélisation dédiés permettant de considérer les modèles comme des entités de première classe ; des relations de sous-typage entre langages de modélisation dédiés permettant la réutilisation de la syntaxe abstraite et des transformations de modèles. / The ever growing number and complexity of concerns in software intensive systems (e.g., safety, HMI, scalability, business domain concerns, etc.) leads designers of such systems to separate these concerns to deal with them independently. Model-Driven Engineering (MDE) advocates the separation of concerns in Domain-Specific Modeling Languages (DSMLs). DSMLs are used to capitalize the knowledge and know-how associated with a concern through the language constructs and its associated tools. However, both definition and tooling of a DSML require a significant development effort for a limited audience. In this thesis, we propose a relationship between models and model interfaces in order to ease the design of typing facilities for the definition and tooling of a DSML. This interface exposes the model elements and model transformations associated with a DSML. We represent such an interface by a model type supporting subtyping and inheritance relationships. For this purpose we define : a typing relationship between models and DSMLs allowing to consider models as first-class entities; subtyping relationships between DSMLs enabling the reuse of abstract syntax and model transformations.
|
16 |
Composition and interoperability for external domain-specific language engineering / Composition et interopérabilité pour l'ingénierie des langages dédiés externesDegueule, Thomas 12 December 2016 (has links)
Development and evolution of Domain-Specific Languages (DSLs) is becoming recurrent in the development of complex software-intensive systems. However, despite many advances in Software Language Engineering (SLE), DSLs and their tooling still suffer from substantial development costs which hamper their successful adoption in the industry. We identify two main challenges to be addressed. First, the proliferation of independently developed and constantly evolving DSLs raises the problem of interoperability between similar languages and environments. Second, since DSLs and their environments suffer from high development costs, tools and methods must be provided to assist language designers and mitigate development costs. To address these challenges, we first propose the notion of language interface. Using language interfaces, one can vary or evolve the implementation of a DSL while retaining the compatibility with the services and environments defined on its interface. Then, we present a mechanism, named model polymorphism, for manipulating models through different language interfaces. Finally, we propose a meta-language that enables language designers to reuse legacy DSLs, compose them, extend them, and customize them to meet new requirements. We implement all our contributions in a new language workbench named Melange that supports the modular definition of DSLs and the interoperability of their tooling. We evaluate the ability of Melange to solve challenging SLE scenarios. / Development and evolution of Domain-Specific Languages (DSLs) is becoming recurrent in the development of complex software-intensive systems. However, despite many advances in Software Language Engineering (SLE), DSLs and their tooling still suffer from substantial development costs which hamper their successful adoption in the industry. We identify two main challenges to be addressed. First, the proliferation of independently developed and constantly evolving DSLs raises the problem of interoperability between similar languages and environments. Second, since DSLs and their environments suffer from high development costs, tools and methods must be provided to assist language designers and mitigate development costs. To address these challenges, we first propose the notion of language interface. Using language interfaces, one can vary or evolve the implementation of a DSL while retaining the compatibility with the services and environments defined on its interface. Then, we present a mechanism, named model polymorphism, for manipulating models through different language interfaces. Finally, we propose a meta-language that enables language designers to reuse legacy DSLs, compose them, extend them, and customize them to meet new requirements. We implement all our contributions in a new language workbench named Melange that supports the modular definition of DSLs and the interoperability of their tooling. We evaluate the ability of Melange to solve challenging SLE scenarios.
|
17 |
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.
|
18 |
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
|
Page generated in 0.1009 seconds