BlackBox Component Builder

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
BlackBox Component Builder
BlackBox Component Builder.svg
BlackBoxComponentBuilder16rc6.png
BlackBox Component Builder 1.6
Тип IDE
Разработчик Oberon microsystems AG
Написана на Компонентный Паскаль
Операционная система Windows, экспериментальная поддержка unix-подобных систем с Gtk
Последняя версия 1.7.1(12 декабря 2017 года)
Лицензия BSD 2-clause license
Сайт blackboxframework.org

BlackBox Component Builder — интегрированная среда разработки, предназначенная для разработки компонентно-ориентированного программного обеспечения. Содержит средства разработки, библиотеки повторно используемых компонентов, каркас, упрощающий разработку надёжных компонентов и приложений, а также среду исполнения компонентов.

Особенности[править | править код]

В BlackBox разработка приложений и их компонентов ведётся на Компонентном Паскале. Этот язык — наследник Паскаля, Модулы-2, Оберона и Оберона-2. Он обеспечивает такие современные средства как объекты, компоненты (в виде модулей), полный статический и динамический контроль типов (в том числе через границы компонентов), динамическую загрузку и выгрузку компонентов, а также сборку мусора. BlackBox Component Builder написан целиком на Компонентном Паскале (с вставками двоичных машинных команд в некоторых модулях самого низкого уровня): все библиотечные компоненты, все средства разработки, включая компилятор Компонентного Паскаля и даже такой низкоуровневый компонент, как система выполнения со сборщиком мусора.

История[править | править код]

BlackBox Component Builder был начат под названием Oberon/F в 1993 году[1][2]. Дизайн компонентного фреймворка BBCB основанм на идеях Клеменса Шиперски (Clemens Szyperski), ставших темой его диссертации[3][4]. Вышедшая в конце 1990-х годов версия 1.3 получила уже нынешнее название, в честь описанной Шиперски абстракции «чёрного ящика», программного компонента, при использовании которого не нужно знать его внутреннее устройство[5]. Вышедшая в середине 2004 года версия 1.5 была опубликована с открытым исходным кодом на условиях, близких к BSD License. Последней версией от Oberon Microsystems, стала версия 1.6, опубликованная 11 октября 2013 года. Однако разработка BBCB была продолжена сообществом, и 13 сентября 2016 года была выпущена версия 1.7.

Примеры использования[править | править код]

«Благодаря сочетанию эффективности, автоматического управления памятью и лёгкости создания специальной интерактивной графики Блэкбокс оказался весьма привлекательным для сложных научных расчетов синтетического характера („умные“ численные алгоритмы, символическая алгебра большого объёма, системы обработки данных и моделирования). Например, на Блэкбоксе создано ПО для расчета бортовых фазированных решеток истребителя Eurofighter (полный объём ПО — около миллиона строк). На Блэкбоксе сделана система управления крупнейшего каскада ГЭС на Амазонке (корпорация Alstom Power), а также целый ряд других приложений, в том числе для экспериментальной и теоретической ядерной физики[6][7] На BlackBox разработана промышленная ОС реального времени — JBed (англ.) компании Esmertec (дочерняя компания разработчика Блэкбокса Oberon microsystems), которая позволяет выполнять модули Component Pascal и классы Java в едином адресном пространстве, с общим диспетчером памяти и сборщиком мусора[8].

Поддержка GNU/Linux, FreeBSD и OpenBSD[править | править код]

Скриншот сборки BlackBox Component Builder Freenux под управлением Ubuntu

Изначально BlackBox Component Builder не поддерживал Linux и другие unix-подобные операционные системы, однако после того, как исходный код этой среды разработки был полностью открыт, ряд энтузиастов предпринял усилия по её портированию. Наиболее актуальной сборкой Блэкбокса для GNU/Linux, FreeBSD и OpenBSD является BlackBox Cross-Platform[9][10]. Сборка в настоящее время имеет статус альфы. Однако она уже поддерживает не только разработку консольных приложений, но и создание GUI-программ под управлением Gtk2. Одним из таких приложений является и сама среда BlackBox Cross-Platform. От оригинального BlackBox Component Builder её отличает отсутствие поддержки в Gtk MDI. Как и оригинальный Блэкбокс, BlackBox Cross-Platform поддерживает пока только архитектуру x86.

Примечания[править | править код]

  1. D. Pountain. The Oberon/F System // BYTE. — 1995. — Январь (№ 20 (1)).
  2. Paul Floyd. A Discussion of Oberon. The Electronic Developer Magazine for OS/2.
  3. Szyperski, Clemens. Insight ETHOS: On Object Orientation in Operating Systems. PhD thesis: Swiss Federal Institute of Technology (ETH Zurich), Dissertation No 9884. vdf Hochschulverlag AG an der ETH Zürich, Zurich, Switzerland, ISBN 3-7281-1948-2, 1992, PDF in ETHZ E-Collection
  4. Clemens Szyperski's post in c.l.o.
  5. Szyperski, Clemens. 1.4 The nature of software and deployable entities, Ch. 7 Object versus class composition or how to avoid inheritance // Component Software: Beyond Object-Oriented Programming. — 2 ed.. — Addison-Wesley Professional, 2002. — P. 40, 109. — (Component Software). — ISBN 0-201-67520-X.
  6. С мертв / xakер, 2007.
  7. Подробнее о применениях BlackBox Component Builder
  8. Portos/JBed — OberonCore
  9. BlackBox Cross-Platform
  10. Проект BlackBox Cross-Platform на GitHub.

Литература[править | править код]

Ссылки[править | править код]