Varlet: Human-Centered Tool Support for Database Reengineering

Software evolution and maintenance problems might be caused by all kinds of ne w or changed requirements. However, McCabe [McC98] has identified a number of requirements, which are currently of special importance because they are responsible for significant mass changes in today’s business software. Among these central requirements are the Year-2000 problem [Mar97a], the Euro-conversion problem [Gro98], and the ability to compete on a global, electronic mark et. The primary concern of all these requirements is the issue of ho w b usiness data should adequately be represented in softw are systems. The addressed problems range from simple questions, e.g., for the number of digits that are necessary to represent a date (Y ear-2000 problem), up to complex architectural decisions, e.g., ho w to federate data maintained by diverse (formerly autonomous) information systems and integrate these systems with the Web to facilitate electronic commerce. If a legacy software system (LSS) has to be adapted to one of these requirements, a conceptual documentation of its data structure (DS) is thus often a necessary prerequisite to achie ve the maintenance goal. Moreover, a conceptual DS is an excellent starting point for the migration to modern programming languages, as the y are usually data-oriented [GK93]. This is because the conceptual DS reflects major b usiness rules but is fairly independent from procedural application code.

[1]  J. H. Jahnke,et al.  Design recovery of legacy database applications based on possibilistic reasoning , 1998, 1998 IEEE International Conference on Fuzzy Systems Proceedings. IEEE World Congress on Computational Intelligence (Cat. No.98CH36228).

[2]  Vincent Englebert,et al.  Program Understanding in Databases Reverse Engineering , 1998, DEXA.

[3]  Gail E. Kaiser,et al.  Incremental process support for code reengineering , 1994, Proceedings 1994 International Conference on Software Maintenance.

[4]  Wilhelm Schäfer,et al.  Generic fuzzy reasoning nets as a basis for reverse engineering relational database applications , 1997, ESEC '97/FSE-5.

[5]  James R. Cordy,et al.  Information capacity preserving of relational schemas using structural transformation , 1995 .

[6]  David Notkin,et al.  Software reflexion models: bridging the gap between source and high-level models , 1995, SIGSOFT FSE.

[7]  Jens H. Weber,et al.  Integration of analysis and redesign activities in information system reengineering , 1999, Proceedings of the Third European Conference on Software Maintenance and Reengineering (Cat. No. PR00090).

[8]  Robert A. Martin Dealing with Dates: Solutions for the Year 2000 , 1997, Computer.

[9]  Richard C. Holt Structural manipulations of software architecture using Tarski relational algebra , 1998, Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261).

[10]  Stefan Kramer,et al.  Integrating Forward and Reverse Object-Oriented Software Engineering , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[11]  Stan Jarzabek,et al.  The case for user-centered CASE tools , 1998, CACM.

[12]  William G. Griswold,et al.  The design of whole-program analysis tools , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[13]  Vincent Englebert,et al.  Understanding Implementations of IS-A Relations , 1996, ER.

[14]  Harald C. Gall,et al.  Capsule Oriented Reverse Engineering for Software Reuse , 1993, ESEC.

[15]  Jacques Cohen,et al.  A Language for Specifying Program Transformations , 1990, IEEE Trans. Software Eng..

[16]  Wilhelm Schäfer,et al.  Concepts and implementation of a rule-based process engine/sup +/ , 1992, International Conference on Software Engineering.

[17]  Oreste Signore,et al.  Reconstruction of ER Schema from Database Applications: a Cognitive Approach , 1994, ER.

[18]  J. H. Jahnke,et al.  Adaptive tool support for database reverse engineering , 1999, 18th International Conference of the North American Fuzzy Information Processing Society - NAFIPS (Cat. No.99TH8397).

[19]  Manfred A. Jeusfeld,et al.  An Executable Meta Model for Re-Engineering of Database Schemas , 1994, ER.

[20]  Gail C. Murphy,et al.  Conceptual module querying for software reengineering , 1998, Proceedings of the 20th International Conference on Software Engineering.

[21]  Linda M. Wills,et al.  Using Attributed Flow Graph Parsing to Recognize Programs , 1994 .

[22]  Chris Verhoef,et al.  Native patterns , 1998, Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261).

[23]  Daniel Aebi,et al.  Methods and Tools for Data Value Re-Engineering , 1994, ADB.

[24]  Liam O'Brien,et al.  FEPSS: a flexible and extensible program comprehension support system , 1998, Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261).

[25]  William J. Premerlani,et al.  Observed idiosyncracies of relational database designs , 1995, Proceedings of 2nd Working Conference on Reverse Engineering.

[26]  Carl G. Looney,et al.  Fuzzy Petri nets for rule-based decisionmaking , 1988, IEEE Trans. Syst. Man Cybern..

[27]  Jürgen Ebert,et al.  Program comprehension in multi-language systems , 1998, Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261).

[28]  H. Prade,et al.  Possibilistic logic , 1994 .

[29]  Julia E. Hodges,et al.  Extraction of object-oriented structures from existing relational databases , 1997, SGMD.

[30]  Albert Zündorf,et al.  Applying graph transformations to database re-engineering , 1999 .

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

[32]  Atul Prakash,et al.  A Framework for Source Code Search Using Program Patterns , 1994, IEEE Trans. Software Eng..

[33]  Jörg P. Wadsack,et al.  Human-Centered Reverse Engineering Environments should support Human Reasoning , 1999 .

[34]  David Notkin,et al.  Lightweight source model extraction , 1995, SIGSOFT '95.

[35]  Hausi A. Müller,et al.  Programmable Reverse Engineering , 1994, Int. J. Softw. Eng. Knowl. Eng..

[36]  Peter H. Aiken,et al.  Data Reverse Engineering : Slaying the Legacy Dragon , 1995 .

[37]  Thomas W. Reps,et al.  Speeding up slicing , 1994, SIGSOFT '94.

[38]  Manfred A. Jeusfeld,et al.  An Executable Meta Model for Re-Engineering of Database Schemas , 1994, Int. J. Cooperative Inf. Syst..

[39]  P. Klint,et al.  Reverse engineering and system renovation—an annotated bibliography , 1997, SOEN.

[40]  Albert Zündorf,et al.  Rewriting poor Design Patterns by good Design Patterns , 1997 .

[41]  Grzegorz Rozenberg,et al.  Handbook of Graph Grammars and Computing by Graph Transformations, Volume 1: Foundations , 1997 .

[42]  Hausi A. Müller,et al.  Manipulating and documenting software structures using SHriMP views , 1995, Proceedings of International Conference on Software Maintenance.

[43]  Joseph Fong,et al.  Converting relational to object-oriented databases , 1997, SGMD.

[44]  Hausi A. Müller,et al.  A cognitive framework for describing and evaluating software exploration tools , 1998 .

[45]  Lawrence Markosian,et al.  Using an enabling technology to reengineer legacy systems , 1994, CACM.

[46]  Hausi A. Müller,et al.  Understanding Software Systems Using Reverse Engineering Technology , 1994, COODBSE.

[47]  Gottfried Vossen,et al.  Transforming Relational Database Schemas into Object-Oriented Schemas according to ODMG-93 , 1995, DOOD.