JOVIAL

Jovial (англ. jovialвесёлый) — язык программирования, в основе которого лежал язык IAL (International Algorithmic Language), один из первых диалектов Алгола, в дальнейшем усовершенствованный и получивший название OVIAL (Own Version of the IAL).

Содержание

История создания

Американский программист Джолиус Шварц (Jules Schwartz) дополнил OVIAL рядом полезных усовершенствований, прибавил к аббревиатуре первую букву своего имени, и в январе 1959 г. на свет появился Jovial. Одной из главных целей создания Jovial Шварц поставил возможность создания кросс-платформных программ, способных работать в реальном режиме времени. В внутреннюю структуру Jovial-машины были заложены гибкие возможности оптимизации кода, не зависящие от платформы, и быстрый перенос программ при модификации архитектуры целевого компьютера. Жёсткая структура организации файлов с исходными текстами, не допускающая машинно-зависимых синтаксических конструкций, позволяла легко переносить программы на различные платформы. Именно эти возможности и оказались ключевыми при выборе этого языка ВВС США.


Применение

Сегодня язык программирования Jovial, несмотря на своё название, применяется для создания отнюдь не развлекательных программ. Хорошо продуманная кросс-платформная идеология и успешная практика применения позволили Jovial-у завоевать признание практически во всех военных областях. На нём были написаны программы, исполняемые на бортовых процессорах многих американских военных самолётов (бомбардировщики B-2, транспортные самолёты C-17, истребители F-15, F- 16, F-18, F-22, F-117), вертолётов огневой поддержки, ракет тактического и стратегического назначения, военных крейсеров, космических спутников и др. Этот язык используется для создания ПО, управляющего мобильными и стационарными ракетными установками на поле боя, в радарных системах слежения. Применяют его в некоторых видах боевой техники американские силы специального назначения.

Чтобы не распылять усилия разработчиков и обеспечить единый подход к созданию и унификации ПО, МО США приняло стандарт на набор команд для 16-разрядного микропроцессора, используемого в бортовых военных системах. Этот стандарт получил название MIL-STD-1750, в дальнейшем набор команд был дополнен несколькими дополнительными инструкциями и модификация этого стандарта 1750А используется в американской армии по сей день.

В силу жёстких требований, предъявляемых к языку, реализация Jovial, созданная в ВВС США, представляет собой не просто компилятор, а целый комплекс стандартизованных средств разработки. В этом на него похожа Java, в типичную поставку которой помимо компилятора обязательно входит виртуальная Java-машина, набор библиотек, средства отладки, вьюеры, имитирующие работу в Сети и т. д. Так и Jovial распространяется в комплекте разработчика под названием ITS. Этот комплект представляет собой прекрасный пример тщательно продуманного подхода к выбору и совершенствованию средства разработки ПО, которое планируется использовать в ответственных областях десятки лет. В типовой комплект ITS входят кросс-платформные компилятор и макроассемблер, поддерживающий систему команд 1750А, сборщик, символьный интерактивный отладчик, поддерживающий режим реального времени, программный симулятор процессора с набором команд 1750А, библиотека стандартных модулей и загрузчик кода в оборудование 1750 (при наличии соответствующих аппаратных плат). Первая очередь этого комплекса была закончена в 1984 г. Первоначально она функционировала только на main- и middleframes, а сегодня работает также под управлением SCO UNIX 3.2 или MS DOS. ITS обеспечивает генерацию кода (помимо МП 1750А) для VAX, IBM PC, Z80, M680X0, RISC-компьютеров и ряда других. Наиболее популярная реализация ITS для компьютеров серии VAX используется сегодня в более чем 50 подразделениях МО США. Её догоняет реализация для персоналок, работающая под управлением UNIX.


Распространине

ITS распространяется правительством США бесплатно. Для получения (или попытки получения) ITS рекомендовано обращаться к атташе по вопросам авиации американского посольства.

Имеются сегодня и коммерческие версии Jovial, распространяемые, впрочем, за пределами США только с разрешения американских компетентных органов. Стоят эти версии порядка 75 000 долл. Для их приобретения можно попробовать написать письмо на адрес usafjovial@aol.com или millerjm@sm4.ascsm.wpafb.af.mil. Одна из этих версий представляют собой компилятор Jovial для платформ VAX/VMS, SPARC/SunOS, HP/UX, позволяющий получать код для Z8000 и 1750А. В комплект дополнительно включаются ассемблер для каждой платформы, сборщик, симулятор целевых наборов команд и символьный отладчик, использующий X Window интерфейс. Настройки оптимизации позволяют получать код, который в сравнении с кодом, написанным на ассемблере вручную, даёт выигрыш в размере программы и скорости её выполнения на 15 %.

В последнее время стремительно возросшая сложность современной боевой техники потребовала более мощных микропроцессорных устройств управления. Летом 1996 г. был выпущен компилятор для Jovial, работающий под управлением ОС Solaris компьютеров Sun SPARC. Он позволяет получать код для бортовых управляющих систем, основанных на MIPS-микропроцессорах серии R2000/3000/4000. Компилятор встроен в графическую оболочку, содержащую редактор и символьный отладчик. Эта оболочка хорошо известна разработчикам программ на Аде для SPARC-компьютеров, теперь она стала доступна и Jovial-программистам.

МО США уделяет языку Jovial большое внимание. За последние 15 лет использования Jovial американская армия инвестировала в его совершенствование более 16 миллионов долларов. Суммы, стимулирующие написание программ на Jovial и перенос других программных систем на этот язык, увеличиваются с каждым годом. Для организации полной совместимости всего ПО, используемого в бортовых системах, американские военные приняли стандарт MIL-STD-1589 на версию этого языка J-73. Теперь все программное обеспечение, разрабатываемое в подразделениях МО США на языке Jovial, должно соответствовать данному стандарту. В ближайшем будущем ВВС США собирается провести полный реинжениринг своей компьютерной инфраструктуры, при этом все ПО, работающее в бортовых микропроцессорных устройствах, планируется перенести на Jovial и Ada. В данном проекте особое внимание уделяется связке этих языков. Дело в том, что множество программ, предназначенных для решения боевых задач, довольно бессистемно разрабатывалось как на Jovial, так и на Ada. Теперь же планируется осуществить интеграцию компьютерных программ, написанных на этих языках, с целью обеспечения возможности их совместного использоывания и лёгкой модификации ПО. Для решения этой задачи будет активно использоваться продукт фирмы Xinotech Research — Xinotech Language Translator (XLT), предназначенный для семантического анализа языков программирования и перевода исходных текстов программ с одних языков на другие с возможностью интерактивного контроля процесса преобразования со стороны пользователя. В XLT используются описания языков с помощью абстрактных грамматик на XPAL (Xinotech Plan Abstraction Meta-language) и применяются технологии сопоставления с образцом. Похожие возможности имеются у созданного в нашей стране РЕФАЛа. XLT на сегодня предоставляет возможность следующих парных преобразований, гарантирующих корректный результат: Pascal — Ада, CMS-2 — Ада и Jovial — Ада.

Перспективы Jovial в свете усилий, предпринимаемых МО США, можно оценить как очень хорошие, особенно если учесть его планируемую тесную «стыковку» с Ada . Возрастающая «электронизация» современной боевой техники требует не только адекватных её возможностям средств создания ПО, но также использования существующих разработок и интеграции их в новые инфраструктуры. Связка Jovial — Ada, достаточно эффективно используемая в этой области уже сегодня, в недалёком будущем однозначно не будет иметь конкурентов в сфере создания программ для встроенных бортовых систем военного профиля.

Ссылки

Весёлый язык программирования


 
Начальная страница  » 
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Э Ю Я
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 Home