MAP - mining architectures for product line evaluations

Product lines evolve out of existing products. In order to evaluate the potential of creating a product line from existing products, it is necessary to 'mine' their architectures and analyze the commonalities and variabilities across those architectures. To manage the evaluation process in a disciplined way the paper introduces the MAP (Mining Architectures for Product Lines) method. MAP outlines a bottom-up approach for mining the architecture of the existing products, a top-down approach to mapping architectural styles and attributes onto the mined architectures and an approach to analyzing their commonalities and variabilities. It combines well-known architecture reconstruction and product line analysis techniques. A case study is presented showing the application of the method and its benefits are outlined.

[1]  Alexander S. Yeh,et al.  Reverse Engineering to the Architectural Level , 1995, 1995 17th International Conference on Software Engineering.

[2]  Witold Pedrycz,et al.  Software Engineering: An Engineering Approach , 1999 .

[3]  Leonard J. Bass,et al.  Attribute-Based Architecture Styles , 1999, WICSA.

[4]  Alexander S. Yeh,et al.  Recognizers for extracting architectural features from source code , 1995, Proceedings of 2nd Working Conference on Reverse Engineering.

[5]  Rick Kazman,et al.  Experience with Performing Architecture Tradeoff Analysis Method , 1999, ICSE 1999.

[6]  Barbara Hayes-Roth,et al.  A Blackboard Architecture for Control , 1985, Artif. Intell..

[7]  Felix Bachmann,et al.  The Architecture Based Design Method , 2000 .

[8]  Hausi A. Müller,et al.  The Software Bookshelf , 1997, IBM Syst. J..

[9]  Mark Klein,et al.  Experience with performing architecture tradeoff analysis , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[10]  Richard C. Holt,et al.  Linux as a case study: its extracted software architecture , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[11]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.