Dagstuhl-Seminar 9514
Object-Orientation with Parallelism and Persistence
( 03. Apr – 07. Apr, 1995 )
Permalink
Organisatoren
- B. Freitag
- C.B. Jones
- Ch. Lengauer
- H.-J. Schek
Kontakt
The seminar was devoted to the study of the object-oriented programming paradigm with a focus on parallelism. This topic is located in the intersection of two research areas: programming languages and databases. The next paragraphs sketch the role of object-orientation in both areas.
In programming languages, object orientation extends the concept of abstract datatypes as in the class concept of Simula. An abstract datatype joins a value domain with a set of operations that can be applied (exclusively) to values of the domain. Abstract data objects are declared statically and are protected from direct access by other program parts (encapsulation). The principle of object orientation is rooted in the desire to modify datatypes (through restriction or extension), or to construct new datatypes from existing ones. It suggests concepts like inheritance of properties (attributes) or operations (methods) and dynamic management, i.e., creation and destruction of objects at run time.
In databases, the persistence of objects (i.e., their existence across program runs) and the concurrent access of objects are of prime importance. Also in databases, entities of the real world are often modelled directly as objects. Since the identifiability of fixed objects by means of their state cannot be guaranteed for long time intervals, the concepts of object identity and object evolution play a more central role than in programming languages.
Inter- and intra-object parallelism have received an increasing amount of attention in the last years by researchers in the area of object-oriented programming; concurrency is also of great relevance to databases. At first glance, an object is very similar to a process which offers services to other processes and demands services from them. It has turned out, though, that object-oriented concepts cause problems when combined with parallelism. In databases, the combination of object orientation and parallelism requires a generalization of the transaction model.
The main goal of the seminar was to put the new research area “object orientation with parallelism” on an interdisciplinary basis from the outset. One prerequisite for a precise exchange of ideas is the use of formal models and methods.
The seminar provided a forum for the discussion of questions like:
- How can the concepts of object in programming languages and databases be unified? In what cases is a unification desirable?
- Several new models of dynamic parallelism have emerged in the area of programming languages (actors, concurrent rewriting, π-calculus, etc.). What is their relevance for relational and object-oriented databases?
- What is the relevance of newly developed correctness criteria in databases, like semantic or abstract serializability, for parallel programming and which logical concepts used in object bases can be incorporated into object-oriented programming languages?
- What transaction model is suitable for object-orientation with parallelism? How can the properties of a transaction be adapted flexibly to the semantics of the object types involved?
- What kind of technical problems arise when combining object orientation and parallelism and how can they be solved?
- What requirements do applications have on both areas?
The 32 participants of the workshop came from 8 countries: 13 from Germany, 15 from other European countries and 4 from the United States. The organizers would like to thank everyone who has helped to make this workshop a success.
- B. Freitag
- C.B. Jones
- Ch. Lengauer
- H.-J. Schek