Active Oberon

Active Oberon
ParadigmsImperative, structured, modular, object-oriented, concurrent
FamilyWirth Oberon
Designed byNiklaus Wirth, Jürg Gutknecht, Patrik Reali, A. Radenski
DeveloperETH Zurich
First appeared1998; 26 years ago (1998)
Typing disciplineStrong, hybrid (static and dynamic)
ScopeLexical
Implementation languageOberon
PlatformIA-32AMD64
Influenced by
Oberon, Object Oberon, Oberon-2

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). It is an extension of the programming language Oberon.[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). 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.[2] The operating system, especially the kernel, synchronizes and coordinates different active objects.

Active Oberon was renamed Active Object System (AOS) in 2002,[3] then due to trademark issues, renamed Bluebottle in 2005, and then renamed A2 in 2008.

An Active Oberon fork is the language Zonnon.

  1. ^ Gutknecht, Jürg (1997). Do the Fish Really Need Remote Control? A Proposal for Self-Active Objects in Oberon. Joint Modular Languages Conference (JMLC). pp. 207–220. CiteSeerX 10.1.1.45.1126.
  2. ^ Reali, Patrik (2003). Using Oberon's active objects for language interoperability and compilation (PhD). Swiss Federal Institute of Technology, Zürich (ETH Zurich).
  3. ^ Muller, Pieter Johannes (2002). The active object system design and multiprocessor implementation (PDF) (PhD). Swiss Federal Institute of Technology, Zürich (ETH Zurich).