Developing tools for reverse engineering in a software product-line architecture

Software reuse should be engineered as early as possible in the software development life cycle. The earlier reusability considerations are put into software development, the larger the payoff can be obtained from reuse. Today, many organizations recognize that an architecture represent a significant investment of both time and effort of its design expertise. The organizations want to maximize this investment by reusing architecture on multiple systems. There are two settings in which architectures can be reused: within an organization and across organizations. This paper describes our work in creating and evolving product-line architecture for a family of software systems within an organization. The approach is illustrated with an industrial example of a commercial tool for reverse engineering. This paper also presents the problems with the solutions in reusing architecture in an industrial setting.

[1]  David Lorge Parnas,et al.  Information Distribution Aspects of Design Methodology , 1971, IFIP Congress.

[2]  T. Biggerstaff,et al.  Reusability Framework, Assessment, and Directions , 1987, IEEE Software.

[3]  James H. Cross,et al.  Reverse engineering and design recovery: a taxonomy , 1990, IEEE Software.

[4]  W. Richard Stevens,et al.  Unix network programming , 1990, CCRV.

[5]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[6]  Harry M. Sneed Encapsulating legacy software for use in client/server systems , 1996, Proceedings of WCRE '96: 4rd Working Conference on Reverse Engineering.

[7]  Jim Wilson,et al.  Applying Software Product-Line Architecture , 1997, Computer.

[8]  Harry M. Sneed Encapsulation of legacy software: A technique for reusing legacy software components , 2000, Ann. Softw. Eng..

[9]  Dirk Muthig,et al.  PuLSE-I: Deriving instances from a product line infrastructure , 2000, Proceedings Seventh IEEE International Conference and Workshop on the Engineering of Computer-Based Systems (ECBS 2000).

[10]  Chia-Chu Chiang Wrapping legacy systems for use in heterogeneous computing environments , 2001, Inf. Softw. Technol..

[11]  Klaus Schmid,et al.  Developing, validating and evolving an approach to product line benefit and risk assessment , 2002, Proceedings. 28th Euromicro Conference.

[12]  Ari Jaaksi,et al.  Developing Mobile Browsers in a Product Line , 2002, IEEE Softw..

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

[14]  Laurence J. Coleman Is Consensus on a Definition in the Field Possible, Desirable, Necessary?. , 2004 .