Software Product-Line Engineering: A Family-Based Software Development Process

(Each chapter concludes with a Summary, Nomenclature Introduced, and Readings. Foreword. Preface. 1. Introduction: The Need for Families. The Dilemma of Careful Engineering and Rapid Production. Problems FAST Addresses. Applications of FAST. Benefits of FAST. What Can Readers Expect? 2. Family-Oriented Software Production. Basic Assumptions. FAST Strategies. Foundations for Engineering Families. The Role of Abstractions in Identifying and Designing Families. The Role of Information Hiding and Separation of Concerns. Predicting Change. Organizational Considerations. 3. AN EXAMPLE: FAST Applied to Commands and Reports. The Commands and Reports Family. Defining the C&R Family. Using the C&R Application Engineering Environment. The SPEC Language and Its Translators. Designing the Translators. 4. An Overview of FAST. The Structure of FAST. The Economics of FAST. Case 1: No Domain Engineering. Case 2: Domain Engineering. The Fundamental Law of Family Production. Risk Versus Automation. Application Engineering. Application Engineering Artifacts. Application Production Activities. Domain Engineering. Domain Engineering Artifacts. Domain Engineering Activities. Organizational Roles. Variability in the FAST Process. 5. AN EXAMPLE: The Floating Weather Station Family. The Floating Weather Station Family. Qualify the FWS Domain. Engineer the FWS Domain. Analyze the FWS Domain. Implement the FWS Domain. Addendum A: The Floating Weather Station Commonality Analysis. Introduction. Overview. Dictionary of Terms. Commonalities. Variabilities. Parameters of Variation. Issues. Message Formats. Sensor Driver Identifiers. Addendum B: The Floating Weather Station Module Guide. Behavior-Hiding Modules. Device Interface Modules. Software-Design-Hiding Modules. Issues. Addendum C: The Floating Weather Station Application Generation Environment. Family Member Generator. Addendum D: A Generated Floating Weather Station Family Member. Addendum E: The Floating Weather Station Environment Simulator. 6. Process Modeling. Motivations for Process Modeling. A PASTA Model as a Communications Medium. Elements of a PASTA Model. Process Activities as State Machines. Artifacts as State Machines. Prescribing the Order of Events. Prescribing a Methodology. The Role of Process Modeling in FAST. PASTA Abstractions Creating PASTA Process Models. The Process User's Concerns. PASTA Models as Used by Process Environment Developers. Process Measurement Using PASTA. Measuring a Process Model. Measuring Process Performance. 7. Representing a PASTA Model. Representations of PASTA Elements. PASTA Forms. Notational Considerations. Artifact Definition Form. A-State Machine Diagrams. Process State Definition Form. P-State Machines. Relation Definition Form. Role Definition Form. Operation Definition Form. Analysis Definition Form. 8. An Overview of the FAST PASTA Model. FAST Model Hierarchies. FAST Artifacts. Environment Artifacts. Application Artifacts. Change_Report. FAST Activities. Qualify_Domain Engineer_Domain. Implement_Domain. Engineer_Application. Manage_Project. Change_Family. FAST Roles. FAST Manager. Gluing the Elements Together: The State Transition Diagrams. Typical Questions Answered by the Model. First Steps in Applying the Model. Identifying Starting Activities and Roles. Other Scenarios. 9. Artifact Definitions. Family_Artifact. Environment. Domain_Model. Domain_Implementation. Application. Application_Model. Application_Documentation. Application_Code. Change_Report. 10. Activity Definitions. FAST. Qualify_Domain. Gather_Data. Analyze_Data. Reject. Accept. Engineer_Domain. Analyze_Domain. Implement_Domain. Engineer_Application. Model Application. Produce_Application. Delivery_And_Operation_Support. Manage_Project. Change_Family. Request_Family_Change. Evaluate_Implementation_Change. Evaluate_Domain_Change. Library_Activities Review_Internally. Review. Iterate_Or_Refine. 11. Role Definitions. Project_Manager. Domain_Manager. 12. FAST Analyses. Application_Engineering_Process_To_Decision_Trace_Analysis. Application_Engineering_Process_To_Tool_Trace_Analysis. Application_Engineering_Support_Analysis. Application_Modeling_Language_Editor_Assurance_Analysis. Application_Modeling_Language_Parser_Assurance_Analysis. Application_Modeling_Language_To_Family_Design_Trace_Analysis. Artifact_Implementation_Assurance_Analysis. Commonality_To_Module_Trace_Analysis. Composition_Mapping_To_Family_Design. Composition_Mapping_To_Language_Construct_Mapping_Analysis. Composition_Mapping_To_Module_Trace_Analysis. Customer_Satisfaction. Decision_To_Tool_Trace_Analysis. Defect_Analysis. Final_Product_Documentation_Assurance_Analysis. Final_Product_Validation_Analysis. Module_Documentation_Assurance_Analysis. Module_Implementation_Assurance_Analysis. Parameter_Of_Variation_To_Decision_Trace_Analysis. Parameter_Of_Variation_To_Language_Trace_Analysis. Parameter_Of_Variation_To_Module_Trace_Analysis. Progress_Analysis. Resource_Analysis. Risk_Analysis. Terminology_Analysis. Tool_Documentation_Assurance_Analysis. Tool_Implementation_Assurance_Analysis. Variability_To_Variation_Parameter_Trace_Analysis. Variation_Parameter_To_Variability_Trace_Analysis. 13. FAST Relations. Application_Model_Module. Commonality_Module. Composition_Mapping_AML. Decision_Process. Decision_Tool. Module_Document. Module_Implement. Parameter_Decision. Parameter_Module. Product_Document. Tool_Document. Tool_Implement Variability_Parameter. Patterns of Thought and Work. FAST and Reuse. FAST as a Multiparadigm Process. FAST and Object Orientation. Applicability of FAST. Finding Domains Where FAST Is Worth Applying. The Single-Customer, Single-Product-Family Situation. The Many-Customers, Single-Product-Family Situation. The Many-Customers, Many-Product-Families Situation. Applying FAST Incrementally. Patterns of a FAST Organization. Applying PASTA. Transitioning to a FAST Process. Glossary. Bibliography. Index. 0201694387T04062001