Active Oberon
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
Paradigms | Imperative, structured, modular, object-oriented, concurrent |
---|---|
Family | Wirth Oberon |
Designed by | Niklaus Wirth, Jürg Gutknecht, Patrik Reali, A. Radenski |
Developer | ETH Zurich |
First appeared | 1998 |
Typing discipline | Strong, hybrid (static and dynamic) |
Scope | Lexical |
Implementation language | Oberon |
Platform | IA-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.
See also
[edit]References
[edit]- ^ 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.
- ^ Reali, Patrik (2003). Using Oberon's active objects for language interoperability and compilation (PhD). Swiss Federal Institute of Technology, Zürich (ETH Zurich).
- ^ Muller, Pieter Johannes (2002). The active object system design and multiprocessor implementation (PDF) (PhD). Swiss Federal Institute of Technology, Zürich (ETH Zurich).