Active Oberon

From Wikipedia, the free encyclopedia

Active Oberon
Oberon programming language logo.svg
ParadigmsImperative, structured, modular, object-oriented, concurrent
FamilyWirth Oberon
Designed byNiklaus Wirth, Jürg Gutknecht, Patrik Reali, A. Radenski
DeveloperETH Zurich
First appeared1998; 23 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. The operating system named Active Object System (AOS) in 2002,[2] then due to trademark issues, renamed Bluebottle in 2005, and then renamed A2 in 2008, especially the kernel, synchronizes and coordinates different active objects.

Unlike Java or C#, objects may be synchronized not only with signals but directly on conditions. This simplifies concurrent programs and their development.

An Active Oberon fork is the language Zonnon.

See also[]

References[]

  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. ^ Muller, Pieter Johannes (2002). The active object system design and multiprocessor implementation (PDF) (PhD). Swiss Federal Institute of Technology, Zürich (ETH Zurich).

External links[]

Retrieved from ""