533 research outputs found

    Scenario-Based Development and Verification of Domain-Specific Languages

    Get PDF
    The use of domain-specific languages (DSLs) has increased manifold for problem solving in specific domain areas as they allow for a wider variety of expressions within their domain. Modeling using DSLs has shown high increases in productivity after accounting for the time and cost expended in developing them, making them a suitable target for improvement in order to reap higher rewards. The currently used approach for domain modeling involves the creation of an ontology which is then used to describe the domain model. This ontology encapsulates all domain knowledge and can be cumbersome to create, requiring external sources of information and assistance from a domain expert. This dissertation first discusses the use and importance of DSLs for scenario generation for a domain and presents an extension to the Aviation Scenario Definition Language (ASDL). The main contribution of this dissertation is a novel framework for scenario based development of DSLs, called the Domain-Specific Scenario (DoSS) framework. This framework proposes the use of scenarios in natural language, which are currently used in requirements engineering and testing, as the basis for developing the domain model iteratively. An example of the use of this approach is provided by developing a domain model for ASDL and comparing the published model with one obtained using DoSS. This approach is supplemented with a case study to validate the claim that DoSS is easier to use by non-experts in the domain by having a user create a model and comparing it to one obtained by the author. These models were found to be almost identical, showing a promising return for this approach. The time taken and effort required to create this model by the user were recorded and found to be quite low, although no similar results have been published so no comparison could be made. State charts are then used for verification of scenarios to ensure the conformity between scenarios and models. The dissertation also discusses applications of the ideas presented here, specifically, the use of ASDL for Air Traffic Control training scenarios and the use of DoSS for ontology generation

    Amorphous slicing of extended finite state machines

    Get PDF
    Slicing is useful for many Software Engineering applications and has been widely studied for three decades, but there has been comparatively little work on slicing Extended Finite State Machines (EFSMs). This paper introduces a set of dependency based EFSM slicing algorithms and an accompanying tool. We demonstrate that our algorithms are suitable for dependence based slicing. We use our tool to conduct experiments on ten EFSMs, including benchmarks and industrial EFSMs. Ours is the first empirical study of dependence based program slicing for EFSMs. Compared to the only previously published dependence based algorithm, our average slice is smaller 40% of the time and larger only 10% of the time, with an average slice size of 35% for termination insensitive slicing

    Software Architecture Description & UML Workshop

    Get PDF

    QUALITY IMPROVEMENT AND VALIDATION TECHNIQUES ON SOFTWARE SPECIFICATION AND DESIGN

    Get PDF
    Ph.DDOCTOR OF PHILOSOPH

    Interactive Model-Based Compilation: A Modeller-Driven Development Approach

    Get PDF
    There is a growing tendency for using domain-specific languages, which help domain experts to stay focussed on abstract problem solutions. It is important to carefully design these languages and tools, which fundamentally perform model-to-model transformations. The quality of both usually decides the effectiveness of the subsequent development and therefore the quality of the final applications. However, as the complexity and safety requirements of modern systems grow, it becomes increasingly burdensome to create highly customized languages and difficult to provide reasonable overviews within these tools. This thesis introduces a new interactive model-based compilation methodology. Compilations for arbitrary model-to-model transformations are themselves described as models. They can be instantiated for particular inputs, e. g. a program, to create concrete compilation runs, which return the result of that compilation. The compilation instance is interactively observable. Intermediate results serve as new inputs and as documentation. They can be used to create highly customized views and facilitate understandability. This methodology guides modellers from the start of the compilation to the final result so that they can interactively refine their models. The methodology has been implemented and validated as the KIELER Compiler (KiCo) and is available as part of the KIELER open-source project. It is used to implement the current reference compiler for the SCCharts language, a statecharts dialect designed for specifying safety-critical reactive systems based on a synchronous model of computation. The interactive model-based compilation approach was key to the rapid prototyping of three different compilation strategies, as well as new language extensions, variations and closely related languages. The results are verified with benchmarks, which are again modelled using the same approach and technology. The usability of the SCCharts language and the KiCo tooling is documented with long-term surveys and real-life industrial, academic and teaching examples

    Variability Support in Domain-Specific Language Development

    Get PDF
    International audienceDomain Specific Languages (DSLs) are widely adopted to capitalize on business domain experiences. Consequently, DSL development is becoming a recurring activity. Unfortunately, even though it has its benefits, language development is a complex and time-consuming task. Languages are commonly realized from scratch, even when they share some concepts and even though they could share bits of tool support. This cost can be reduced by employing modern modular programming techniques that foster code reuse. However, selecting and composing these modules is often only within the reach of a skilled DSL developer. In this paper we propose to combine modular language development and variability management, with the objective of capitalizing on existing assets. This approach explicitly models the dependencies between language components, thereby allowing a domain expert to configure a desired DSL, and automatically derive its implementation. The approach is tool supported, using Neverlang to implement language components, and the Common Variability Language (CVL) for managing the variability and automating the configuration. We will further illustrate our approach with the help of a case study, where we will implement a family of DSLs to describe state machines

    Coverage-based approach for model-based testing in software product line

    Get PDF
    Rapid Quality assurance is an important element in software testing in order to produce high quality products in Software Product Line (SPL). One of the testing techniques that can enhance product quality is Model-Based Testing (MBT). Due to MBT effectiveness in terms of reuse and potential to be adapted, this technique has become an efficient approach that is capable to handle SPL requirements. In this paper, the authors present an approach to manage variability and requirements by using Feature Model (FM) and MBT. This paper focuses on modelling the integration towards enhancing product quality and reducing testing effort. Further, the authors considered coverage criteria, including pairwise coverage, all-state coverage, and all-transition coverage, in order to improve the quality of products. For modelling purposes, the authors constructed a mapping model based on variability in FM and behaviour from statecharts. The proposed approach was validated using mobile phone SPL case study
    corecore