Jump to content

BlackBox Component Builder

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Treutwein (talk | contribs) at 15:18, 7 October 2020 (added note about user interface creation). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

BlackBox Component Builder
Developer(s)Oberon microsystems AG BlackBox Framework Center
Stable release
1.7.2 / November 3, 2019; 5 years ago (2019-11-03)[1]
Written inComponent Pascal
Operating systemWindows, wine
TypeIntegrated development environment (IDE)
LicenseBSD 2-clause license
Websiteblackboxframework.org

BlackBox Component Builder is an integrated development environment (IDE) optimized for component-based software development[2] developed by a small spin-off ETH-Zürich company (Oberon microsystems AG) 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.

In BlackBox, the development of applications and their components is done in Component Pascal. This language is a descendant of Pascal, Modula-2, and Oberon. Component Pascal is a strongly typed, compiled language that supports both modular and object-oriented programming as well as 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 entire BlackBox Component Builder is written in Component Pascal: all library components, all development tools including the Component Pascal compiler, and even the low-level run-time system with its garbage collector.

As its name implies, BlackBox Component Builder supports blackbox abstractions and reuse as opposed to whitebox as defined in Szyperski′s book.[3][4] In 1993 it was marketed primarily as Oberon/F[5][6][7] and was renamed to BlackBox Component Builder with Release 1.3 end of the 1990s. BlackBox Component Builder went open source with the Release of beta version 1.5 in December 2004. According to a posting[8] of Clemens Szyperski on Usenet news Oberon/F and in turn BlackBox Component Builder is a reimplementation of ETHOS a fully object oriented version of the Oberon System implemented for his PhD thesis.[9] BlackBox Component Builder 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: You can define the basic user interface by exporting interacting variables and procedures from a module and create an editable document representing the user interface by creating a so called Form. This is based on a Model-View-Controller (MVC) abstraction. In the beginning BlackBox Component Builder was dual-platform (Apple Mac and Microsoft Windows) with other platforms planned. After Steve Jobs' return to Apple and the death of OpenDoc, Oberon microsystems dropped the support for Apple with Release 1.3.3 around 2001. The Linux version never made it to a public release, 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. As of Summer 2017 a group in Russia is working on the Linux version which is available in pre-alpha state from their Russian site OberonCore.

In 2002 Professor Stanley Warford[10] published a book about learning computing fundamentals via the BlackBox Component Builder framework. In 2014 he has placed the complete text under a Creative Commons license.[11]

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

Center version by BlackBox Framework Center.[12]

Center version by Component Pascal Collection.[13]

Core version by Component Pascal Collection.[14]

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

Other versions could be found in OberonCore Russian pages. [16]

References

  1. ^ Download BlackBox
  2. ^ Pountain, Dick & Szyperski, Clemens: Extensible Software Systems. BYTE 19(5), May 1994, pp. 57-62.
  3. ^ Szyperski, Clemens. Component Software. Addison Wesley, 1999, p. 33f and Chap.7 (p. 96ff) ISBN 0-201-17888-5
  4. ^ Szyperski, Clemens, Gruntz, Dominik & Murer, Stephan. Component Software. Beyond Object Oriented Programming.. Addison Wesley, 2nd Ed., 2002, p. 40f and Chap.7 (p. 109ff) ISBN 0-201-74572-0
  5. ^ Floyd, Paul: A Discussion of Oberon. EDM/2
  6. ^ Pountain, Dick: Oberon: A Glimpse at the Future, BYTE 18(5), 111ff, May 1993. Archive.org
  7. ^ Pountain, Dick: The Oberon/F System, BYTE 20(1), Jan. 1995.
  8. ^ Szyperski, Clemens. https://groups.google.com/forum/#!topic/comp.lang.oberon/M-y1bJwEYE8
  9. ^ Szyperski, Clemens. Insight ETHOS: On Object-Orientation in Operating Systems. vdf Hochschulverlag AG an der ETH Zürich, Zurich, Switzerland, ISBN 3-7281-1948-2, 1992, ETHZ ecollection.
  10. ^ Warford, Stanley, home page: http://www.cslab.pepperdine.edu/warford/
  11. ^ Warford, Stanley. Computing Fundamentals. The Theory and Practice of Software Design with BlackBox Component Builder, 2002: http://www.cslab.pepperdine.edu/warford/ComputingFundamentals/ (Chapters) and http://blackboxframework.org/books/warford_2002.pdf (complete book)
  12. ^ http://blackboxframework.org/index.php?cID=goto-download-page,en-us
  13. ^ http://www.zinnamturm.eu/pac/BlackBox-1909-center.7z
  14. ^ http://www.zinnamturm.eu/pac/BlackBox-1909-core.7z
  15. ^ https://blackbox.oberon.org/download
  16. ^ https://oberoncore.ru/blackbox/environment