Extending the Oberon System for Database Programming

J. Supcik, N. Wirth, M. Norrie

Institute for Computer Systems
ETH Zentrum
CH-8092 Zürich

The Oberon system is being extended to support database application programming, though without changing the Oberon language definition. The main aim of this project is to show that Oberon enables a harmonious integration of a programming language, an operating system and a data management system. This extension of the system consists of two main parts: the provision of a persistent store supporting the evolution of persistent data and a library of constructs for the management of interrelated collections of objects. Persistence is orthogonal to type in that every Oberon object can be made persistent. The internal representation of these objects is adapted to permit the property of persistence independence: the system knows how to store each object correctly, and programs need not specify this themselves. Objects may also evolve by changing type or accumulating versions. Database functionality centres on a model of collections and constraints over collections. Collections of various behaviour, e.g. set, bag and list, can be supported and additionally there are special relation collections to represent semantic associations between objects. Collections can have multiple physical representations and these can change; in this way, we support the notion of physical data independence. An optimizing query language based on an algebra over collections will be supported.
E-mail: supcik@inf.ethz.ch, norrie@inf.ethz.ch.
Index terms: Oberon, Database programming language, Object data management, Persistent object stores.
Project in collaboration with the database system research group.

[ CS-Department | Institut for Computer Systems | Group ]

ETH Zürich: Department of Computer Science
Comments to Jacques Supcik <supcik@inf.ethz.ch>
May 7, 1997