Semi-strong Static Type Checking of Object-Oriented Query Languages

  • Michał Lentner
  • Krzysztof Stencel
  • Kazimierz Subieta
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3831)


We propose a new semi-strong approach to types and static type checking in object-oriented database query and programming languages. Many features of current object-oriented query/programming languages, such as naming, ellipses, automatic coercions and irregularities in data structures, cause that current formal strong type systems are irrelevant to practical situations. There is a need for semi-strong, but still efficient type checking. We treat types as syntactic qualifiers (signatures) attached to objects, procedures, modules and other data/program entities. In our approach a type inference system is based on decision tables involving signatures and producing type checking decisions. A type checker is based on data structures which statically model run-time structures and processes: a metabase, a static environment stack, a static result stack and a type inference decision tables. To discover several type errors in one run we use the mechanism for restoring the state of the type checker after a type error.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Alagic, S.: The ODMG Object Model: Does it Make Sense? In: Proc. OOPSLA Conf., pp. 253–270 (1997)Google Scholar
  2. 2.
    Atkinson, M., Buneman, P.: Types and Persistence in Database Programming Languages. ACM Computing Surveys 19(2), 105–190 (1987)CrossRefGoogle Scholar
  3. 3.
    Atkinson, M., Morrison, R.: Orthogonally Persistent Object Systems. The VLDB Journal 4(3), 319–401 (1995)CrossRefGoogle Scholar
  4. 4.
    Cousot, P., Cousot, R.: Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In: POPL, pp. 238–252 (1977)Google Scholar
  5. 5.
    Goldman, R., Widom, J.: DataGuides: Enabling Query Formulation and Optimization Semistructured Databases. In: 23rd International Conference on Very Large Data Bases, pp. 436–445 (1997)Google Scholar
  6. 6.
    Hryniów, R., Lentner, M., Stencel, K., Subieta, K.: Types and Type Checking in Stack-Based Query Languages. Institute of Computer Science PAS Report 984, Warszawa, 60 pages (March 2005), ISSN 0138-0648
  7. 7.
    Cattell, R.G.G., Barry, D.K., Berler, M., Eastman, J., Jordan, D., Russell, C., Schadow, O., Stanienda, T., Velez, F.: The Object Data Standard: ODMG 3.0. Morgan Kaufman, San Francisco (2000)Google Scholar
  8. 8.
    Fankhauser, P., Lehti, P.: XQuery by the Book - an Implementation Based on Rigid Formal Semantics,
  9. 9.
    Kahrs, S.: Polymorphic Type Checking by Interpretation of Code, LFCS report ECS-LFCS-92-238, University of Edinburgh, Laboratory for Foundations of Computer Science (1992)Google Scholar
  10. 10.
    Object Management Group: OMG CORBA/IIOPTM Specifications (2002),
  11. 11.
    Subieta, K.: Theory and Construction of Object Query Languages. Publishers of the Polish-Japanese Institute of Information Technology, 522 pages (2004) (in Polish)Google Scholar
  12. 12.
    Subieta, K., Kambayashi, Y., Leszczyłowsk, J.: Procedures in Object-Oriented Query Languages. In: Proc. of VLDB, pp. 182–193 (1995)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Michał Lentner
    • 1
  • Krzysztof Stencel
    • 2
  • Kazimierz Subieta
    • 3
    • 1
  1. 1.Polish-Japanese Institute of Information TechnologyWarsawPoland
  2. 2.Institute of InformaticsWarsaw UniversityWarsawPoland
  3. 3.Institute of Computer Science PASWarsawPoland

Personalised recommendations