JUCS - Journal of Universal Computer Science 5(4): 243-286, doi: 10.3217/jucs-005-04-0243
Automatic Data Restructuring
expand article infoSeymour Ginsburg, Dan Simovici§
‡ Computer Science Department, University of Southern California, Los Angeles, California, United States of America§ University of Massachusetts Boston, Boston, United States of America
Open Access
Abstract
Data restructuring is often an integral but non-trivial part of information processing, especially when the data structures are fairly complicated. This paper describes the underpinnings of a program, called the Restructurer, that relieves the user of the "thinking and coding" process normally associated with writing procedural programs for data restructuring. The process is accomplished by the Restructurer in two stages. In the first, the differences in the input and output data structures are recognized and the applicability of various transformation rules analyzed. The result is a plan for mapping the specified input to the desired output. In the second stage, the plan is executed using embedded knowledge about both the target language and run-time efficiency considerations. The emphasis of this paper is on the planning stage. The restructuring operations and the mapping strategies are informally described and explained with mathematical formalism. The notion of solution of a set of instantiated forms with respect to an output form is then introduced. Finally, it is shown that such a solution exists if and only if the Restructurer produces one.
Keywords
non-first normal form databases, data restructuring, instantiated forms, hierarchical structures, solution of a set of instantiated forms