Bluebottle OS

Last updated

A2
Developer ETH Zurich
OS familyA2
Working stateCurrent
Source model Open source
Repository OOjs UI icon edit-ltr-progressive.svg
Platforms IA-32, x86-64, ARM, Cell
License BSD-like ETH A2 License [1]
Official website http://www.ocp.inf.ethz.ch/

Bluebottle (formerly known as Active Object System, AOS, and more recently as A2) is a modular, object-oriented operating system. Originally developed at ETH Zurich, it has some unconventional features, including automatic, garbage-collected memory management and a zooming user interface.

Contents

History

A2 is the next generation of Native Oberon, the x86 PC version of Niklaus Wirth's Oberon operating system. [2] [3] [4] It is small, fast, supports multiprocessor computers, and provides soft real-time operation. It is entirely written in an upward-compatible dialect of the Oberon programming language called Active Oberon. Oberon and Active Oberon are members of the Pascal family, along with Modula-2.

A2's design allows the development of efficient systems based on active objects which run directly on the hardware. These active objects represent a combination of the traditional OOPS notion of an object combined with a thread that executes in the context of that object. In the Active Oberon implementation, the active object may include, in addition to its own activity, the activity of its ancestor objects.

Other differences between A2 and more mainstream operating systems is an extremely minimalistic design, completely implemented in a type-safe language with automatic memory management, combined with a powerful and flexible set of primitives (at the level of programming language and runtime system) for synchronisation of access to the internal properties of objects in competing execution contexts.

Above the kernel layer, A2 provides a flexible collection of modules providing unified abstractions for devices and services, such as file systems, user interfaces, network connections, media codecs, etc.

User interface

Bluebottle OS replaces the older Oberon OS's unique TUI with a zooming user interface or ZUI, which is significantly more like conventional graphical user interfaces. Like Oberon, though, its user interface supports a "point-and-click" metaphor to execute commands directly from text, similar to clicking hyperlinks in a browser.

See also

Related Research Articles

Niklaus Wirth

Niklaus Emil Wirth is a Swiss computer scientist. He has designed several programming languages, including Pascal, and pioneered several classic topics in software engineering. In 1984, he won the Turing Award, generally recognized as the highest distinction in computer science, for developing a sequence of innovative computer languages.

Oberon (programming language)

Oberon is a general-purpose programming language first published in 1987 by Niklaus Wirth and the latest member of the Wirthian family of ALGOL-like languages. Oberon was the result of a concentrated effort to increase the power of Modula-2, the direct successor of Pascal, and simultaneously to reduce its complexity. Its principal new feature is the concept of type extension of record types. It permits constructing new data types on the basis of existing ones and to relate them, deviating from the dogma of strictly static typing of data. Type extension is Wirth's way of inheritance reflecting the viewpoint of the parent site. Oberon was developed as part of the implementation of an operating system, also named Oberon at ETH Zurich in Switzerland. The name is from the moon of the planet Uranus, named Oberon.

Pascal (programming language) Programming language

Pascal is an imperative and procedural programming language, designed by Niklaus Wirth as a small, efficient language intended to encourage good programming practices using structured programming and data structuring. It is named in honour of the French mathematician, philosopher and physicist Blaise Pascal.

Cocoa is Apple's native object-oriented application programming interface (API) for its desktop operating system macOS.

Oberon (operating system)

The Oberon System is a modular, single-user, single-process, multitasking operating system written in the programming language of the same name. It was originally developed in the late 1980s at ETH Zürich. The Oberon System has an unconventional visual text user interface instead of a conventional CLI or GUI. This "TUI" was very innovative in its time and influenced the design of the Acme text editor for the Plan 9 from Bell Labs operating system.

Component Pascal is a programming language in the tradition of Niklaus Wirth's Pascal, Modula-2, Oberon and Oberon-2. It bears the name of the language Pascal and preserves its heritage, but is incompatible with Pascal. Instead, it is a minor variant and refinement of Oberon-2 with a more expressive type system and built-in string support. Component Pascal was originally named Oberon/L, and was designed and supported by a small ETH Zürich spin-off company named Oberon microsystems. They developed an integrated development environment (IDE) named BlackBox Component Builder. Since 2014, development and support has been taken over by a small group of volunteers. The first version of the IDE was released in 1994, as Oberon/F. At the time, it presented a novel approach to graphical user interface (GUI) construction based on editable forms, where fields and command buttons are linked to exported variables and executable procedures. This approach bears some similarity to the code-behind way used in Microsoft's .NET 3.0 to access code in Extensible Application Markup Language (XAML), which was released in 2008.

Lilith (computer)

The DISER Lilith is a custom built workstation computer based on the AMD 2901 bit-slice processor, created by a group led by Niklaus Wirth at ETH Zürich. The project started in 1977 and by 1984 several hundred workstations were in use. It had a high resolution full page display, a mouse, a laser printer interface, and a network interface. Its software was written completely in Modula-2 and included a relational database program called Lidas.

Zooming user interface

In computing, a zooming user interface or zoomable user interface is a graphical environment where users can change the scale of the viewed area in order to see more detail or less, and browse through different documents. A ZUI is a type of graphical user interface (GUI). Information elements appear directly on an infinite virtual desktop, instead of in windows. Users can pan across the virtual surface in two dimensions and zoom into objects of interest. For example, as you zoom into a text object it may be represented as a small dot, then a thumbnail of a page of text, then a full-sized page and finally a magnified view of the page.

Oberon-2

Oberon-2 is an extension of the original Oberon programming language that adds limited reflection and object-oriented programming facilities, open arrays as pointer base types, read-only field export and reintroduces the FOR loop from Modula-2.

Text-based user interface Type of interface based on outputting to or controlling a text display

In computing, text-based user interfaces (TUI), is a retronym describing a type of user interface (UI) common as an early form of human–computer interaction, before the advent of graphical user interfaces (GUIs). Like GUIs, they may use the entire screen area and accept mouse and other inputs. They may also use color and often structure the display using special graphical characters such as ┌ and ╣, referred to in Unicode as the "box drawing" set. The modern context of use is usually a terminal emulator.

Wirth's law is an adage on computer performance which states that software is getting slower more rapidly than hardware is becoming faster.

BOOPSI is an object-oriented programming system for AmigaOS. It extends the AmigaOS windowing environment (Intuition) with an object-oriented subsystem allowing a hierarchy of object classes in which every class defines a single GUI widget or interface event.

<i>Algorithms + Data Structures = Programs</i>

Algorithms + Data Structures = Programs is a 1976 book written by Niklaus Wirth covering some of the fundamental topics of computer programming, particularly that algorithms and data structures are inherently related. For example, if one has a sorted list one will use a search algorithm optimal for sorted lists.

BlackBox Component Builder Software development tool

BlackBox Component Builder is an integrated development environment (IDE) optimized for component-based software development developed by a small spin-off ETH-Zürich company in Switzerland. The IDE consists of development tools, a library of reusable components, a framework that simplifies the development of robust custom components and applications, and a run-time environment for components.

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. The operating system A2, renamed Bluebottle OS, especially the kernel, synchronizes and coordinates different active objects.

The Ceres Workstation was a computer built by Niklaus Wirth's group around 1985. Ceres was a workstation based on the NS320xx a CPU by National Semiconductor. Ceres was a follow-up project to the Lilith, a machine based on AMD bit-slice technology and the programming language Modula-2. The operating system of Ceres, called "The Oberon System" was completely written in the programming language Oberon. It is an early example of an object oriented operating system utilizing garbage collection on the system level and a document centered approach for the user interface, as envisaged later with OpenDoc.

Modula-2 is a structured, procedural programming language developed between 1977 and 1985 by Niklaus Wirth at ETH Zurich. It was created as the language for the operating system (OS) and application software of the Lilith personal workstation. It was later used for programming outside the context of the Lilith.

Heinz Rutishauser was a Swiss mathematician and a pioneer of modern numerical mathematics and computer science.

Jürg Gutknecht is a Swiss computer scientist. He developed, with Niklaus Wirth, the programming language Oberon and the corresponding operating system Oberon.

Zonnon is a general purpose programming language in the line or family of the preceding languages Pascal, Modula, and Oberon. Jürg Gutknecht is the author.

References

  1. "License". Archived from the original on 2012-08-07. Retrieved 2014-01-07.
  2. Wirth, Niklaus; Gutknecht, Jürg (September 1989). "The Oberon System". Software: Practice and Experience. 19 (9): 857–893. doi:10.1002/spe.4380190905.
  3. Reiser, Martin (1992). The Oberon System: User Guide and Programmer's Manual. Addison-Wesley. ISBN   0-201-54422-9.
  4. Wirth, Niklaus; Gutknecht, Jürg (1992). Project Oberon - The Design of an Operating System and Compiler. Addison-Wesley. ISBN   0-201-54428-8.. Out of print. Electronic Reprint.