Using Queries with Multi-Directional Functions for Numerical Database Applications

Object-oriented database management systems are often motivated by their support for new emerging application areas such as computer-aided design and analysis systems. The object-oriented data model is well suited for managing the data complexity and representation needs of such applications. We have built a system for finite element analysis using an object-relational database management system. Our application domain needs customized numerical data representations and an object-oriented data model extended with multi-methods where several arguments are used in type resolution. To efficiently process queries involving domain functions in this environment without having to copy data to the application, support is needed for queries calling multi-methods with any configuration of bound or unbound arguments, called multi-directional functions. We show how to model multi-directional functions views containing matrix algebra operators, how to process queries to these views, and how to execute these queries in presence of late binding.

[1]  Bruce G. Lindsay,et al.  Static type checking of multi-methods , 1991, OOPSLA '91.

[2]  Michael Stonebraker,et al.  Implementation of integrity constraints and views by query modification , 1975, SIGMOD '75.

[3]  Donald D. Chamberlin,et al.  Access Path Selection in a Relational Database Management System , 1989 .

[4]  Tore Risch,et al.  AMOS - An Architecture for Active Mediators , 1993, NGITS.

[5]  Yannis E. Ioannidis,et al.  Query optimization , 1996, CSUR.

[6]  Tore Risch,et al.  Main Memory Oriented Optimization of OO Queries Using Typed Datalog with Foreign Predicates , 1992, IEEE Trans. Knowl. Data Eng..

[7]  Goetz Graefe,et al.  Query evaluation techniques for large databases , 1993, CSUR.

[8]  Elisa Bertino,et al.  Object-Oriented Query Languages: The Notion and the Issues , 1992, IEEE Trans. Knowl. Data Eng..

[9]  Daniel G. Bobrow,et al.  CommonLoops: Merging Lisp and Object-Oriented Programming , 1986, OOPSLA.

[10]  S.-P. Scholz Elements of an object-oriented FEM++ program in C++ , 1992 .

[11]  Eric Amiel,et al.  Supporting Explicit Disambiguation of Multi-Methods , 1996, ECOOP.

[12]  David J. DeWitt,et al.  The Object-Oriented Database System Manifesto , 1994, Building an Object-Oriented Database System, The Story of O2.

[13]  Tore Risch,et al.  Processing Object-Oriented Queries with Invertible Late Bound Functions , 1995, VLDB.

[14]  Gary T. Leavens,et al.  Typechecking and Modules for Multimethods , 1995, ACM Trans. Program. Lang. Syst..

[15]  Tore Risch,et al.  Next Generation of O-O Database Techniques in Finite Element Analysis , 1996 .

[16]  R. G. G. Cattell,et al.  Object Data Management: Object-Oriented and Extended Relational Database Systems (Revised Edition) , 1991 .

[17]  Kjell Orsborn,et al.  Applying Next Generation Object-Oriented DBMS to Finite Element Analysis , 1994, ADB.

[18]  Wolfgang Klas,et al.  Efficient Dynamic Look-Up Strategy for Multi-Methods , 1994, ECOOP.

[19]  David W. Shipman,et al.  The functional data model and the data languages DAPLEX , 1981, TODS.

[20]  M. Tamer Özsu,et al.  Queries and query processing in object-oriented database systems , 1990, TOIS.

[21]  David W. Shipman The functional data model and the data language DAPLEX , 1979, SIGMOD '79.

[22]  Patricia G. Selinger,et al.  Access path selection in a relational database management system , 1979, SIGMOD '79.

[23]  Luca Cardelli,et al.  On understanding types, data abstraction, and polymorphism , 1985, CSUR.

[24]  Jay Banerjee,et al.  Queries in object-oriented databases , 1988, Proceedings. Fourth International Conference on Data Engineering.

[25]  Gene H. Golub,et al.  Matrix computations , 1983 .

[26]  George F. Luger,et al.  Object-Oriented Programming for Scientific Codes. II: Examples in C++ , 1992 .

[27]  GraefeGoetz Query evaluation techniques for large databases , 1993 .

[28]  James L. Arbuckle,et al.  Amos User''s Guide , 1995 .

[29]  Gary T. Leavens,et al.  Typechecking and modules for multi-methods , 1994, OOPSLA 1994.

[30]  Kjell Orsborn,et al.  On Extensible and Object-Relational Database Technology for Finite Element Analysis Applications , 1996 .

[31]  David Jordan,et al.  The Object Database Standard: ODMG 2.0 , 1997 .

[32]  Daniel G. Bobrow,et al.  CommonLoops: merging Lisp and object-oriented programming , 1986, OOPLSA '86.

[33]  Staffan Flodin,et al.  An Incremental Query Compiler with Resolution of Late Binding , 1994 .

[34]  Limsoon Wong,et al.  A query language for multidimensional arrays: design, implementation, and optimization techniques , 1996, SIGMOD '96.

[35]  AgrawalRakesh,et al.  Static type checking of multi-methods , 1991 .

[36]  David J. DeWitt,et al.  Algebraic support for complex objects with arrays, identity, and inheritance , 1991, SIGMOD '91.