A Study of Semantics, Types and Languages for Databases and Object-Oriented Programming

Loading...
Thumbnail Image
Penn collection
Technical Reports (CIS)
Degree type
Discipline
Subject
Funder
Grant number
License
Copyright date
Distributor
Related resources
Author
Ohori, Atsushi
Contributor
Abstract

The purpose of this thesis is to investigate a type system for databases and object-oriented programming and to design a statically typed programming language for these applications. Such a language should ideally have a static type system that supports: polymorphism and static type inference, rich data structures and operations to represent various data models for databases including the relational model and more recent complex object models, central features of object-oriented programming including user definable class hierarchies, multiple inheritance, and data abstraction, the notion of extents and object-identities for object-oriented databases. Without a proper formalism, it is not obvious that the construction of such a type system is possible. This thesis attempts to construct one such formalism and proposes a programming language that uniformly integrate all of the above features. The specific contributions of this thesis include: A simple semantics for ML polymorphism and axiomatization of the equational theory of ML. A uniform generalization of the relational model to arbitrary complex database objects that are constructed by labeled records, labeled variants, finite sets and recursive definition. A framework for semantics of types for complex database objects. The notion of conditional typing schemes that extends Milner's typing scheme for ML to a wide range of complex structures and operations. A formulation of the notion of classes and inheritance in an ML style static type system. The notion of views that enable us to represent object-oriented databases in an ML style static type system. A proposal of a polymorphic programming language, Machiavelli, for databases and object-oriented programming with static type inference. In addition to the above technical contributions, a prototype implementation of Machiavelli that embodies most of the features presented in this thesis has been done in Standard ML of New Jersey.

Advisor
Date Range for Data Collection (Start Date)
Date Range for Data Collection (End Date)
Digital Object Identifier
Series name and number
Publication date
1989-10-01
Volume number
Issue number
Publisher
Publisher DOI
Journal Issue
Comments
University of Pennsylvania Department of Computer and Information Science Technical Report No. MS-CIS-89-60.
Recommended citation
Collection