featureIDE is a popular open-source tool for modeling, implementing, configuring, and analyzing software product lines. However, featureIDE's initial design was lacking mechanisms that facilitate extension and reu...
详细信息
ISBN:
(纸本)9781450351195
featureIDE is a popular open-source tool for modeling, implementing, configuring, and analyzing software product lines. However, featureIDE's initial design was lacking mechanisms that facilitate extension and reuse of core implementations. In current releases, we improve these traits by providing a modular concept for core data structures and functionalities. As a result, we are facilitating the usage of external implementations for feature models and file formats within featureIDE. Additionally, we provide a Java library containing featureIDE's core functionalities, including feature modeling and configuration. This allows developers to use these functionalities in their own tools without relying on external dependencies, such as the Eclipse framework.
Managing the evolution of system families in space and time, i.e., system variants and their revisions is still an open challenge. The software product line (SPL) approach can support the management of product variant...
详细信息
ISBN:
(纸本)9781450375702
Managing the evolution of system families in space and time, i.e., system variants and their revisions is still an open challenge. The software product line (SPL) approach can support the management of product variants in space by reusing a common set of features. However, feature changes over time are often necessary due to adaptations and/or bug fixes, leading to different product versions. Such changes are commonly tracked in version control systems (VCSs). However, VCSs only deal with the change history of source code, and, even though their branching mechanisms allow to develop features in isolation, VCS does not allow propagating changes across variants. Variation control systems have been developed to support more fine-grained management of variants and to allow tracking of changes at the level of files or features. However, these systems are also limited regarding the types and granularity of artifacts. Also, they are cognitively very demanding with increasing numbers of revisions and variants. Furthermore, propagating specific changes over variants of a system is still a complex task that also depends on the variability-aware change impacts. Based on these existing limitations, the goal of this doctoral work is to investigate and define a flexible and unified approach to allow an easy and scalable evolution of SPLs in space and time. The expected contributions will aid the management of SPL products and support engineers to reason about the potential impact of changes during SPL evolution. To evaluate the approach, we plan to conduct case studies with real-world SPLs.
Many organizations specialize in the development offamilies of software systems, called software product lines (SPLs),for one or more domains (e.g., automotive, telephony, health care).SPLs are commonly developed as a...
详细信息
Many organizations specialize in the development offamilies of software systems, called software product lines (SPLs),for one or more domains (e.g., automotive, telephony, health care).SPLs are commonly developed as a shared set of assets representingthe common and variable aspects of an SPL, and individual productsare constructed by assembling the right combinations of assets. Thefeature-oriented software development (FOSD) paradigm advocates theuse of system features as the primary unit of commonality andvariability among the products of an SPL. A feature represents acoherent and identifiable bundle of system functionality, such ascall waiting in telephony and cruise control in an ***, FOSD aims at feature-oriented artifacts (FOAs); thatis, software-development artifacts that explicate features, so thata clear mapping is established between a feature and itsrepresentation in different artifacts. The thesis first identifiesthe problem of developing a suitable language for expressingfeature-oriented models of the functional requirements of an SPL,and then presents the feature-oriented requirements modellinglanguage (FORML) as a solution to this problem. FORML''s notation isbased on standard software-engineering notations (e.g., UML classand state-machine models, feature models) to ease adoption bypractitioners, and has a precise syntax and semantics to enableanalysis. The novelty of FORML is in adding feature-orientationto state-of-the-art requirements modelling approaches (e.g., KAOS),and in the systematic treatment of modelling evolutions of an SPLvia enhancements to existing features. An existing feature can beenhanced by extending or modifying its requirements. Enhancementsthat modify a feature''s requirements are called intended featureinteractions. For example, the call waiting feature in telephonyintentionally overrides the basic call service feature''s treatmentof incoming calls when the subscriber is already involved in acall. FORML pres
feature-oriented software development enables rapid software creation and evolution, through incremental and parallel featuredevelopment or through product line engineering. However, in practice, features are often n...
详细信息
ISBN:
(纸本)9781450355728
feature-oriented software development enables rapid software creation and evolution, through incremental and parallel featuredevelopment or through product line engineering. However, in practice, features are often not separate concerns. They behave differently in the presence of other features, and they sometimes interfere with each other in surprising ways. This talk will explore challenges in feature interactions and their resolutions. Resolution strategies can tackle large classes of interactions, but are imperfect and incomplete, leading to research opportunities in software architecture, composition semantics, and verification.
Among the key elements of mature engineering is automated production: we understand the technical problems and we understand their solutions; our goal is to automate production as much as possible to increase product ...
详细信息
ISBN:
(纸本)9781605585673
Among the key elements of mature engineering is automated production: we understand the technical problems and we understand their solutions; our goal is to automate production as much as possible to increase product quality, reduce costs and time-to-market, and be adept at creating new products quickly and *** production is a technological statement of maturity: "We've built these products so often by hand that we've gotten it down to a Science". Models of automated production are indeed the beginnings of a Science of Automated Design (SOAD). featureorientedsoftwaredevelopment (FOSD) will play a fundamental role in SOAD, and I believe also play a fundamental role in the future of software *** this presentation, I explain what distinguishes FOSD from other software design disciplines and enumerate key technical barriers that lie ahead for FOSD and SOAD.
暂无评论