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. It is an extension of the programming language Oberon. The extensions aim at implementing active objects as expressions for parallelism. Compared to its predecessors, Oberon and Oberon-2, Active Oberon adds objects, system-guarded assertions, preemptive priority scheduling and a changed syntax for methods. Objects may be active, which means that they may be threads or processes. Unlike Java or C#, objects may be synchronized not only with signals but directly on conditions. This simplifies concurrent programs and their development.
As it is tradition in the Oberon world, the Active Oberon language compiler is implemented in Active Oberon. The operating system, especially the kernel, synchronizes and coordinates different active objects.
Active Oberon was renamed Active Object System in 2002, then due to trademark issues, renamed Bluebottle in 2005, and then renamed A2 in 2008.
An Active Oberon fork is the language Zonnon.