BlackBox (среда разработки)

BlackBox Component Builder
Логотип программы BlackBox Component Builder
Скриншот программы BlackBox Component Builder
BlackBox Component Builder 1.6
Тип IDE
Разработчик Oberon microsystems AG
Написана на Компонентный Паскаль
Операционная система Windows, GNU/Linux, OpenBSD, FreeBSD
Аппаратная платформа Microsoft Windows
Последняя версия 1.7.2 (03 ноября 2019 года)
Читаемые форматы файлов Oberon/F Document[d], Oberon/F Symbol File[d] и Oberon/F Code File[d]
Создаваемые форматы файлов Oberon/F Document[d], Oberon/F Symbol File[d] и Oberon/F Code File[d]
Лицензия BSD 2-clause license
Сайт blackbox.oberon.org

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


Особенности[ | ]

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

История[ | ]

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

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

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

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

Блэкбокс в Ubuntu

Версии 1.5 и 1.6 BlackBox Component Builder поддерживали только ОС Windows. После того, как исходный этой среды разработки был полностью открыт, ряд энтузиастов предпринял усилия по её портированию. В настоящее время кросс-платформенная версия[9][10] реализована с использованием Gtk2 и поддерживает разработку консольных приложений, GUI-приложений и приложений с использованием SDL2 для GNU/Linux, FreeBSD, OpenBSD и Windows и архитектуры x86. Использование других архитектур пока возможно только с использованием промежуточной трансляции в C (проект CPfront) или LLVM (проект МультиОберон).

Примечания[ | ]

  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. Дата обращения: 24 января 2019. Архивировано 23 января 2019 года.
  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 Архивная копия от 6 мая 2016 на Wayback Machine
  4. Clemens Szyperski's post in c.l.o. Архивировано 15 февраля 2018 года.
  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. С мертв Архивная копия от 12 августа 2013 на Wayback Machine / xakер, 2007.
  7. Подробнее о применениях BlackBox Component Builder. Дата обращения: 22 августа 2012. Архивировано 26 января 2012 года.
  8. Portos/JBed — OberonCore. Дата обращения: 22 октября 2013. Архивировано 23 октября 2013 года.
  9. BlackBox Cross-Platform. Дата обращения: 30 мая 2020. Архивировано 15 августа 2020 года.
  10. Проект BlackBox Cross-Platform на GitHub. Дата обращения: 13 февраля 2018. Архивировано 13 июня 2018 года.

Литература[ | ]

Ссылки[ | ]