707 research outputs found

    The state of adoption and the challenges of systematic variability management in industry

    Get PDF
    Handling large-scale software variability is still a challenge for many organizations. After decades of research on variability management concepts, many industrial organizations have introduced techniques known from research, but still lament that pure textbook approaches are not applicable or efficient. For instance, software product line engineering—an approach to systematically develop portfolios of products—is difficult to adopt given the high upfront investments; and even when adopted, organizations are challenged by evolving their complex product lines. Consequently, the research community now mainly focuses on re-engineering and evolution techniques for product lines; yet, understanding the current state of adoption and the industrial challenges for organizations is necessary to conceive effective techniques. In this multiple-case study, we analyze the current adoption of variability management techniques in twelve medium- to large-scale industrial cases in domains such as automotive, aerospace or railway systems. We identify the current state of variability management, emphasizing the techniques and concepts they adopted. We elicit the needs and challenges expressed for these cases, triangulated with results from a literature review. We believe our results help to understand the current state of adoption and shed light on gaps to address in industrial practice.This work is supported by Vinnova Sweden, Fond Unique Interminist®eriel (FUI) France, and the Swedish Research Council. Open access funding provided by University of Gothenbur

    Use of Model-Based Software Product Line Engineering for Certifiable Avionics Software Development

    Get PDF
    RÉSUMÉ Tous les systĂšmes logiciels avioniques sont soumis aux contraintes de certification imposĂ©es par les normes DO-178. Les fabricants d’équipements avioniques civils sont trĂšs conservateurs dans leur processus de dĂ©veloppement de logiciels et la plupart utilisent encore des outils et des mĂ©thodes d’ingĂ©nierie logicielle Ă©prouvĂ©s en raison des contraintes de certification strictes. Les contraintes de certification, avec la taille et la complexitĂ© du logiciel des systĂšmes avioniques modernes qui augmentent continuellement, ont un impact considĂ©rable sur le coĂ»t du dĂ©veloppement de logiciel avionique certifiable. Pour rĂ©duire le coĂ»t de dĂ©veloppement, les fabricants d’équipements avioniques doivent utiliser des mĂ©thodes de dĂ©veloppement logiciel modernes, ce qui est possible avec la publication de la norme DO-178C. Dans le cadre de ma thĂšse, nous explorons l’utilisation de l’ingĂ©nierie de ligne de produit basĂ©e sur des modĂšles pour le dĂ©veloppement de logiciels avioniques certifiables et proposons des solutions au niveau industriel pour utiliser un processus de ligne de produit utilisant des outils commerciaux. Dans le cadre de ma thĂšse, nous explorons Ă©galement l’applicabilitĂ© de notre processus de development logiciel basĂ© sur le concept de ligne de produit au dĂ©veloppement de logiciels avioniques certifiables contrĂŽlĂ©s. Nous identifions les contraintes qui limitent la rĂ©utilisation des composants logiciels dans les logiciels avioniques sous contrĂŽle d’exportation et proposons des solutions techniques qui facilitent l’application de ligne de produit logiciel basĂ©e sur des modĂšles au dĂ©veloppement de logiciels avioniques certifiĂ©s et sous contrĂŽle d’exportation. Nous validons nos solutions proposĂ©es par des Ă©tudes de cas industriels.----------ABSTRACT All avionics software systems are subjected to certification constraints imposed by DO-178 standards. Civil avionics equipment manufacturers are quite conservative in their software development processes: most still use time-tested software engineering tools and methods, due to strict certification constraints. These certification constraints, along with the increasing size and complexity of modern avionics software-intensive systems, are having a huge impact on the cost of certifiable avionics software development. To cope with this increasing complexity, avionics equipment manufacturers need to use modern software development methodologies. This is possible with the release of DO-178C standard. In my thesis, I have explored the use of model-based software product line engineering for certifiable avionics software development, and have proposed industrial-level solutions for using a model-based software product line process based on commercially available tools. In this thesis, I have also explored the applicability of our model-based software product line process to export-controlled, certifiable avionics software development, identifying constraints that limit the reuse of software components among export-controlled avionics software and proposing technical solutions that facilitate the application of a model-based software product line to export-controlled, certifiable avionics software development. The proposed solutions are validated using industrial case studies

    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

    Software Product Line Engineering: Future Research Directions

    Get PDF
    The recent trend of switching from single software product development tolines of software products in the software industry has made the software product line concept viable and widely accepted methodology in the future. Some of the potential benefits of this approach include cost reduction, improvement in quality and a decrease in product development time. Many organizations that deal in wide areas of operation, from consumer electronics, telecommunications, and avionics to information technology, are using software product lines practice because it deals with effective utilization ofsoftware assets and provides numerous benefits. Software product line engineering is an inter-disciplinary concept. It spans over the dimensions of business, architecture, process and organization. The business dimension of software product lines deals with managing a strong coordination between product line engineering and the business aspects of product line. Software product line architecture is regarded as one of the crucial piece of entity in software product lines. All the resulting products share thiscommon architecture. The organizational theories, behavior and management play critical role in the process of institutionalization of software product line engineering in an organization. The objective of this chapter is to discuss the state of the art of software product line engineering from the perspectives of business, architecture, organizational management and software engineering process. This work also highlights and discusses the future research directions in this area thus providing an opportunity to researchers and practitioners to better understand the future trends and requirements

    Vector extensions in COTS processors to increase guaranteed performance in real-time systems

    Get PDF
    The need for increased application performance in high-integrity systems like those in avionics is on the rise as software continues to implement more complex functionalities. The prevalent computing solution for future high-integrity embedded products are multi-processors systems-on-chip (MPSoC) processors. MPSoCs include CPU multicores that enable improving performance via thread-level parallelism. MPSoCs also include generic accelerators (GPUs) and application-specific accelerators. However, the data processing approach (DPA) required to exploit each of these underlying parallel hardware blocks carries several open challenges to enable the safe deployment in high-integrity domains. The main challenges include the qualification of its associated runtime system and the difficulties in analyzing programs deploying the DPA with out-of-the-box timing analysis and code coverage tools. In this work, we perform a thorough analysis of vector extensions (VExt) in current COTS processors for high-integrity systems. We show that VExt prevent many of the challenges arising with parallel programming models and GPUs. Unlike other DPAs, VExt require no runtime support, prevent by design race conditions that might arise with parallel programming models, and have minimum impact on the software ecosystem enabling the use of existing code coverage and timing analysis tools. We develop vectorized versions of neural network kernels and show that the NVIDIA Xavier VExt provide a reasonable increase in guaranteed application performance of up to 2.7x. Our analysis contends that VExt are the DPA approach with arguably the fastest path for adoption in high-integrity systems.This work has received funding from the the European Research Council (ERC) grant agreement No. 772773 (SuPerCom) and the Spanish Ministry of Science and Innovation (AEI/10.13039/501100011033) under grants PID2019-107255GB-C21 and IJC2020-045931-I.Peer ReviewedPostprint (author's final draft

    Software variability in service robotics

    Get PDF
    Robots artificially replicate human capabilities thanks to their software, the main embodiment of intelligence. However, engineering robotics software has become increasingly challenging. Developers need expertise from different disciplines as well as they are faced with heterogeneous hardware and uncertain operating environments. To this end, the software needs to be variable—to customize robots for different customers, hardware, and operating environments. However, variability adds substantial complexity and needs to be managed—yet, ad hoc practices prevail in the robotics domain, challenging effective software reuse, maintenance, and evolution. To improve the situation, we need to enhance our empirical understanding of variability in robotics. We present a multiple-case study on software variability in the vibrant and challenging domain of service robotics. We investigated drivers, practices, methods, and challenges of variability from industrial companies building service robots. We analyzed the state-of-the-practice and the state-of-the-art—the former via an experience report and eleven interviews with two service robotics companies; the latter via a systematic literature review. We triangulated from these sources, reporting observations with actionable recommendations for researchers, tool providers, and practitioners. We formulated hypotheses trying to explain our observations, and also compared the state-of-the-art from the literature with the-state-of-the-practice we observed in our cases. We learned that the level of abstraction in robotics software needs to be raised for simplifying variability management and software integration, while keeping a sufficient level of customization to boost efficiency and effectiveness in their robots’ operation. Planning and realizing variability for specific requirements and implementing robust abstractions permit robotic applications to operate robustly in dynamic environments, which are often only partially known and controllable. With this aim, our companies use a number of mechanisms, some of them based on formalisms used to specify robotic behavior, such as finite-state machines and behavior trees. To foster software reuse, the service robotics domain will greatly benefit from having software components—completely decoupled from hardware—with harmonized and standardized interfaces, and organized in an ecosystem shared among various companies

    Managing Variability in Assembly Lines

    Get PDF
    Every successful company have a diversified product portfolio based on their customer demand. Though products are branded as different variants, versions etc. most of them are similar products with little variations in their features or functions they perform. With the traditional, product centric approach to handle variation, new techniques like Clone and own were implemented in which engineers pick the most similar one available, copy it, make changes to it and present it as a new variant. Even though this approach employs reuse, but the savings occur once and only once. This project discussed how companies can exploit the commonality between the products, manage variability and get benefitted using concepts like feature based modelling, materialization etc. Feature based modelling was extensively being used in software industry, this paper focuses on using the same methods in manufacturing industry and improve the product lines for better efficiency. This project specifically investigates the assembly lines and how they can be programmed and documented to handle the portfolio of products efficiently through the entire Product Life Cycle using pure::variants, a leading variant-management tool. The use feature based modelling and variability management techniques through the assembly lines greatly reduces the evolution and development time of variants, improves cycle time and with project management documents like instruction Manuals, Bill of materials etc. Keywords: Central Variability Model (CVM), Feature based modelling, Pure Variants, Assembly Lines, Product Life Cycle

    FEASIBILITY ANALYSIS OF A JOINT H-60 PROGRAM OFFICE

    Get PDF
    The purpose of this feasibility analysis is to assess the feasibility of a joint program office to manage the cross-service Lockheed Martin/Sikorsky H-60 helicopter. The Lockheed Martin/Sikorsky H-60 helicopter is a multipurpose aircraft employed by numerous United States government agencies including many in the Department of Defense (DOD) and Department of Homeland Security (DHS). This feasibility analysis will use a quantitative comparative analysis to analyze the U.S. Army and U.S. Navy’s procurements of the H-60 helicopter and assess if there are cost savings that could be realized with a joint program office. Additionally, we conducted a qualitative comparative analysis to determine if there are benefits or disadvantages to joint program offices. Our findings revealed that there are legitimate quantitative advantages for joint programs due to common economic principles of economies of scale and volume discounts. However, there are several qualitative detriments that must be overcome in order to transition the H-60 helicopter program to a joint office. These findings led us to recommend that the H-60 helicopter program remain separate offices managed by each individual service due to the established service life of the H-60. Nevertheless, future major weapons systems could benefit from a joint office if adopted early enough in the program’s life cycle.Lieutenant Commander, United States Coast GuardMajor, United States ArmyLieutenant, United States NavyApproved for public release. Distribution is unlimited
    • 

    corecore