17 research outputs found

    Feature-Oriented Modelling Using Event-B

    No full text
    Event-B is a formal method for specification and verification of reactive systems. Its Rodin toolkit provides comprehensive support for modelling, refinement and analysis using theorem proving, animation and model checking. There has always been a need to reuse existing models and their associated proofs when modelling related systems to save time and effort. Software product lines (SPLs) focus on the problem of reuse by providing ways to build software products having commonalities and managing variations within products of the same family. Feature modelling is a well know technique to manage variability and configure products within the SPLs. We have combined the two approaches to formally specify SPLs using Event-B. This will contribute the concept of formalism to SPLs and re-usability to Event-B. Existing feature modelling notations were adapted and extended to include refinement mechanism of Event-B. An Eclipse-based graphical feature modelling tool has been developed as a plug-in to the Rodin platform. We have modelled the "production cell" case-study in Event-B, an industrial metal processing plant, which has previously been specified in a number of formalisms. We have also highlighted future directions based on our experience with this framework so far

    Open Source Tools for Software Product Line Development

    Get PDF
    Open-Source (OS) software development differs widely from close-source development practices because of a number of reasons: project organization, distributed developers, code-centric, etc. These characteristics force the development tools used in the context of OS development to fulfill a set of requirements such as being extensible, multiplatform, version control support, etc. in this paper we set the basis for a discussion about the features that a success OS tool for the development of Software Product Lines (SPLs) should provide. As a starting point, we analyse the projects of four major OS development tool and summarize its main features in a reference feature model. Next, we introduce some the most popular OS feature modeling tools available in the SPL community and check how they support the identified features

    Multi-Objective Optimum Solutions for IoT-Based Feature Models of Software Product Line

    Get PDF
    A software product line is used for the development of a family of products utilizing the reusability of existing resources with low costs and time to market. Feature Model (FM) is used extensively to manage the common and variable features of a family of products, such as Internet of Things (IoT) applications. In the literature, the binary pattern for nested cardinality constraints (BPNCC) approach has been proposed to compute all possible combinations of development features for IoT applications without violating any relationship constraints. Relationship constraints are a predefined set of rules for the selection of features from an FM. Due to high probability of relationship constraints violations, obtaining optimum features combinations from large IoT-based FMs are a challenging task. Therefore, in order to obtain optimum solutions, in this paper, we have proposed multi-objective optimum-BPNCC that consists of three independent paths (first, second, and third). Furthermore, we applied heuristics on these paths and found that the first path is infeasible due to space and execution time complexity. The second path reduces the space complexity; however, time complexity increases due to the increasing group of features. Among these paths, the performance of the third path is best as it removes optional features that are not required for optimization. In experiments, we calculated the outcomes of all three paths that show the significant improvement of optimum solution without constraint violation occurrence. We theoretically prove that this paper is better than previously proposed optimization algorithms, such as a non-dominated sorting genetic algorithm and an indicator-based evolutionary algorithm

    Requirements Modelling and Design Notations for Software Product Lines

    Get PDF
    Although feature modelling is a frequently used approach to the task of modelling commonality and variability within product lines, there is currently no standard modelling notation or methodology. On the assumption that the commonality/variability model will be used as a basis for architecture design, our modelling notation allows features to be augmented with behavioural detail, captured using the UCM path notation. This gives rise to models that capture commonality and variability in behaviour as well as in product features, and are thus more valuable for downstream design activities. This paper outlines the modelling notation and describes ongoing work on the characterisation of variability points within models based on this notation, and on the relationships between model fragments and solution domain techniques such as design patterns or variability realisation techniques. It also describes preliminary work, aimed at evolving an intelligent tool that can characterise feature and behavioural model fragments and suggest design and realisation methods

    AN INTERNET OF THINGS–BASED APPROACH TO INNOVATE CANTEEN STORES DEPARTMENT’S RETAIL OPERATIONS

    Get PDF
    In a competitive business environment, retail organizations in the Western world are capitalizing on technological tools and solutions to enhance customer experience and boost sales. Specifically, retailers that adopt Internet of Things (IoT) technologies improve customer experience and achieve cost savings. Yet such innovation is rare outside the Western world. Hence, early adopters of IoT technologies in retail operations in Pakistan could gain a competitive advantage. This study aims to create a deeper understanding of how Pakistan-based Canteen Stores Department (CSD), a retail chain mainly serving service members and their families, can use IoT technologies to significantly modernize and improve its operations and distinguish itself from competitors. To do so, this study conducts a qualitative analysis of scholarly articles on the relevant technologies and on IoT-based products offered by commercial companies. The authors also include findings from discussions with CSD customers and management. The results of the study indicate CSD can use IoT technologies to optimize store layout, offer interactive in-store mapping, automate checkout systems, implement smart shelving and digital price tagging, improve in-store promotions, enhance customer relationship management, and modernize distribution, transportation, and warehousing. The study also offers CSD management guidance on how to implement IoT technologies into retail operations at one location as a pilot.Outstanding ThesisLieutenant Commander, Pakistan NavyWing Commander, Pakistan Air ForceLieutenant Colonel, Pakistan ArmyApproved for public release. Distribution is unlimited

    A Scalable Design Framework for Variability Management in Large-Scale Software Product Lines

    Get PDF
    Variability management is one of the major challenges in software product line adoption, since it needs to be efficiently managed at various levels of the software product line development process (e.g., requirement analysis, design, implementation, etc.). One of the main challenges within variability management is the handling and effective visualization of large-scale (industry-size) models, which in many projects, can reach the order of thousands, along with the dependency relationships that exist among them. These have raised many concerns regarding the scalability of current variability management tools and techniques and their lack of industrial adoption. To address the scalability issues, this work employed a combination of quantitative and qualitative research methods to identify the reasons behind the limited scalability of existing variability management tools and techniques. In addition to producing a comprehensive catalogue of existing tools, the outcome form this stage helped understand the major limitations of existing tools. Based on the findings, a novel approach was created for managing variability that employed two main principles for supporting scalability. First, the separation-of-concerns principle was employed by creating multiple views of variability models to alleviate information overload. Second, hyperbolic trees were used to visualise models (compared to Euclidian space trees traditionally used). The result was an approach that can represent models encompassing hundreds of variability points and complex relationships. These concepts were demonstrated by implementing them in an existing variability management tool and using it to model a real-life product line with over a thousand variability points. Finally, in order to assess the work, an evaluation framework was designed based on various established usability assessment best practices and standards. The framework was then used with several case studies to benchmark the performance of this work against other existing tools

    A Configuration Management System for Software Product Lines

    Get PDF
    Software product line engineering (SPLE) is a methodology for developing a family of software products in a particular domain by systematic reuse of shared code in order to improve product quality and reduce development time and cost. Currently, there are no software configuration management (SCM) tools that support software product line evolution. Conventional SCM tools are designed to support single product development. The use of conventional SCM tools forces developers to treat a software product line as a single software project by introducing new programming language constructs or using conditional compilation. We propose a research conguration management prototype called Molhado SPL that is designed specifically to support the evolution of software product lines. Molhado SPL addresses the evolution problem at the configuration level instead of at the code level. We studied the type of operations needed to support the evolution of software product lines and proposed a versioning model and eight cases of change propagation. Molhado SPL supports independent evolution of core assets and products, the sharing of code and the tracking relationships between products and shared code, and the eight cases of change propagation. The Molhado SPL consists of four layers with each layer providing a different type of service. At the heart of Molhado SPL are the versioning model, component object, shared component object, and project objects that allow for independent evolution of products and shared artifacts, for sharing, and for supporting change propagation. Furthermore,they allow product specific changes to shared code without interfering with the core asset that is shared. Products can also introduce product specific assets that only exist in that product. In order to for Molhado SPL to support product line, we implemented XML merging, feature model editing and debugging, and version-aware XML documents. To support merging of XML documents, we implemented a 3-way XML document merging algorithm that uses versioned data structures, change detection, and node identity. To support software product line derivation or modeling of software product line, we implemented support for feature model including editing and debugging. Finally, we created the version-aware XML document framework to support collaborative editing of XML documents without requiring a version repository. The version history is embedded in the documents using XML namespaces, so that the documents remain valid under the XML specification. The version-aware XML framework can also be used to support the exporting of documents from Molhado SPL repository to be edit outside and import back the change history made to the document. We evaluated Molhado SPL with two product lines: a document product line and a the graph data structures product line. This evaluation showed that Molhado SPL supports independently evolution of products and core assets and the eight change propagation cases. We did not evaluate MolhadoSPL in terms of scalability or usability. The main contributions of this dissertation research are: 1) Molhado SPL that supports the evolution of product lines, 2) a fast 3-way XML merge algorithm, 3) a version-aware XML document framework, and 4) a feature model editor and debugger

    CASE Tool support for variability management in software product lines

    Get PDF
    Software product lines (SPL) aim at reducing time-to-market and increasing software quality through extensive, planned reuse of artifacts. An essential activity in SPL is variability management, i.e., defining and managing commonality and variability among member products. Due to the large scale and complexity of today’s software-intensive systems, variability management has become increasingly complex to conduct. Accordingly, tool support for variability management has been gathering increasing momentum over the last few years and can be considered a key success factor for developing and maintaining SPLs. While several studies have already been conducted on variability management, none of these analyzed the available tool support in detail. In this work, we report on a survey in which we analyzed 37 existing variability management tools identified using a systematic literature review to understand the tools’ characteristics, maturity, and the challenges in the field. We conclude that while most studies on variability management tools provide a good motivation and description of the research context and challenges, they often lack empirical data to support their claims and findings. It was also found that quality attributes important for the practical use of tools such as usability, integration, scalability, and performance were out of scope for most studies

    A Framework for Constraint-Programming based Configuration

    Get PDF

    Trusted product lines

    Get PDF
    This thesis describes research undertaken into the application of software product line approaches to the development of high-integrity, embedded real-time software systems that are subject to regulatory approval/certification. The motivation for the research arose from a real business need to reduce cost and lead time of aerospace software development projects. The thesis hypothesis can be summarised as follows: It is feasible to construct product line models that allow the specification of required behaviour within a reference architecture that can be transformed into an effective product implementation, whilst enabling suitable supporting evidence for certification to be produced. The research concentrates on the following four main areas: 1. Construction of an argument framework in which the application of product line techniques to high-integrity software development can be assessed and critically reviewed. 2. Definition of a product-line reference architecture that can host components containing variation. 3. Design of model transformations that can automatically instantiate products from a set of components hosted within the reference architecture. 4. Identification of verification approaches that may provide evidence that the transformations designed in step 3 above preserve properties of interest from the product line model into the product instantiations. Together, these areas form the basis of an approach we term “Trusted Product Lines”. The approach has been evaluated and validated by deployment on a real aerospace project; the approach has been used to produce DO-178B/ED-12B Level A applications of over 300 KSLOC in size. The effect of this approach on the software development process has been critically evaluated in this thesis, both quantitatively (in terms of cost and relative size of process phases) and qualitatively (in terms of software quality). The “Trusted Product Lines” approach, as described within the thesis, shows how product line approaches can be applied to high-integrity software development, and how certification evidence created and arguments constructed for products instantiated from the product line. To the best of our knowledge, the development and effective application of product line techniques in a certification environment is novel and unique
    corecore