BlackBox Component Builder explained

BlackBox Component Builder
Developer:Oberon microsystems AG[1]
BlackBox Framework Center[2]
Released:Oberon/F:
Df:yes -->
BlackBox:
Df:yes -->
Latest Release Version:1.7.2
Latest Release Date:[3]
Operating System:Windows, Wine
Programming Language:Component Pascal
Genre:Integrated development environment (IDE)
License:BSD 2-clause[4]

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.

Programming language

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 [[Assertion (software development)|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.

Function and components

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.

Platforms and versions

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]

External links

Notes and References

  1. Web site: Oberon microsystems AG . Oberon microsystems AG.
  2. Web site: BlackBox Framework Center . BlackBox Framework Center.
  3. Web site: Download BlackBox . BlackBox Framework Center.
  4. Web site: The 2-Clause BSD License . Open Source Initiative.
  5. Pountain . Dick . Szyperski . Clemens . Extensible Software Systems . . 19 . 5 . May 1994 . 57–62.
  6. Book: Szyperski, Clemens . 1999 . Component Software: Beyond Object-Oriented Programming . Addison Wesley . 33f, 96ff (Chap. 7) . 978-0321753021.
  7. Book: Szyperski . 2002 . Gruntz . Dominik & Murer, Stephan . Component Software: Beyond Object-Oriented Programming . Addison Wesley . 2nd . 40f, 109ff (Chap. 7) . 978-0321753021.
  8. Floyd, Paul: A Discussion of Oberon. EDM/2
  9. Pountain . Dick . May 1993 . Oberon: A Glimpse at the Future . . 18 . 5 . 111ff . Archive.org.
  10. Pountain . Dick . January 1995 . The Oberon/F System . . 20 . 1.
  11. Web site: Szyperski . Clemens . 19 April 1995 . Re: Information On Ethos . dead . https://web.archive.org/web/20131120222016/https://groups.google.com/forum/#!topic/comp.lang.oberon/M-y1bJwEYE8 . 20 November 2013 . 21 November 2013 . Google: comp.lang.oberon (usenet archive) . These are lines 796995 - 797151 extracted from the complete archive, see also: https://github.com/btreut/NN-ETHOS.
  12. PhD . Szyperski . Clemens . 1992 . Insight ETHOS: On Object-Orientation in Operating Systems . . Zurich, Switzerland . 3-7281-1948-2. ETHZ ecollection.
  13. Web site: Welcome! . . 2005–2021 . OberonCore . ru . 22 March 2021.
  14. Web site: Warford . J. Stanley . . Stan Warford . Computer Science Laboratory . . 22 March 2021.
  15. Book: Warford, J. Stanley . 11 December 2002 . Hug . Karlheinz . Computing Fundamentals: The Theory and Practice of Software Design with BlackBox Component Builder . Vieweg & Sohn . 978-3528058289 . 22 March 2021. (chapters) and (full book).
  16. Web site: Zinn . Helmut . 22 July 2020 . Component Pascal Collection . Component Pascal Collection . 22 March 2021.
  17. Web site: . 20 October 2020 . BlackBox Component Builder . Oberon.org . 22 March 2021.