Automatic high-quality reengineering of database programs by abstraction, transformation and reimplementation

被引:14
作者
Cohen, Y [1 ]
Feldman, YA
机构
[1] Tel Aviv Univ, Sch Comp Sci, IL-69978 Tel Aviv, Israel
[2] Efi Arazi Sch Comp Sci, Interdisciplinary Ctr, IL-46150 Herzliyya, Israel
关键词
database program reengineering; the plan calculus; query graphs; temporal abstraction;
D O I
10.1145/958961.958962
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Old-generation database models, such as the indexed-sequential, hierarchical, or network models, provide record-level access to their data, with all application logic residing in the hosting program. In contrast, relational databases can perform complex operations, such as filter, aggregation, and join, on multiple records without an external specification of the record-access logic. Programs written for relational databases attempt to move as much of the application logic as possible into the database, in order to make the most of-the optimizations performed internally by the database. This conceptual gap between the programming styles makes automatic high-quality translation of programs written for the older database models to the relational model difficult. It is not enough to convert just the database-access operations, since this would result in unacceptably inefficient programs. It is necessary to convert parts of the application logic from the procedural style of the hosting program (which is almost always Cobol) to the declarative style of SQL. This article describes an automatic system, called MIDAS, that performs high-quality reengineering of legacy database programs in this way. MIDAS is based on the paradigm of translation by abstraction, transformation, and reimplementation. The abstract representation is based on the Plan Calculus, with the addition of Query Graphs, introduced in this article in order to abstract the temporal behavior of database access patterns. The results of MIDAS's translation were found to be superior to those of the naive translation that only converts database-access operations in terms of readability, size of code, speed, and network data traffic. Initial industrial experience with MIDAS also demonstrates the high quality of its translations on large-scale programs.
引用
收藏
页码:285 / 316
页数:32
相关论文
共 24 条
[1]  
[Anonymous], READINGS ARTIFICIAL
[2]   INVESTIGATING REVERSE ENGINEERING TECHNOLOGIES FOR THE CAS PROGRAM UNDERSTANDING PROJECT [J].
BUSS, E ;
DEMORI, R ;
GENTLEMAN, WM ;
HENSHAW, J ;
JOHNSON, H ;
KONTOGIANNIS, K ;
MERLO, E ;
MULLER, HA ;
MYLOPOULOS, J ;
PAUL, S ;
PRAKASH, A ;
STANLEY, M ;
TILLEY, SR ;
TROSTER, J ;
WONG, K .
IBM SYSTEMS JOURNAL, 1994, 33 (03) :477-500
[3]   Data reverse engineering: A historical survey [J].
Davis, KH ;
Aiken, PH .
SEVENTH WORKING CONFERENCE ON REVERSE ENGINEERING - PROCEEDINGS, 2000, :70-78
[4]  
FAUST G, 1981, 256 MIT LAB COMP SCI
[5]   Portability by automatic translation: A large-scale case study [J].
Feldman, YA ;
Friedman, DA .
ARTIFICIAL INTELLIGENCE, 1999, 107 (01) :1-28
[6]   DATA CONVERSION RULES FROM NETWORK TO RELATIONAL DATABASES [J].
FONG, J ;
BLOOR, C .
INFORMATION AND SOFTWARE TECHNOLOGY, 1994, 36 (03) :141-153
[7]   METHODOLOGY FOR SCHEMA TRANSLATION FROM HIERARCHICAL OR NETWORK INTO RELATIONAL [J].
FONG, JSP .
INFORMATION AND SOFTWARE TECHNOLOGY, 1992, 34 (03) :159-174
[8]   PHYSICAL DESIGN EQUIVALENCIES IN DATABASE CONVERSION [J].
GILLENSON, ML .
COMMUNICATIONS OF THE ACM, 1990, 33 (08) :120-131
[9]  
Griswold W. G., 1993, ACM Transactions on Software Engineering and Methodology, V2, P228, DOI 10.1145/152388.152389
[10]  
HENRARD J, 1998, P 9 INT C DAT EXP SY, P70