Ancestor Controlled Submodule Inclusion in Design Databases

A paradigm is proposed for representing hierarchically specified design data in CAD database systems in which there are alternate expansions of hierarchically specified modules. The paradigm uses an ancestor-based scheme to control which instances of submodules are to be placed in the expansion of each instance of a given module and is formalized using a versioned directed acyclic multigraph (VDAG). The approach is aimed at reducing storage space in engineering design database systems and at providing a means for designers to specify alternate expansions of a module. The VDAG model is defined, and a mechanism by which a VDAG generates an exploded forest of design trees is described. Algorithms are provided to generate a design forest from a given VDAG, determine whether one module is contained by a larger module, extract a version from a VDAG, test whether two VDAGs are equivalent, and try to reduce the size of a VDAG. The problems of module containment and VDAG inequivalence are shown to be NP-complete, and the problem of finding a minimum sized VDAG equivalent to a given VDAG is shown to be NP-hard. >

[1]  Stephen S. Yau,et al.  Knowledge Representation of Software Component Interconnection Information for Large-Scale Software Modifications , 1987, IEEE Transactions on Software Engineering.

[2]  Won Kim,et al.  Modeling concepts for VLSI CAD objects , 1985, TODS.

[3]  Daniel J. Rosenkrantz,et al.  Minimizing time-space cost for database version control , 1988, PODS '88.

[4]  K. Appel,et al.  Every planar map is four colorable. Part I: Discharging , 1977 .

[5]  Randy H. Katz A Database Approach for Managing VLSI Design Data , 1982, 19th Design Automation Conference.

[6]  Randy H. Katz A Database Approach for Managing VLSI Design Data , 1982, DAC 1982.

[7]  Daniel J. Rosenkrantz,et al.  Representability of design objects by ancestor-controlled hierarchical specifications , 1990, PODS '90.

[8]  Walt Scacchi,et al.  Maintaining Configurations of Evolving Software Systems , 1987, IEEE Transactions on Software Engineering.

[9]  Klaus R. Dittrich,et al.  Version Support for Engineering Database Systems , 1988, IEEE Trans. Software Eng..

[10]  David Gedye,et al.  Design Version Management , 1987, IEEE Design & Test of Computers.

[11]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[12]  Paul Heckel,et al.  A technique for isolating differences between files , 1978, CACM.

[13]  Walter F. Tichy,et al.  Rcs — a system for version control , 1985, Softw. Pract. Exp..

[14]  Marc J. Rochkind,et al.  The source code control system , 1975, IEEE Transactions on Software Engineering.

[15]  Robert E. Tarjan,et al.  Two linear-time algorithms for five-coloring a planar graph , 1980 .

[16]  Guy M. Lohman,et al.  Differential files: their application to the maintenance of large databases , 1976, TODS.

[17]  Christopher W. Fraser,et al.  An editor for revision control , 1987, TOPL.

[18]  Randy H. Katz,et al.  Database Support for Versions and Alternatives of Large Design Files , 1984, IEEE Transactions on Software Engineering.

[19]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .