Evolutionary migration of legacy systems to an object-based distributed environment

There is an increasing interest in migrating legacy systems to new hardware platforms and to new software development paradigms. High maintenance costs and lack of documentation are among the challenges facing software engineers who wish to migrate such systems. The increasing emphasis on distributed systems and on the object-oriented paradigm suggests that object-oriented, component-based, distributed systems will represent a significant portion of the next generation of software systems. We present a semiautomatic, evolutionary migration methodology for legacy systems which produces an object-based distributed system. We use ISA which is a design recovery and subsystem classification technique that produces a data-cohesive hierarchical subsystem decomposition of the subject system. We adapt the subsystems to the object-oriented paradigm. We wrap and define interfaces of the subsystems in order to define components. Components are allocated to multiple sites. Finally, middleware technologies for distributed systems are used to implement the communication between components. The approach is suitable for the evolutionary migration of legacy systems since each component can be reengineered separately.

[1]  Giuseppe A. Di Lucca,et al.  Migrating legacy systems towards object-oriented platforms , 1997, 1997 Proceedings International Conference on Software Maintenance.

[2]  Harry M. Sneed,et al.  A case study in software wrapping , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).

[3]  Malcolm Munro,et al.  Extracting reusable modules from legacy code: considering the issues of module granularity , 1996, Proceedings of WCRE '96: 4rd Working Conference on Reverse Engineering.

[4]  Keith H. Bennett,et al.  Legacy Systems: Coping with Success , 1995, IEEE Softw..

[5]  Aniello Cimitile,et al.  An experiment in identifying persistent objects in large systems , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).

[6]  Steven A. Demurjian,et al.  Software architectural specification for optimal object distribution , 1998, Proceedings SCCC'98. 18th International Conference of the Chilean Society of Computer Science (Cat. No.98EX212).

[7]  Malcolm Munro,et al.  Assisting human understanding to aid the targeting of necessary reengineering work , 1998, Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261).

[8]  Shamkant B. Navathe,et al.  Distribution Design of Logical Database Schemas , 1983, IEEE Transactions on Software Engineering.

[9]  Sandeep Purao,et al.  Effective distribution of object-oriented applications , 1998, CACM.

[10]  Marc D. Abrams,et al.  World Wide Web: beyond the basics , 1998 .

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

[12]  Doris L. Carver,et al.  Design recovery and data mining: a methodology that identifies data-cohesive subsystems based on mining association rules , 1999 .

[13]  Charlie Kindel,et al.  Distributed Component Object Model Protocol -- DCOM/1.0 , 1998 .

[14]  Doris L. Carver,et al.  Identification of data cohesive subsystems using data mining techniques , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).