Feature Binding Analysis for Product Line Component Development
- Jaejoon Lee and Kyo C. Kang
- Feature binding information drives product line component design.
- In the paper, an approach was introduced to analyzing feature binding from the three perspectives and that how the analysis result can be used to develop components for a product line was illustrated.
1.1. Feature binding can be examined from three perspectives
1.1.1. What features are bound (feature binding units)
- Feature binding unit (FBU)
u A set of features that are related to each other via composed-of, generalization/specialization, and implemented-by relationship and composition rules in a feature model.
u Features that belong to a same binding unit work for a common service and, therefore, they have to exist together for correct operation of the service.
1) FBU identification starts with identification of independently configurable service features.
2) To function properly a FBU can include other features which are used with the service feature.
u These sets are the units of commonality and variability
1.1.2. When features are bound (feature binding time)
- Binding state of a FBU
u Big picture
1) Asset development time
A. Some FBUs may be developed and included in product line assets at asset development time.
2) Installation time
A. Some FBUs’ availability can be determined at installation time by enabling or disabling the feature binding units.
u Binding states
1) Inclusion
A. When, in the product lifecycle phases, a FBU is physically included in a product.
2) Availability
A. When, in the product lifecycle phases, those included FBUs become available to users.
B. Once the FBU becomes available, it is now ready to be activated, as long as it abides by the activation rules among FBUs.
i. Activation rules provide information on concurrency of FBU activation and they are defined in terms of mutual exclusion, dependency, and priority schemes.
- To prevent from a feature interaction problem, feature binding time analysis with additional view on feature binding state provides a more precise framework for feature binding analysis.
- Product lifecycle view
1) Asset development
2) Product development
3) Pre-operation
4) Operation
- Binding states
- Feature delivery method
u One of the major drivers for binding time decision
u It is determined during market analysis
1.1.3. How features are bound (feature binding techniques)
1.2. Product line component development
1.2.1. Variation point identification
- To manage variation points for a binding unit consistently, explicit mapping between binding units and variation points should be established.
- The FBU dependency is preserved in the object model.
1.2.2. Feature binding technique exploration
- Selection of binding techniques depends both on binding time and quality attributes required for products.
u Delaying binding time to a later phase of the lifecycle may provide more flexibility, but applicable implementation techniques are limited and they usually require more performance overheads.
1) Inclusion
A. To control feature inclusion by including or excluding code segments or components from products.
i. Code generation / Pre-processing / Macro processing / ICD (Internet Component Download)
B. Allow products to include multiple features physically but their availability can be determined at a later phase.
2) Availability
A. For enabling or disabling accesses to features.
i. Load tables / Authentication based access control
1.2.3. Component specification
- Components and relationships among them.
- For the product development time inclusion
u Macro language
- For the pre-operation time availability
u Load table
- To handle the feature activation rules
u Define a policy or policies
이올린에 북마크하기