280 likes | 466 Views
Software Product-Line Engineering: A Family-Based Software Development Process: Defining The Family. David Weiss weiss@sei.pku.edu.cn. FAST Process. A process for defining families and developing environments for generating family members Find abstractions common to the family
E N D
Software Product-Line Engineering: A Family-Based Software Development Process:Defining The Family David Weiss weiss@sei.pku.edu.cn
FAST Process • A process for defining families and developing environments for generating family members • Find abstractions common to the family • Define a process for producing family members • Design a language for specifying family members • Generate software from specifications • Family-oriented Abstraction, Specification, Translation
Product Engineering A FAST Process Investment Domain Engineering Feedback Product Engineering Environment Payback Products
The Domain Model • Conceptual Framework • Family Definition • Commonalities and Variabilities Among Family Members • Common Terminology for the Family • Decision Model • Economic Analysis • Product Line Architecture • Optional: Application Modeling Language (AML): Language for stating requirements • Mechanism for generating products • Composer or Compiler (AML)
The Conceptual Framework (1) • Qualify The Domain • Is it economically viable? • Artifact: Economic Model • Define The Family • What do members of the family have in common and how do they vary? • Artifact: The Commonality/Variability Analysis • Define The Decision Model • What decisions must be made to identify a family member? • Artifact: The Decision Model Table
The Conceptual Framework (2) • Create The Architecture • What is a good modular structure and a good uses structure? • Artifacts: Module Guide, Interface Specifications, Uses Relation • Design The System Composition Mapping • What modules are needed for which decisions? • Artifacts: System Composition Mapping, Uses Relation • Design The Product Engineering Environment • What are good mechanisms for using the decision model to produce products or to generate products from the AML? • Artifacts: Decision Model GUI, Generator or Compiler (AML)
Defining Requirements For The Family: The Commonality Analysis • Must specify requirements that are • common to all family members (commonalities) • variable among family members (variabilities) • Commonalities: Assumptions that hold for every member of the family • Variabilities: Assumptions that define the range of variation for the family • Parameters of Variation: Quantification of the variabilities • Dictionary of terms • Technical terms that define a vocabulary for the domain
Organization of A Commonality/Variability Analysis • Introduction & Overview • Commonalities • Variabilities • Parameters of Variation • Dictionary • Issues • Notes • Review Questions
The Floating Weather Station • Floating Weather Station (FWS) buoys are deployed at sea and periodically report the current wind speed via messages sent by radio. Each member of the FWS family contains an onboard computer that controls the operation of the buoy while it is at sea.
A Few FWS Commonalities The following statements are basic assumptions about the FWS domain, i.e., they are true of all FWS systems. C1. At fixed intervals, the FWS monitors the wind speed at its location. C2. The FWS is equipped with one or more sensors that monitor wind speed. …
A Few FWS Variabilities The following statements describe how FWS may vary. V1. The number of wind speed sensors on a FWS may vary. (C2) V2. The sensor period of the sensors on a FWS may vary (C1, C2) …
From Parameters Of Variation To Implementations: The Decision Model System Composition Mapping
Customer(s) Decision Model Validation & Acceptance Delivered System Decisions Code & Documentation Requirements Engineer Application Components+ Tools+ Processes K e y: Artif act Process
Summary • Product Line Scope Is Defined By Commonality/Variability Analysis • Commonalities Define What’s Common To All Family Members • Variabilities Define The Range Of The Family • Parameters Of Variation Quantify The Range • Decision Model Uses Parameters of Variation In Specifying Individual Products
Terminology • Family • Product Line • Conceptual Model • Domain Engineering • Domain Model • Product Engineering (aka Application Engineering) • Product Engineering Environment • Decision Model • Commonality/Variability Analysis • System Composition Mapping • Application Modeling Language
“If I have seen farther than others it is because I have stood on the shoulders of giants.” -- Isaac Newton
“Everything should be as simple as possible, but no simpler.” -- Albert Einstein
Exercise 3: Scoping A Family Part 1 For the family you proposed in Exercise 1, define 3 commonalities and 3 variabilities Commonalities 1. 2. 3.
Exercise 3: Scoping A Family Part 1 (cont) For the family you proposed in Exercise 1, define 3 commonalities and 3 variabilities Variabilities 1. 2. 3.
Exercise 3: Scoping A Family Part 2 Review the Commonality/Variability Analysis for the FWS Issues:
Exercise 3: Scoping A Family Part 3 Propose one new commonality and (at least) one new variability for the FWS. Commonality: Variability:
FWS Commonalities The following statements are basic assumptions about the FWS domain, i.e., they are true of all FWS systems. Behavior C1. At fixed intervals, the FWS transmits messages containing an approximation of the current wind speed at its location. C2. The wind speed value transmitted is calculated as a weighted average of the sensor readings, calculated over several readings for each sensor. Devices C3. The FWS is equipped with one or more sensors that monitor wind speed. C4. The FWS is equipped with a radio transmitter that enables it to send messages. C5. Each sensor comes equipped with a software driver for it and a unique identifier. (See Appendix II for association of sensors and identifiers.) C6. Each sensor on board a FWS has a way of indicating its reliability.
FWS Variabilities The following statements describe how a FWS may vary. Behavior V1. The formula used for computing wind speed from the sensor readings may vary. In particular, the weights used for the high resolution and low resolution sensors may vary, and the number of readings of each sensor used (the history of the sensor) may vary. V2. The types of messages that an FWS sends may vary according to both content and format. There are currently only two types of messages, described in section 8., Appendix I. V3. The transmission period of messages from the FWS may vary. Devices V4. The number of wind speed sensors on a FWS may vary. V5. The resolution of the wind speed sensors may vary. V6. The sensor period of the sensors on a FWS may vary. V7. The wind speed sensor hardware on a FWS may vary. V8. The transmitter hardware on a FWS may vary. V9. The method used by sensors to indicate their reliability may vary.