Home > Research > Publications & Outputs > Adaptable software reuse

Electronic data

  • 2019UmarPhD

    Final published version, 6.69 MB, PDF document

Text available via DOI:

View graph of relations

Adaptable software reuse: binding time aware modelling language to support variations of feature binding time in software product line engineering

Research output: ThesisDoctoral Thesis

Published
Publication date14/02/2020
Number of pages196
QualificationPhD
Awarding Institution
Supervisors/Advisors
Award date16/09/2019
Publisher
  • Lancaster University
<mark>Original language</mark>English

Abstract

Software product line engineering (SPLE) is a paradigm for developing a family of
software products from the same reusable assets rather than developing individual products from scratch. In many SPLE approaches, a feature is often used as the key abstraction to distinguish between the members of the product family. Thus, the sets of products in the product line are said to have ’common’ features and differ in ’variable’ features. Consequently, reusable assets are developed with variation points where variant features may be bound for each of the diverse products.

Emerging deployment environments and market segments have been fuelling demands for adaptable reusable assets to support additional variations that may be required to increase the usage-context of the products of a product line. Similarly, feature binding time - when a feature is included in a product and made available for use - may vary between the products because of uncertain market conditions or diverse deployment environments. Hence, variations of feature binding time should also be supported to cover the wide-range of usage-contexts.

Through the execution of action research, this thesis has established the following: Language-based implementation techniques, that are specifically proposed to implement variations in the form of features, have better modularity but are not better than the existing classical technique in terms of modifiability and do not support variations in feature binding time. Similarly, through a systematic literature review, this thesis has established the following: The different engineering approaches that are proposed to support variations of feature binding time are limited in one of the following ways: a feature may have to be represented/implemented multiple time, each for a specific binding time; The support is only to execution context and therefore limited in scope; The support focuses on too fine-grained model elements or too low-level of abstraction at source-codes.

Given the limitations of the existing approaches, this thesis presents binding time aware modelling language that supports variations of feature binding time by design and improves the modifiability of reusable assets of a product line.