The FOOM Method – Modeling Software Product Lines in Industrial Settings

This paper presents FOOM – Feature-based Object Oriented Modeling and its application to a family of sonar systems. FOOM is a synthesis of the FODA (Feature Oriented Domain Analysis) and Horseshoe models. The Unified Software Development Process (USP) is used as a template for describing the architectural transformation. FOOM focuses on identifying user-driven features throughout a product line’s architecture, organizing the architectural assets to lend them to substantial re-use, and instantiating multiple products from a single architecture. The paper introduces the notion of a feature class and feature listcontracts between the product line and products. The application of FOOM to sonar system is done systematically starting with the identification of a suitable base product, then architecture extraction is done; domain analysis is then carried out in order to identify the current and future members of the product family, and finally, product line architecture is developed.

[1]  Michel Coriat,et al.  The SPLIT method: building product lines for software-intensive systems , 2000 .

[2]  Andreas Hein,et al.  Applying feature models in industrial settings , 2000, SPLC.

[3]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[4]  Anneke Kleppe,et al.  The object constraint language: precise modeling with UML , 1998 .

[5]  Kyo Chul Kang,et al.  Domain-oriented engineering of elevator control software: a product line practice , 2000 .

[6]  Colin Atkinson,et al.  Component-based product line development: the KobrA Approach , 2000, SPLC.

[7]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[8]  Samuel Ajila,et al.  Software maintenance: An approach to impact analysis of objects change , 1995, Softw. Pract. Exp..

[9]  Ivar Jacobson,et al.  Software Reuse: Architecture, Process And Organization For Business Success , 1998, Proceedings. Technology of Object-Oriented Languages. TOOLS 26 (Cat. No.98EX176).

[10]  Jan Bosch,et al.  Design and use of software architectures - adopting and evolving a product-line approach , 2000 .

[11]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[12]  Bernd Bruegge,et al.  Object Oriented Software Engineering, Conquering Complex and Changing Systems , 2002 .

[13]  Wing Lam Change Analysis and Management in a Reuse-Oriented Software Development Setting , 1998, CAiSE.

[14]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .