Lightweight Transformation of Data Models from SQL Schemas to UML-ER

Data modeling is an essential part of the software development process, and together with application modeling forms the core of the model-driven approach to software engineering. While UML is considered the standard for application modeling, there is really no corresponding open standard for data modeling. In this paper, we propose an approach and a tool to help bridge the gap between application and data modeling based on source transformation technology. In this paper we introduce SQL2XMI, a tool that automatically transforms an SQL schema into a UML-ER model expressed in XML Meta Interchange (XMI) 2.1, which is specifically designed to support interchange of UML models. By bringing the data model to the UML world, our tool enables the manipulation and integration of both data and application models using the same UML-based tools in an interoperable way. While SQL2XMI was initially created to support our work in software comprehension, the approach we have used can be generalized to recover a rich UML-ER model from any SQL schema to any XMI 2.x format, and can easily be extended to support code engineering by automatically generating SQL schemas from an XMI 2.x file.

[1]  James R. Cordy,et al.  SQL2XMI: Reverse Engineering of UML-ER Diagrams from Relational Database Schemas , 2008, 2008 15th Working Conference on Reverse Engineering.

[2]  Sam Chung,et al.  Bridging the Gap between Data Models and Implementations: XMI2SQL , 2006, Advanced Int'l Conference on Telecommunications and Int'l Conference on Internet and Web Applications and Services (AICT-ICIW'06).

[3]  James R. Cordy,et al.  The TXL source transformation language , 2006, Sci. Comput. Program..

[4]  Indrakshi Ray,et al.  Relational database operations modeling with UML , 2005, 19th International Conference on Advanced Information Networking and Applications (AINA'05) Volume 1 (AINA papers).

[5]  Laurian M. Chirica,et al.  The entity-relationship model: toward a unified view of data , 1975, SIGF.

[6]  Giuseppe A. Di Lucca,et al.  Recovering class diagrams from data-intensive legacy systems , 2000, Proceedings 2000 International Conference on Software Maintenance.

[7]  Genny Tortora,et al.  Data Model Comprehension: An Empirical Comparison of ER and UML Class Diagrams , 2008, 2008 16th IEEE International Conference on Program Comprehension.

[8]  William C. Chu,et al.  Acquisition of Entity Relationship Models for Maintenance-Dealing with Data Intensive Programs in a Transformation System , 1999, J. Inf. Sci. Eng..

[9]  William J. Premerlani,et al.  An approach for reverse engineering of relational databases , 1993, [1993] Proceedings Working Conference on Reverse Engineering.

[10]  Charles W. Bachman,et al.  Data structure diagrams , 1969, DATB.

[11]  T. J. Teorey,et al.  A logical design methodology for relational databases using the extended entity-relationship model , 1986, CSUR.

[12]  Davor Gornik,et al.  UML Data Modeling Profile , 2002 .

[13]  Indrakshi Ray,et al.  Using UML to model relational database operations , 2007, Comput. Stand. Interfaces.

[14]  Robert J. Muller,et al.  Database Design for Smarties: Using UML for Data Modeling , 1999 .

[15]  Aniello Cimitile,et al.  Decomposing legacy systems into objects: an eclectic approach , 2001, Inf. Softw. Technol..

[16]  James R. Cordy,et al.  Schema translation using structural transformation , 1994, CASCON.