BlackBox Component Builder
BlackBox Component Builder | |||
---|---|---|---|
![]() | |||
![]() BlackBox Component Builder 1.6 | |||
Тип | IDE | ||
Разработчик | Oberon microsystems AG | ||
Написана на | Компонентный Паскаль | ||
Операционные системы | Windows, GNU/Linux, OpenBSD, FreeBSD | ||
Аппаратная платформа | Windows | ||
Последняя версия | 1.7.2 (3 ноября 2019 года) | ||
| |||
| |||
Лицензия | 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
[править | править код]![](http://upload.wikimedia.org/wikipedia/commons/thumb/1/14/Bb-ubuntu.png/220px-Bb-ubuntu.png)
Версии 1.5 и 1.6 BlackBox Component Builder поддерживали только ОС Windows. После того, как исходный код этой среды разработки был полностью открыт, ряд энтузиастов предпринял усилия по её портированию. В настоящее время кросс-платформенная версия[9][10] реализована с использованием Gtk2 и поддерживает разработку консольных приложений, GUI-приложений и приложений с использованием SDL2 для GNU/Linux, FreeBSD, OpenBSD и Windows и архитектуры x86. Использование других архитектур пока возможно только с использованием промежуточной трансляции в C (проект CPfront) или LLVM (проект МультиОберон).
Примечания
[править | править код]- ↑ D. Pountain. The Oberon/F System // BYTE. — 1995. — Январь (№ 20 (1)).
- ↑ Paul Floyd. A Discussion of Oberon . The Electronic Developer Magazine for OS/2. Дата обращения: 24 января 2019. Архивировано 23 января 2019 года.
- ↑ 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
- ↑ Clemens Szyperski's post in c.l.o. Архивировано 22 января 2011 года.
- ↑ 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.
- ↑ С мертв Архивная копия от 12 августа 2013 на Wayback Machine / xakер, 2007.
- ↑ Подробнее о применениях BlackBox Component Builder . Дата обращения: 22 августа 2012. Архивировано 26 января 2012 года.
- ↑ Portos/JBed — OberonCore . Дата обращения: 22 октября 2013. Архивировано 23 октября 2013 года.
- ↑ BlackBox Cross-Platform . Дата обращения: 30 мая 2020. Архивировано 15 августа 2020 года.
- ↑ Проект BlackBox Cross-Platform на GitHub . Дата обращения: 13 февраля 2018. Архивировано 13 июня 2018 года.
Литература
[править | править код]- J. Stanley Warford. Computing Fundamentals: The Theory and Practice of Software Design with BlackBox Component Builder. — Springer Science+Business Media, 2013. — 615 с. — ISBN 9783322916037.
- J. Stanley Warford. Programming with BlackBox (англ.) (2Мб)
- Brett S.Hallett. Developing Programs with BlackBox Oberon (англ.) (1,5 Мб)
Ссылки
[править | править код]- Актуальная кросс-платформенная версия BlackBox Component Builder
- Международный центр развития BlackBox Component Builder
- BlackBox 1.6 на сайте Oberon Microsystems
- Оберон технологии в России, русскоязычная поддержка, документация, компоненты…
- Коллекция компонентов для BlackBox Гельмута Цинна (CPC)
- Коллекция компонентов для BlackBox проекта OberonCore