Modelling inheritance in a strongly typed functional model

  • Jiří Zlatuška
Types For Databases
Part of the Lecture Notes in Computer Science book series (LNCS, volume 504)


When dealing with data models for information systems, distinctions of various kinds can be made among them based on particular criteria of classification. There seems to be a rather general consensus that the object-oriented data models fall within the class of procedural (non-declarative) data models. This is primarily due to the fact that the essential features of OO data models have been derived from the background of OO programming, while declarative models have been indentified with formalisms based on first-order predicate logic.

This paper presents an attempt to bridge the gap between object-orientedness and declarativeness based on a functional formalism enriched by a suitable type hierarchy and associated abstraction and injection operations. We will provide a formal basis for treating inheritance — both simple (ISA-hierarchies) and multiple — within a strongly typed model, together with clues for treating implementation of various data abstraction level schemas. This may provide an alternative way of looking at the semantics of inheritance as a natural modelling construct associated with the use of union types as opposed to the traditional way of describing the semantics of inheritance using record structures. Our approach to inheritance fits nicely into the functional apparatus that we introduced earlier elsewhere [ZLAT86], and within which first-order logic notation is in fact essentially expressed via the functional notation, hence providing for non-procedural logic-based data description even within a functional model.


Logic Programming Functional Model Database Schema Record Structure Semantic Schema 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [BARE81]
    H.P. Barendregt: Lambda-calculus. Its syntax and semantics. North-Holland, Amsterdam, 1981.Google Scholar
  2. [FZ89]
    O. Felix and J. Zlatuška: Mapping semantic data modelling constructs into their implementations, TR89-32, Dept. of Comp. and Info. Sci., Univ. of Delaware, 1989.Google Scholar
  3. [CARD84]
    L. Cardelli: A semantics of multiple inheritance. in: proc. Semantic of Data Types (Kahn and MacQueen, eds.), Springer LNCS 173, 1984, 51–67.Google Scholar
  4. [CDV88]
    M.J. Carey, D.J. DeWitt, and S.L. Vandenberg: A data model and query language for EXODUS. ACM PODS, 1988, 413–423.Google Scholar
  5. [GAND80]
    R.O. Gandy: Proofs of strong normalization. In: To H.B. Curry: Essays on Combinatory Logic, Lambda-Calculus and Formalism (Hindley and Seldin, eds.), Academic Press, London, 1980, 453–456.Google Scholar
  6. [GR83]
    A. Goldberg and D. Robson: Smalltalk-80. The language and its implementation. Addison-Wesley, 1983.Google Scholar
  7. [GM86]
    J. Goguen and J. Meseguer: EQLOG: Equality, types, and generic modules for logic programming, in: Logic programming. Functions, relations, and equations. (DeGroot and Lindstrom, eds.), Prentice-Hall, 1986, 295–363.Google Scholar
  8. [KW89]
    M. Kifer and J. Wu: A logic for object-oriented logic programming (Maier's O-logic revisited), ACM PODS, 1989, 379–393.Google Scholar
  9. [NIXO89]
    B.A. Nixon et al: Design of a compiler for a semantic data model. in: Foundations of Knowledge Base Management. (Schmidt and Thanos, eds.), Springer, 1989, 293–343.Google Scholar
  10. [ULLM88]
    J.D. Ullman: Principles of Database and Knowledge-Base Systems. Computer Science Press, Rockville, MD, Vol. 1, 1988, Vol. 2, 1989.Google Scholar
  11. [ZLAT85]
    J. Zlatuška: Normal forms in the typed lambda-calculus with tuple types. Kybernetika, Vol.21, No.5, 1985.Google Scholar
  12. [ZLAT86]
    J. Zlatuška: Data bases and the lambda-calculus. in: Proc. IFIP'86 World Computer Congress (Kügler, ed.), Dublin, 1986, pp.97–104.Google Scholar
  13. [ZLAT89]
    J. Zlatuška: Functional data modelling using lambda-calculus. TR University of Brno (Pisa lecture notes), October 1989.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • Jiří Zlatuška
    • 1
  1. 1.Institute of Computer ScienceUniversity of BrnoBrnoCzechoslovakia

Personalised recommendations