71,546 research outputs found
A Systematic Review of Tracing Solutions in Software Product Lines
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
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
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
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
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
- …