Открыть главное меню

BlackBox Component Builder

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 разработка приложений и их компонентов ведётся на Компонентном Паскале. Этот язык — наследник Паскаля, Модулы-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.

ЛитератураПравить

СсылкиПравить