Active Objects in Oberon: Unification of Objects and Processes

Prof. Jurg Gutknecht (Dept. of Computer Science, ETH-Zurich, Switzerland)

Based on the language Oberon, we propose a unified framework for concurrent, object-oriented programming. Inspired by simulation, the idea is to regard objects as processes in contrast with the more common approach that treats processes as objects. Our "active" objects are expressed syntactically by upgraded record types. A simple passivation mechanism based on assertions in combination with smart runtime support is all we need for process synchronization. Currently, an implementation of a compiler, a corresponding runtime kernel and a non-blocking local server exists for native Intel architectures.