71,546 research outputs found

    A Systematic Review of Tracing Solutions in Software Product Lines

    Get PDF
    Software Product Lines are large-scale, multi-unit systems that enable massive, customized production. They consist of a base of reusable artifacts and points of variation that provide the system with flexibility, allowing generating customized products. However, maintaining a system with such complexity and flexibility could be error prone and time consuming. Indeed, any modification (addition, deletion or update) at the level of a product or an artifact would impact other elements. It would therefore be interesting to adopt an efficient and organized traceability solution to maintain the Software Product Line. Still, traceability is not systematically implemented. It is usually set up for specific constraints (e.g. certification requirements), but abandoned in other situations. In order to draw a picture of the actual conditions of traceability solutions in Software Product Lines context, we decided to address a literature review. This review as well as its findings is detailed in the present article.Comment: 22 pages, 9 figures, 7 table

    A Product Line Systems Engineering Process for Variability Identification and Reduction

    Full text link
    Software Product Line Engineering has attracted attention in the last two decades due to its promising capabilities to reduce costs and time to market through reuse of requirements and components. In practice, developing system level product lines in a large-scale company is not an easy task as there may be thousands of variants and multiple disciplines involved. The manual reuse of legacy system models at domain engineering to build reusable system libraries and configurations of variants to derive target products can be infeasible. To tackle this challenge, a Product Line Systems Engineering process is proposed. Specifically, the process extends research in the System Orthogonal Variability Model to support hierarchical variability modeling with formal definitions; utilizes Systems Engineering concepts and legacy system models to build the hierarchy for the variability model and to identify essential relations between variants; and finally, analyzes the identified relations to reduce the number of variation points. The process, which is automated by computational algorithms, is demonstrated through an illustrative example on generalized Rolls-Royce aircraft engine control systems. To evaluate the effectiveness of the process in the reduction of variation points, it is further applied to case studies in different engineering domains at different levels of complexity. Subject to system model availability, reduction of 14% to 40% in the number of variation points are demonstrated in the case studies.Comment: 12 pages, 6 figures, 2 tables; submitted to the IEEE Systems Journal on 3rd June 201

    Clafer: Lightweight Modeling of Structure, Behaviour, and Variability

    Get PDF
    Embedded software is growing fast in size and complexity, leading to intimate mixture of complex architectures and complex control. Consequently, software specification requires modeling both structures and behaviour of systems. Unfortunately, existing languages do not integrate these aspects well, usually prioritizing one of them. It is common to develop a separate language for each of these facets. In this paper, we contribute Clafer: a small language that attempts to tackle this challenge. It combines rich structural modeling with state of the art behavioural formalisms. We are not aware of any other modeling language that seamlessly combines these facets common to system and software modeling. We show how Clafer, in a single unified syntax and semantics, allows capturing feature models (variability), component models, discrete control models (automata) and variability encompassing all these aspects. The language is built on top of first order logic with quantifiers over basic entities (for modeling structures) combined with linear temporal logic (for modeling behaviour). On top of this semantic foundation we build a simple but expressive syntax, enriched with carefully selected syntactic expansions that cover hierarchical modeling, associations, automata, scenarios, and Dwyer's property patterns. We evaluate Clafer using a power window case study, and comparing it against other notations that substantially overlap with its scope (SysML, AADL, Temporal OCL and Live Sequence Charts), discussing benefits and perils of using a single notation for the purpose

    A Systematic Approach to Constructing Families of Incremental Topology Control Algorithms Using Graph Transformation

    Full text link
    In the communication systems domain, constructing and maintaining network topologies via topology control (TC) algorithms is an important cross-cutting research area. Network topologies are usually modeled using attributed graphs whose nodes and edges represent the network nodes and their interconnecting links. A key requirement of TC algorithms is to fulfill certain consistency and optimization properties to ensure a high quality of service. Still, few attempts have been made to constructively integrate these properties into the development process of TC algorithms. Furthermore, even though many TC algorithms share substantial parts (such as structural patterns or tie-breaking strategies), few works constructively leverage these commonalities and differences of TC algorithms systematically. In previous work, we addressed the constructive integration of consistency properties into the development process. We outlined a constructive, model-driven methodology for designing individual TC algorithms. Valid and high-quality topologies are characterized using declarative graph constraints; TC algorithms are specified using programmed graph transformation. We applied a well-known static analysis technique to refine a given TC algorithm in a way that the resulting algorithm preserves the specified graph constraints. In this paper, we extend our constructive methodology by generalizing it to support the specification of families of TC algorithms. To show the feasibility of our approach, we reneging six existing TC algorithms and develop e-kTC, a novel energy-efficient variant of the TC algorithm kTC. Finally, we evaluate a subset of the specified TC algorithms using a new tool integration of the graph transformation tool eMoflon and the Simonstrator network simulation framework.Comment: Corresponds to the accepted manuscrip

    Refinement and variability techniques in model transformation of software requirements

    Get PDF
    Tese de Doutoramento em Tecnologias e Sistemas de InformaçãoThis thesis begins with analyzing user functional requirements (as use cases) from the perspective of detail. In that sense, it investigates the applicability of the UML (Unified Modeling Language) «include» relationship to the representation of use case refinement and proposes another relationship for that purpose. It also clarifies the process of modeling use cases with UML when refinement is involved and provides for some guidelines in order to conduct that process. Afterwards, the work of this thesis on use case modeling is expanded to the field of SPLs (Software Product Lines) by means of exploring the UML «extend» relationship. It talks about alternative, specialization and option use cases as the representation of the three variability types this thesis proposes to be translated into stereotypes to mark use cases. Then, this thesis incorporates the refinement of logical architectures with variability support from use cases also with variability support in the 4SRS (Four Step Rule Set) transition method for model transformation of analysis artifacts (use cases) into design artifacts (logical architectures represented as UML component diagrams). The model transformation the 4SRS guides in a stepwise way, from use cases into logical architectures, is based on a software development pattern that addresses architecture. This thesis yields a multilevel and multistage pattern classification that grounds the use of that pattern to generate system functional requirements (as logical architectures). Lastly, the 4SRS transition method is modeled with the SPEM (Software & Systems Process Engineering Metamodel) and formalized as a small software development process dedicated at transitioning from the analysis to the design of software. After that, this thesis presents a case study on the automation of the 4SRS and thoroughly elaborates on the transformation rules that support the model transformations of the 4SRS.Esta tese começa por analisar requisitos funcionais de utilizador (enquanto casos de utilização) sob a perspectiva do detalhe. Nesse sentido, esta tese investiga a aplicabilidade da relação UML (Unified Modeling Language) «include» para a representação do refinamento de casos de utilização e propõe outra relação para esse fim. Esta tese também clarifica o processo de modelação de casos de utilização com a UML quando esse processo envolve refinamento e fornece algumas diretrizes para a condução desse processo. De seguida, o trabalho desta tese em modelação de casos de utilização é expandido para o campo das linhas de produtos de software através da exploração da relação UML «extend». Esse trabalho fala de casos de utilização alternativos, de especialização e opcionais como a representação dos três tipos de variabilidade que esta tese propõe que sejam traduzidos em estereótipos para a marcação de casos de utilização. Depois, esta tese incorpora o refinamento de arquitecturas lógicas com suporte à variabilidade a partir de casos de utilização também com suporte à variabilidade no método de transição 4SRS (Four Step Rule Set) para a tranformação de modelos de artefatos de análise (casos de utilização) em modelos de artefatos de design (arquitecturas lógicas representadas como diagramas de components UML). A transformação de modelos que o 4SRS guia por passos, de casos de utilização em arquitecturas lógicas, baseia-se num padrão de desenvolvimento de software que visa arquitetura. Esta tese produz uma classificação multinível e multietapa de padrões, que sustenta a utilização desse padrão na geração de requisitos funcionais de sistema (enquanto arquitecturas lógicas). Por fim, o método de transição 4SRS é modelado com o SPEM (Software & Systems Process Engineering Metamodel) e formalizado como um pequeno processo de desenvolvimento de software dedicado a transitar da análise para o design the software. Depois disso, esta tese apresenta um estudo de caso sobre a automatização do 4SRS e elabora minuciosamente acerca das regras de transformação que apoiam as transformações de modelos do 4SRS
    corecore