BlackBox Component Builder

BlackBox Component Builder is an integrated development environment (IDE) optimized for component-based software development[5] developed by a small spin-off company, Oberon microsystems AG,[1] of ETH Zurich in Switzerland. The IDE consists of development tools, a library of reusable components, a framework that simplifies developing robust custom components and applications, and a run-time environment for components.

BlackBox Component Builder
Developer(s)Oberon microsystems AG[1]
BlackBox Framework Center[2]
Initial releaseOberon/F: 1993; 31 years ago (1993)
BlackBox: 1999; 25 years ago (1999)
Stable release
1.7.2 / 3 November 2019; 4 years ago (2019-11-03)[3]
Written inComponent Pascal
Operating systemWindows, Wine
TypeIntegrated development environment (IDE)
LicenseBSD 2-clause[4]
Websiteblackboxframework.org

In BlackBox, developing applications and their components is done in the language Component Pascal, a descendant of Pascal, Modula-2, and Oberon. Component Pascal is a strongly typed, compiled language that supports modular and object-oriented programming and Eiffel-like pre- and post-condition testing using ASSERT statements. It provides full type safety, components (in the form of modules), dynamic linking of components, and automatic garbage collection 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.[6][7] In 1993, it was released as Oberon/F[8][9][10] (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[11] of Clemens Szyperski on Usenet news Oberon/F and in turn BlackBox Component Builder is a re-implementation of ETHOS, which was completely object-oriented version of the Oberon System, which he had implemented for his PhD thesis.[12]

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 subsystem Master). Similar to most BASIC dialects and Oberon implementations source code files are binary documents. They may contain embedded active elements (see below) and formatting.

BlackBox uses a document centered approach (as all versions of the Oberon System), which is very similar to OpenDoc. It features active elements like buttons, embedded documents, folds, drop down lists, and many more in documents and a fascinating way to create user interfaces (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 editor. This approach is based on a model–view–controller (MVC) abstraction. At its start, BlackBox supported two platforms (Apple Mac, Microsoft Windows) with others planned. After Steve Jobs returned to Apple and abandoned OpenDoc, Oberon microsystems ended support for Apple Mac with release 1.3.3 around 2001. The Linux version was never released publicly by Oberon microsystems, although OpenBUGS a software package for the Bayesian analysis of complex statistical models using Markov chain Monte Carlo (MCMC) methods based its Linux version on it. The group around the OberonCore website in Russia has published the Linux version, and it is available on their Russian language website[13] and on Github.

In 2002, Pepperdine University professor Stanley Warford[14] published a book that teaches computing fundamentals via BlackBox. In 2014, he placed the full text under a Creative Commons license.[15]

There are at least four principal versions for MS Windows and at least one for Linux:

Center version at BlackBox Framework Center.[2]

Center version at Component Pascal Collection.[16]

Core version at Component Pascal Collection.[16]

BlackBox Oberon for MS Windows, and for Linux by A. Shiryaev, I. Denisov, I. Dehtyarenko, A. Dmitriev.[17]

Other versions are on the OberonCore Russian website.[13]

References edit

  1. ^ a b "Oberon microsystems AG". Oberon microsystems AG.
  2. ^ a b "BlackBox Framework Center". BlackBox Framework Center.
  3. ^ "Download BlackBox". BlackBox Framework Center.
  4. ^ "The 2-Clause BSD License". Open Source Initiative.
  5. ^ Pountain, Dick; Szyperski, Clemens (May 1994). "Extensible Software Systems". Byte. Vol. 19, no. 5. pp. 57–62.
  6. ^ Szyperski, Clemens (1999). Component Software: Beyond Object-Oriented Programming. Addison Wesley. pp. 33f, 96ff (Chap. 7). ISBN 978-0321753021.
  7. ^ Szyperski, Clemens; Gruntz, Dominik & Murer, Stephan (2002). Component Software: Beyond Object-Oriented Programming (2nd ed.). Addison Wesley. pp. 40f, 109ff (Chap. 7). ISBN 978-0321753021.{{cite book}}: CS1 maint: multiple names: authors list (link)
  8. ^ Floyd, Paul: A Discussion of Oberon. EDM/2
  9. ^ Pountain, Dick (May 1993). "Oberon: A Glimpse at the Future". Byte. Vol. 18, no. 5. p. 111ff – via Archive.org.
  10. ^ Pountain, Dick (January 1995). "The Oberon/F System". Byte. Vol. 20, no. 1.
  11. ^ Szyperski, Clemens (19 April 1995). "Re: Information On Ethos". Google: comp.lang.oberon (usenet archive). Archived from the original on 20 November 2013. Retrieved 21 November 2013. These are lines 796995 - 797151 extracted from the complete archive, see also: https://github.com/btreut/NN-ETHOS.
  12. ^ Szyperski, Clemens (1992). Insight ETHOS: On Object-Orientation in Operating Systems (PhD). Zurich, Switzerland: ETH Zürich. ISBN 3-7281-1948-2. ETHZ ecollection.
  13. ^ a b "Welcome!". OberonCore (in Russian). 2005–2021. Retrieved 22 March 2021.
  14. ^ Warford, J. Stanley. "Stan Warford". Computer Science Laboratory. Pepperdine University. Retrieved 22 March 2021.
  15. ^ Warford, J. Stanley (11 December 2002). Hug, Karlheinz (ed.). Computing Fundamentals: The Theory and Practice of Software Design with BlackBox Component Builder. Vieweg & Sohn. ISBN 978-3528058289. Retrieved 22 March 2021. (chapters) and (full book).
  16. ^ a b Zinn, Helmut (22 July 2020). "Component Pascal Collection". Component Pascal Collection. Retrieved 22 March 2021.
  17. ^ "BlackBox Component Builder". Oberon.org. 20 October 2020. Retrieved 22 March 2021.

External links edit