BlackBox Component Builder is an
integrated development environment
An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools a ...
(IDE) optimized for component-based software development developed by a small spin-off company, Oberon microsystems AG,
of
ETH Zurich
(colloquially)
, former_name = eidgenössische polytechnische Schule
, image = ETHZ.JPG
, image_size =
, established =
, type = Public
, budget = CHF 1.896 billion (2021)
, rector = Günther Dissertori
, president = Joël Mesot
, a ...
in Switzerland. The IDE consists of development tools, a
library
A library is a collection of materials, books or media that are accessible for use and not just for display purposes. A library provides physical (hard copies) or digital access (soft copies) materials, and may be a physical location or a vi ...
of reusable components, a framework that simplifies developing robust custom components and applications, and a run-time environment for components.
In BlackBox, developing applications and their components is done in the language
Component Pascal
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 ...
, a descendant of
Pascal
Pascal, Pascal's or PASCAL may refer to:
People and fictional characters
* Pascal (given name), including a list of people with the name
* Pascal (surname), including a list of people and fictional characters with the name
** Blaise Pascal, Frenc ...
,
Modula-2
Modula-2 is a structured, procedural programming language developed between 1977 and 1985/8 by Niklaus Wirth at ETH Zurich. It was created as the language for the operating system and application software of the Lilith personal workstation. It w ...
, and
Oberon
Oberon () is a king of the fairies in medieval and Renaissance literature. He is best known as a character in William Shakespeare's play ''A Midsummer Night's Dream'', in which he is King of the Fairies and spouse of Titania, Queen of the Fair ...
. Component Pascal is a strongly typed, compiled language that supports modular and
object-oriented programming
Object-oriented programming (OOP) is a programming paradigm based on the concept of " objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of ...
and
Eiffel
Eiffel may refer to:
Places
* Eiffel Peak, a summit in Alberta, Canada
* Champ de Mars – Tour Eiffel station, Paris, France; a transit station
Structures
* Eiffel Tower, in Paris, France, designed by Gustave Eiffel
* Eiffel Bridge, Ungheni, ...
-like pre- and post-condition testing using
ASSERT
Assertion or assert may refer to:
Computing
* Assertion (software development), a computer programming technique
* assert.h, a header file in the standard library of the C programming language
* Assertion definition language, a specification lan ...
statements. It provides full type safety, components (in the form of modules), dynamic linking of components, and automatic
garbage collection
Waste collection is a part of the process of waste management. It is the transfer of solid waste from the point of use and disposal to the point of treatment or landfill. Waste collection also includes the curbside collection of recyclable ...
to preserve memory integrity. The whole BlackBox system is written in Component Pascal and is available as source code: all library components, all development tools, including the Component Pascal compiler, and the low-level
runtime system with its garbage collector.
As its name implies, BlackBox Component Builder supports ''blackbox'' abstractions and reuse, in contrast to ''whitebox'', as defined in the book ''Component Software'' by Szyperski. In 1993, it hit the market under the name Oberon/F (for Oberon Framework) and was renamed to BlackBox Component Builder with release 1.3 end of the 1990s. In December 2004, BlackBox went open source with the release of beta version 1.5. According to a posting of Clemens Szyperski on
Usenet news
Usenet () is a worldwide distributed discussion system available on computers. It was developed from the general-purpose Unix-to-Unix Copy (UUCP) dial-up network architecture. Tom Truscott and Jim Ellis conceived the idea in 1979, and it was ...
Oberon/F and in turn BlackBox Component Builder is a re-implementation of ETHOS, which was completely object-oriented version of the
Oberon System
The Oberon System is a modular, single-user, single-process, multitasking operating system written in the programming language Oberon. It was originally developed in the late 1980s at ETH Zurich. The Oberon System has an unconventional visual t ...
, which he had implemented for his PhD thesis.
As an
IDE it is a quite puristic environment without syntax highlighting and code completion. Some of these tools can be integrated from the community platforms (see external links below, e.g. syntax highlighting can be found in subsyste
Master. Similar to most
BASIC
BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
dialects and
Oberon
Oberon () is a king of the fairies in medieval and Renaissance literature. He is best known as a character in William Shakespeare's play ''A Midsummer Night's Dream'', in which he is King of the Fairies and spouse of Titania, Queen of the Fair ...
implementations source code files are binary documents with embeddeed active elements(see below).
BlackBox uses a document centered approach (as all versions of the Oberon System), which is very similar to
OpenDoc
OpenDoc is a defunct multi-platform software componentry framework standard created by Apple in the 1990s for compound documents, intended as an alternative to Microsoft's proprietary Object Linking and Embedding (OLE). It is one of Apple's ea ...
. It features active elements like buttons, embedded documents, folds, drop down lists, and many more in documents and a fascinating way to create
user interface
In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine f ...
s (UIs): define the basic UI by exporting interacting
variables and procedures from a module, and let the IDE create a draft document representing the UI in a so-called
Form
, which can be edited in the
WYSIWYG
In computing, WYSIWYG ( ), an acronym for What You See Is What You Get, is a system in which editing software allows content to be edited in a form that resembles its appearance when printed or displayed as a finished product, such as a printed d ...
editor. This approach is based on a
model–view–controller
Model–view–controller (MVC) is a software architectural pattern commonly used for developing user interfaces that divide the related program logic into three interconnected elements. This is done to separate internal representations of infor ...
(MVC) abstraction. At its start, BlackBox supported two platforms (Apple Mac, Microsoft Windows) with others planned. After
Steve Jobs
Steven Paul Jobs (February 24, 1955 – October 5, 2011) was an American entrepreneur, industrial designer, media proprietor, and investor. He was the co-founder, chairman, and CEO of Apple; the chairman and majority shareholder of Pixar; ...
returned to Apple and abandoned OpenDoc, Oberon microsystems ended support for Apple Mac with release 1.3.3 around 2001. The
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
version was never released publicly by Oberon microsystems, although
OpenBUGS
OpenBUGS is a software application for the Bayesian analysis of complex statistical models using Markov chain Monte Carlo (MCMC) methods. OpenBUGS is the open source variant of WinBUGS ( Bayesian inference Using Gibbs Sampling). It runs unde ...
a software package for the
Bayesian analysis
Bayesian inference is a method of statistical inference in which Bayes' theorem is used to update the probability for a hypothesis as more evidence or information becomes available. Bayesian inference is an important technique in statistics, and ...
of
complex
Complex commonly refers to:
* Complexity, the behaviour of a system whose components interact in multiple ways so possible interactions are difficult to describe
** Complex system, a system composed of many components which may interact with each ...
statistical model
A statistical model is a mathematical model that embodies a set of statistical assumptions concerning the generation of sample data (and similar data from a larger population). A statistical model represents, often in considerably idealized form, ...
s using
Markov chain Monte Carlo
In statistics, Markov chain Monte Carlo (MCMC) methods comprise a class of algorithms for sampling from a probability distribution. By constructing a Markov chain that has the desired distribution as its equilibrium distribution, one can obtain ...
(MCMC) methods based its Linux version on it. The group around th
OberonCorewebsite in
Russia
Russia (, , ), or the Russian Federation, is a transcontinental country spanning Eastern Europe and Northern Asia. It is the largest country in the world, with its internationally recognised territory covering , and encompassing one-eigh ...
has published the Linux version, and it is available on their
Russian language website
and o
Github
In 2002,
Pepperdine University
Pepperdine University () is a private research university affiliated with the Churches of Christ with its main campus in Los Angeles County, California. Pepperdine's main campus consists of 830 acres (340 ha) overlooking the Pacific Ocean and ...
professor Stanley Warford
published a book that teaches computing fundamentals via BlackBox. In 2014, he placed the full text under a
Creative Commons license
A Creative Commons (CC) license is one of several public copyright licenses that enable the free distribution of an otherwise copyrighted "work".A "work" is any creative material made by a person. A painting, a graphic, a book, a song/lyric ...
.
[ (chapters) and]
full book
.
There are at least four principal versions for MS Windows and at least one for Linux:
Center version at BlackBox Framework Center.
Center version at Component Pascal Collection.
Core version at Component Pascal Collection.
BlackBox Oberon for MS Windows, and for Linux by A. Shiryaev, I. Denisov, I. Dehtyarenko, A. Dmitriev.
Other versions are on the OberonCore Russian website.
References
External links
*
Download BlackBox Component BuilderBlackBox Component Builder Community forumsTools and Utilities for BlackBoxA community site with open source modules for different purposes.
oberoncore.ruA Russian community site dedicated to the BlackBox Component Framework and the language Oberon
fro
Oberon microsystems AGInternational Center for BlackBox Component Builder developmentOberon in the Real World by Josef Templ. An example of the use of Blackbox Component Builder, former name Oberon/F.
{{Modula, Oberon
Free integrated development environments
Integrated development environments
Software using the BSD license