Software:BlackBox Component Builder

From HandWiki
Short description: Software development tool
BlackBox Component Builder
BlackBox Component Builder.svg
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

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.

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

  1. 1.0 1.1 "Oberon microsystems AG". http://www.oberon.ch/. 
  2. 2.0 2.1 "BlackBox Framework Center". http://blackboxframework.org/. 
  3. "Download BlackBox". https://blackboxframework.org/index.php?cID=goto-download-page,en-us. 
  4. "The 2-Clause BSD License". https://opensource.org/licenses/BSD-2-Clause. 
  5. Pountain, Dick; Szyperski, Clemens (May 1994). "Extensible Software Systems". Byte 19 (5): 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. 
  8. Floyd, Paul: A Discussion of Oberon. EDM/2
  9. Pountain, Dick (May 1993). "Oberon: A Glimpse at the Future". Byte 18 (5): 111ff. https://archive.org/stream/BYTE-1993-05#page/n124/mode/1up. 
  10. Pountain, Dick (January 1995). "The Oberon/F System". Byte 20 (1). https://archive.org/details/eu_BYTE-1995-01_OCR/page/n266/mode/1up. 
  11. Szyperski, Clemens (19 April 1995). "Re: Information On Ethos". https://groups.google.com/forum/.  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. 13.0 13.1 "Welcome!" (in ru). 2005–2021. https://oberoncore.ru/. 
  14. Warford, J. Stanley. "Stan Warford". Pepperdine University. http://www.cslab.pepperdine.edu/warford/. 
  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. http://www.cslab.pepperdine.edu/warford/ComputingFundamentals/. Retrieved 22 March 2021.  (chapters) and (full book).
  16. 16.0 16.1 Zinn, Helmut (22 July 2020). "Component Pascal Collection". http://www.zinnamturm.eu/. 
  17. "BlackBox Component Builder". 20 October 2020. https://blackbox.oberon.org/. 

External links