471 research outputs found

    Test them all, is it worth it? Assessing configuration sampling on the JHipster Web development stack

    Get PDF
    Many approaches for testing configurable software systems start from the same assumption: it is impossible to test all configurations. This motivated the definition of variability-aware abstractions and sampling techniques to cope with large configuration spaces. Yet, there is no theoretical barrier that prevents the exhaustive testing of all configurations by simply enumerating them if the effort required to do so remains acceptable. Not only this: we believe there is a lot to be learned by systematically and exhaustively testing a configurable system. In this case study, we report on the first ever endeavour to test all possible configurations of the industry-strength, open source configurable software system JHipster, a popular code generator for web applications. We built a testing scaffold for the 26,000+ configurations of JHipster using a cluster of 80 machines during 4 nights for a total of 4,376 hours (182 days) CPU time. We find that 35.70% configurations fail and we identify the feature interactions that cause the errors. We show that sampling strategies (like dissimilarity and 2-wise): (1) are more effective to find faults than the 12 default configurations used in the JHipster continuous integration; (2) can be too costly and exceed the available testing budget. We cross this quantitative analysis with the qualitative assessment of JHipster’s lead developers.</p

    Extending domain-specific modeling editors with multi-touch interactions

    Full text link
    L'ingénierie dirigée par les modÚles (MDE) est une méthodologie d'ingénierie logiciel qui permet aux ingénieurs de définir des modÚles conceptuels pour un domaine spécifique. La MDE est supportée par des outils de modélisation, qui sont des éditeurs pour créer et manipuler des modÚles spécifiques au domaine. Cependant, l'état actuel de la pratique de ces éditeurs de modélisation offre des interactions utilisateur trÚs limitées, souvent restreintes à glisser-déposer en utilisant les mouvements de souris et les touches du clavier. Récemment, un nouveau cadre propose de spécifier explicitement les interactions utilisateur des éditeurs de modélisation. Dans cette thÚse, nous étendons ce cadre pour supporter les interactions multitouches lors de la modélisation. Nous proposons un catalogue initial de gestes multitouches pour offrir une variété de gestes tactiles utiles. Nous démontrons comment notre approche est applicable pour générer des éditeurs de modélisation. Notre approche permet des interactions plus naturelles pour l'utilisateur quand il effectue des tùches de modélisation types.Model-driven engineering (MDE) is a software engineering methodology that enables engineers to define conceptual models for a specific domain. Modeling is supported by modeling language workbenches, acting as editor to create and manipulate domain-specific models. However, the current state of practice of these modeling editors offers very limited user interactions, often restricted to drag-and-drop with mouse movement and keystrokes. Recently, a novel framework proposes to explicitly specify the user interactions of modeling editors. In this thesis, we extend this framework to support multi-touch interactions when modeling. We propose an initial set of multi-touch gesture catalog to offer a variety of useful touch gestures. We demonstrate how our approach is applicable for generating modeling editors. Our approach yields more natural user interactions to perform typical modeling tasks

    Modular product development for mass customization

    Get PDF
    fi=vertaisarvioitu|en=peerReviewed

    Configuration of smart environments made simple combining visual modeling with semantic metadata and reasoning

    Get PDF
    We present an approach that combines semantic metadata and reasoning with a visual modeling tool to enable the goal-driven configuration of smart environments for end users. In contrast to process-driven systems where service mashups are statically defined, this approach makes use of embedded semantic API descriptions to dynamically create mashups that fulfill the user's goal. The main advantage of the presented system is its high degree of flexibility, as service mashups can adapt to dynamic environments and are fault-tolerant with respect to individual services becoming unavailable. To support end users in expressing their goals, we integrated a visual programming tool with our system. This tool enables users to model the desired state of their smart environment graphically and thus hides the technicalities of the underlying semantics and the reasoning. Possible applications of the presented system include the configuration of smart homes to increase individual well-being, and reconfigurations of smart environments, for instance in the industrial automation or healthcare domains

    Ontology based contextualization and context constraints management in web service processes

    Get PDF
    The flexibility and dynamism of service-based applications impose shifting the validation process to runtime; therefore, runtime monitoring of dynamic features attached to service-based systems is becoming an important direction of research that motivated the definition of our work. We propose an ontology based contextualization and a framework and techniques for managing context constraints in a Web service process for dynamic requirements validation monitoring at process runtime. Firstly, we propose an approach to define and model dynamic service context attached to composition and execution of services in a service process at run-time. Secondly, managing context constraints are defined in a framework, which has three main processes for context manipulation and reasoning, context constraints generation, and dynamic instrumentation and validation monitoring of context constraints. The dynamic requirements attached to service composition and execution are generated as context constraints. The dynamic service context modeling is investigated based on empirical analysis of application scenarios in the classical business domain and analysing previous models in the literature. The orientation of context aspects in a general context taxonomy is considered important. The Ontology Web Language (OWL) has many merits on formalising dynamic service context such as shared conceptualization, logical language support for composition and reasoning, XML based interoperability, etc. XML-based constraint representation is compatible with Web service technologies. The analysis of complementary case study scenarios and expert opinions through a survey illustrate the validity and completeness of our context model. The proposed techniques for context manipulation, context constraints generation, instrumentation and validation monitoring are investigated through a set of experiments from an empirical evaluation. The analytical evaluation is also used to evaluate algorithms. Our contributions and evaluation results provide a further step towards developing a highly automated dynamic requirements management system for service processes at process run-time
    • 

    corecore