AbstractsProduct Lines 2.0: Software product line practice is a proven and practical approach for software system development. Years of foundational research in such areas as empirical capture of best practices, feature modeling, automated product derivation, scoping, product line architecture, and economic and adoption models have established a firm foundation. However, all of this work can be seen as focusing on a short-term goal: the production of software product lines in an organization or across a small number of organizations. We can call this "Product Lines 1.0." We are seeing early signs that product line engineering is now poised be something much more – a solid technology base for system and software engineering at all scales. Research is needed to guide product line engineering into this new role, and to embed it in new technological advances that otherwise are having to re-discover basic principles that are already solved problems in product lines. For example, the service-oriented architecture community has struggled with understanding service compatibility, whereas product line scoping and product line architecture practices have long dealt successfully with a version of exactly the same problem. Model based engineering can be seen as merely one point on the automated end of the whole spectrum of product line production strategies. “App shops” are emerging as a “new” model for acquisition of functionality, but these can easily be seen as the core asset base of an on-line product line. And so forth. Product line engineering is capable of pushing these technologies farther along than they are or otherwise would be. This talk argues that we are moving towards "Product Lines 2.0" and discusses the research challenge and pay-offs that we might expect as product line engineering moves into this new frontier.
Feature Link Propagation Across Variability Representations with Isabelle/HOL When dealing with highly complex product lines it is usually indispensable to somehow subdivide the overall product line into several smaller, subordinate product lines and to define orthogonal views on the line's variability tailored to particular purposes, such as end-customer configuration. In this article we report on an ongoing research effort for dealing with feature links, i.e. logical constraints between features, in such a setting, by propagating such logical constraints defined in lower-level product lines to a higher level or from one view to another.
Information Needed for Architecture Decision Making This paper focuses on the business aspects of architecture decision making – in particular information needed by managers and archi-tects for making architecture investment decisions. We present the results of 19 interviews in an industrial organization aimed at identifying information used for architecture decision making in the context of product lines. We summarize the interview findings to investigate future possibilities in improving architecture decision making. (Presentation)
Opening Up Software Product Line Engineering The software industry is experiencing a shift towards more open processes, a globalized market and more active and engaged customers and end users. This change seems natural and inevitable, imposing necessary changes in how software product line organizations plan and drive the development of their products. This paper gives insight into some recent developments in a product line organization and discusses how their efforts have helped them in improving their development processes and their product line. Based on this experience, this paper provides some preliminary guidelines to both industry and research, indicating that software product line organizations should exploit open innovation, engage customers, build communities and simplify processes and organization.
Integrating Heterogeneous Components in Software Supply Chains Numerous software product lines today are built from components supplied by
different vendors. Companies situated in the middle of a software supply
chain must configure and integrate components from their suppliers and offer
(partially configured) variants for their customers, who can then complete the
configuration and use these components in product lines or products that they
develop. Covering the entire product line often involves using components
from multiple suppliers, many of which providing overlapping functionality.
This leads to a product line with different possible alternatives for
components. These components may use mismatched interfaces and therefore
require glue for integration.
An Experience Report on the Incremental Adaptation and Evolution of a SPL in eHealth This work presents an experience report on the evolutionary development of a
software product line (SPL) in the eHealth domain. The effort was triggered by
the concurrent development of two similar products and the ambition to reduce
redundant development and quality assurance. The result is a scalable base for
a complex, highly adaptable information system. This system is required to be
applicable in multiple business domains and diverging environments ranging
from large scale hospitals to single practitioner clinics.
EvoFM: Feature-driven Planning of Product-line Evolution Companies successfully applying product line approaches often follow a
long-term strategy and need to plan product portfolios years ahead. For
instance in the automotive industry, managers constantly make decisions about
future product evolution, like "the LED tail lights will be introduced with
the next facelift and the LED front lights two years later". With a raising
number of features, feature changes, and evolution steps, a systematic
approach for evolution planning becomes essential. However, there is only very
little support for such evolution in model-based product line engineering so
far.
Software Product Line Evolution: The Selecta System The current technology gives little room for the different kinds of evolution needed for any software product line (SPL): evolution of the associated engineering environment, evolution of the market and SPL scope, evolution of the products and variability. The paper describes how these different evolution needs are addressed in the CADSE and Selecta systems. The solution we propose uses metamodeling and generation for the engineering environment evolution, composition for scope and market evolution, a component database and a selection language for the product and variability evolution. The paper presents the Selecta system and shortly discusses the experience.
SPLGraph: Towards a Formalism for Software Product Lines This paper presents SPLGraph a graph-based model for Software Product Lines, including:(1)~a formal definition of an SPLGraph, (2)~an algorithm that apply configuration decisions to the SPLGraph to derive a product specific graph, (3)~a set of patterns for typical SPLGraph structures, such as Boolean operators, reuse of expressions, named configurations, optional and alternative features and staged configuration; and (4)~an algorithm that infers product configuration per a variability point. SPLGraph is generic, simple, and self sustaining in the sense that an SPLGraph instance can apply variability to itself. These properties make SPLGraph a solid and complete formalism for Software Product Line. (Presentation) |