Active Oberon

Active Oberon is a general purpose programming language developed during 1996-1998 by the group around Niklaus Wirth and Jürg Gutknecht at the Swiss Federal Institute of Technology in Zürich (ETH Zurich).

[1] The extensions aim at implementing active objects as expressions for parallelism.

Compared to its predecessors, Oberon and Oberon-2, Active Oberon adds objects (with object-centered access protection and local activity control), system-guarded assertions, preemptive priority scheduling and a changed syntax for methods (named type-bound procedures in Oberon vocabulary).

Unlike Java or C#, objects may be synchronized not only with signals but directly on conditions.

[2] The operating system, especially the kernel, synchronizes and coordinates different active objects.