A Model-Based Approach to Managing Feature Binding Time in Software Product Line Engineering
Total Page:16
File Type:pdf, Size:1020Kb
A Model-Based Approach to Managing Feature Binding Time in Software Product Line Engineering Armaya’u Zango Umar Jaejoon Lee Lancaster University Lancaster University Lancaster, United Kingdom Lancaster, United Kingdom [email protected] [email protected] ABSTRACT EduPL Software Product Line Engineering (SPLE) is a software reuse par- Course Registration adigm for developing software products, from managed reusable Result Computation................. Account Creation Payment ...... ..... assets, based on analysis of commonality and variability (C & V) .......... ......... Application of a product line. Many approaches of SPLE use a feature as a Messaging Service Sub-degree key abstraction to capture the C&V. Recently, there have been in- Contact Validation Email Graduate creasing demands for the provision of flexibility about not only Text Message Under Graduate the variability of features but also the variability of when features Composition Rule Legend should be selected (i.e., variability on feature binding times). Cur- Contact Validation Requires Messaging Service Optional Alternative Group rent approaches to support variations of feature binding time mostly GraduateRequires Payment OR group Composed-of relationship focused on ad hoc implementation mechanisms. In this paper, we first identify the challenges of feature binding time management and then propose an approach to analyze the variation of feature Figure 1: Partial feature model of EduPl binding times and use the results to specify model-based architec- tural components for the product line. Based on the specification, components implementing variable features are parameterized with be tailored to produce a potentially unique architecture for each of the binding times and the source codes for the components and the the products of a product line. connection between them are generated. 1.1 Background KEYWORDS Recently there have been increasing demands for flexibility of not Model-Based Software Product Line; Models and Components; Prod- only the variability of features but also the variability of when uct Line of Product Lines; Variable Binding Time; Feature Binding features should be selected (i.e., variability of feature binding time). Time This is often the case when products of a product line have to be con- figured for delivery to multiple product lines[2, 13]. Fig.1 presents an example of enterprise software for tertiary institutions of an anonymous country. The product line, referred to as Educational 1 INTRODUCTION Product Line (EduPl), was initiated by our partner university in that Software Product Line Engineering (SPLE) is a software reuse par- country. The vision of the product line is to provide software prod- adigm for developing software products from managed reusable ucts to sister universities, other higher institutions, and Enterprise assets. The reusable assets are engineered based on analysis of com- Resource Planning (ERP) vendors. The educational institutions in monality and variability (C & V) of a family of software products in the country have common and centralized regulatory agencies - a specific problem area, known asa domain. The approach uses a which make their core operations largely the same- hence a product feature as a key abstraction [16, 19, 26]. The commonality represents line. In this example, a customer institution placing a direct order, the set of mandatory features, the shared traits, which manifest in through their IT department, requires the binding of Messaging all the products of the product line. On the other hand, a feature in Service and Contact Validation to be decided at product configu- the variability category can be one of the optional/alternative fea- ration time. Other customers, who are ERP vendors, require the tures or forms a part of an inclusive OR group. Composition rules same Messaging Service and Contact Validation to be decided at in- are also used to constrain the selection of features in the variability stallation time after their salesman negotiates with customers over category. A feature model[20] is widely used to present C & V in- the product price. Yet still, customers hitherto deselected a feature formation of a product line compactly(see Fig.1 for example). Each may demand the same feature at operation time when their ser- product in the product line is derived from a selection of a valid vices evolved. For example, customer institution starting graduate combination of features —a process known as product configuration. courses should select and bind (to be downloaded or made available The phase, in the product life cycle, of which a feature is selected in a memory stick) the Graduate feature to their product already and bound to a product is known as feature binding time[31, 33]. in operation. As such, the product line engineers of EduPl should Engineers used the results of C & V analyses to design a Product develop the core assets to support the different binding times of Line Architecture (PLA) - a generic software architecture that can these features. The above example exposes three distinctive challenges: 1) how C2 How to develop product line assets to support the different to identify the set of features that should be selectable at different binding times. The challenge is not only about supporting binding times; 2) how to engineer and instantiate reusable assets different binding times for the different features but also to support such selections; and 3) how to maintain the feature about supporting different binding time of the same feature dependencies (e.g., require and mutual exclusion) throughout the and at the same variation point. A variation point is a place different phase (e.g., product configuration time, installation time, where different variants can be bound for different product or operation time) of feature selection. Without addressing these configurations[16]. challenges, the product line assets have to go through an ad hoc C3 How to maintain consistency between feature selection and adaptation to serve requests for varying binding times [2]. binding time instantiation. For example, when a parent fea- Ad-hoc adaptations of binding times, through hacks, can induce ture is selected with a late binding time, its child features architectural degradation [32], which affects maintainability and should all be selected at not earlier than the parent feature’s adaptability. Also, it can slow-down the time-to-market, increase binding time and we should make sure there are no other production costs, and affect the quality of the products. Equally sub- features that require one of the child features at an earlier optimal is to develop separate assets for the different categories of binding time. Supporting flexibility in the feature binding customers; i.e., splitting, supposedly, a single asset-based into a set time requires a robust management of feature dependencies of parallel asset-based. This approach, clearly adds up to production [18] with their different binding time. and maintenance costs because a product line company has to To address the above challenges, we propose an approach to maintain multiple assets for the different categories of customers. manage the variations of feature binding time. Our work is based The proliferation of software provider-consumer relationships on feature binding unit analysis - an approach initially proposed to has aggravated the demands for flexibility in the selection of fea- address dynamic reconfiguration of software systems in a dynamic tures at different times. The provider is a product line company that software product line (DSPL) [24]. Specifically, we adapted feature has to deliver partially configured products to consumers that are binding unit analysis as a guideline on how to decompose product separate product lines [13]. In the literature, the terms Product Line line architecture to match the boundaries of features that must be of Product Line (PoPs) and Multi-Product Lines (MPLs) are used to bound together. We extend this approach with flexible connection depict the software provider-consumer relationship as a form of mechanisms between components of separate binding units. We associations between product lines of separate logical boundaries also propose a means to instantiate product line assets with the [6, 14, 17, 30]. Hartman et al [11, 12] used the term Software Supply different binding time. Fig.2 shows the activities and work products Network (SSN) to qualify the associations between the multiple of the proposed approach, which are explained in the following product lines as a network of independent stakeholders engaged in section. a software supplier-customer relationship. There have been attempts to address the challenge of providing 2 OVERVIEW OF THE APROACH flexible feature binding time [4, 7, 8, 27, 27, 34]. However, someof these approaches addressed flexibility at a fine granular level (e.g., To illustrate the approach, the following elaborates on some of flexible composition of low-level model elements such as states and the features in Fig.1: The Account Creation feature is to create an transitions in state diagram )[34]. Others proposed some ad hoc account with the institution’s portal. The system can optionally manipulations that are only tenable in some specific development validate an applicant’s contact using Contact Validation. The Con- environments [8]. All in all, a comprehensive approach to address tact Validation feature requires Messaging Service to send randomly the flexibility