stringtranslate.com

ВЕСЕЛЫЙ

JOVIALязык программирования высокого уровня , основанный на ALGOL 58 , специализированный для разработки встроенных систем (специализированных компьютерных систем, предназначенных для выполнения одной или нескольких специализированных функций, обычно встроенных как часть более крупного и полного устройства, включая механические части). Это был основной язык системного программирования в 1960-х и 1970-х годах. [2]

История

Руководство по компьютерному программированию для языка Jovial (J73)

JOVIAL был разработан как новый язык программирования «высокого порядка» [3] : 1,  начиная с 1959 года командой System Development Corporation (SDC) под руководством Жюля Шварца для создания программного обеспечения для электроники военных самолетов. [4]

Название JOVIAL является аббревиатурой собственной версии Жюля [5] международного алгебраического языка ; Международный алгоритмический язык (IAL) — название, первоначально предложенное для ALGOL 58 . [6] По мнению Шварца, изначально язык назывался OVIAL , но по разным причинам этому сопротивлялись. Затем был предложен JOVIAL , без всякого значения , придаваемого J. Несколько в шутку было предложено назвать язык в честь Шварца, поскольку он был председателем собрания , и это неофициальное название прижилось. [7]

В 1960-е годы JOVIAL был частью серии L-проектов армии США , в частности ITT 465L Стратегической системы управления воздушным командованием ( проект Стратегической автоматизированной системы управления и контроля (SACCS)) из-за отсутствия вычислительного программирования в реальном времени. доступные языки. Около 95 процентов проекта SACCS, которым управляет компания International Telephone & Telegraph (ITT) с программным обеспечением, написанным в основном SDC, было написано на JOVIAL. Проект программного обеспечения занял два года и менее 1400 лет программистов, что составляет менее половины того же времени, что и L-проект SAGE . [8]

Кнопка с изображением JOVIAL как одного из языков, для которых компания Advanced Computer Techniques создала кросс-компиляторы.

В конце 1970-х и начале 1980-х годов ВВС США приняли на вооружение стандартизированный центральный процессор (ЦП) MIL-STD-1750A , и последующие программы JOVIAL были созданы для этого процессора. Несколько коммерческих поставщиков предоставили компиляторы и соответствующие инструменты программирования для создания JOVIAL для таких процессоров, как MIL-STD-1750A, включая Advanced Computer Techniques (ACT), TLD Systems , Proprietary Software Systems (PSS) и другие. [9] [10]

JOVIAL был стандартизирован в 1973 году с помощью MIL-STD-1589 и пересмотрен в 1984 году с помощью MIL-STD-1589C . Он до сих пор используется для обновления и обслуживания программного обеспечения на старых военных машинах и самолетах. Обычно используются три диалекта: J3, J3B-2 и J73.

С 2010 года JOVIAL больше не поддерживается и не распространяется Программным офисом USAF JOVIAL (JPO). Программное обеспечение, ранее распространявшееся JPO, по-прежнему доступно через коммерческие ресурсы Software Engineering Associates, Inc., Inc. (SEA), как и другие комбинации хост-/целевых процессоров, включая Windows , Linux , Mac OS X на PowerPC , SPARC , VAX , 1750A , PowerPC. , TI-9989 , Zilog Z800x , Motorola 680x0 и IBM System 360 , System 370 и System z . Кроме того, компания DDC-I , которая приобрела части Advanced Computer Techniques, также перечисляет компиляторы JOVIAL и связанные с ними инструменты по состоянию на апрель 2020 года . [2]

Большая часть программного обеспечения, реализованного в JOVIAL, критически важна , и его обслуживание становится все сложнее. В декабре 2014 года сообщалось, что программное обеспечение, полученное на основе кода JOVIAL, созданного в 1960-х годах, стало причиной серьезного сбоя в инфраструктуре управления воздушным движением Соединенного Королевства , и что агентству, которое его использует, NATS Holdings , пришлось обучать своих специалистов. ИТ-специалистов в JOVIAL, чтобы они могли поддерживать это программное обеспечение, замену которого планировалось осуществить не раньше 2016 года. [11]

Влияние

Языки, на которые повлиял JOVIAL, включают CORAL , SYMPL , Space Programming Language (SPL) и в некоторой степени CMS-2 . [12] Интерактивное подразделение JOVIAL под названием TINT, похожее на JOSS , было разработано в 1960-х годах. [7]

Функции

JOVIAL включает функции, отсутствующие в стандартном ALGOL, такие как элементы (теперь называемые структурами ), массивы элементов, переменные состояния (теперь называемые перечислениями ) и встроенный язык ассемблера . [13]

Он также включал положения для «упакованных» данных в таблицах. Упаковка таблиц относится к распределению элементов внутри записи по словам хранения (битам в единице данных). Это было важно с учетом ограниченности памяти и памяти вычислительных систем эпохи ЮЖИАЛА.

Коммуникационный пул (COMPOOL) в Jovial аналогичен библиотекам заголовочных файлов для таких языков, как PL/I и C.

Приложения

Известные системы, использующие встроенное программное обеспечение JOVIAL, включают:

Пример

Следующий пример взят из Руководства по компьютерному программированию для языка JOVIAL (J73). [3] : 12 

PROC ПОЛУЧИТЬ (КОД: ЗНАЧЕНИЕ); НАЧИНАТЬ КОД ДЕТАЛЯ U; ЗНАЧЕНИЕ ПУНКТА F; ЗНАЧЕНИЕ = -99999.; FOR I:0 НА 1 WHILE I<1000; ЕСЛИ КОД = TABCODE(I); НАЧИНАТЬ ЗНАЧЕНИЕ = ЗНАЧЕНИЕ ТАБУКИ (I); ВЫХОД; КОНЕЦ КОНЕЦ

В этом примере определяется процедура с именем RETRIEVE, которая принимает входной аргумент целого числа без знака CODEи выходной аргумент с плавающей запятой VALUE. Он ищет в массиве из 1000 элементов TABCODEзапись, соответствующую CODE, а затем устанавливает переменную с плавающей запятой VALUEв элемент массива, TABVALUEимеющий тот же соответствующий индекс массива. Если соответствующий элемент не найден, VALUEустанавливается значение −99999.0.

Рекомендации

  1. ^ «Software Engineering Associates, Inc. (SEA)» .
  2. ^ ab «Зрелые системы разработки, проверенные на сотнях приложений». ДДК-I . Феникс, Аризона. 2020 . Проверено 22 апреля 2020 г.
  3. ^ ab Softech, Inc. (июнь 1981 г.). Руководство по компьютерному программированию для языка JOVIAL (J73) (PDF) . Рим, Нью-Йорк: Римский центр развития авиации. п. 1. Архивировано (PDF) из оригинала 29 июля 2018 г. Проверено 16 мая 2018 г.
  4. Шварц, Жюль И. (7 апреля 1989 г.). «Интервью устной истории с Жюлем И. Шварцем». Институт Чарльза Бэббиджа . Университет Миннесоты.Шварц работал в корпорации RAND над различными проектами, связанными с обороной, в частности над полуавтоматической наземной средой (SAGE) и JOHNNIAC . Когда РЭНД организовал Корпорацию системного развития , Шварц перешел в новую компанию. Большую часть интервью Шварц описывает свое сотрудничество с SAGE, свое участие в работе в компьютерной лаборатории над разделением времени для компьютера AN/FSQ-32 , компьютерных сетей , проектов систем управления (таких как TDMS) и свое взаимодействие с JCR. Ликлайдер , Лоуренс Дж. Робертс и Роберт Сакстон Тейлор . Он обсуждает свою последующую должность в Computer Sciences Corporation .
  5. ^ "Эд и Кей, веселые пионеры" . jovial.com . Проверено 23 февраля 2021 г.
  6. ^ Шоу, Кристофер Дж. (1 декабря 1963). «Спецификация JOVIAL». Коммуникации АКМ . 6 (12): 721–736. дои : 10.1145/763973.763978 . ISSN  0001-0782. S2CID  1427629.
  7. ^ аб Шварц, Жюль I. (8 августа 1978 г.). «Развитие Джовиала» (PDF) . Уведомления ACM SIGPLAN . 13 (8): 203. дои : 10.1145/960118.808385. S2CID  17913060 . Проверено 28 января 2015 г.
  8. ^ Кэмпбелл-Келли, Мартин (2003). От бронирования авиабилетов до Sonic the Hedgehog: история индустрии программного обеспечения . Кембридж, Массачусетс: MIT Press . стр. 46-7. ISBN 0-262-03303-8.
  9. ^ Шахтер, Оскар (7 мая 2004 г.). «Устное историческое интервью с Оскаром Шахтером». Институт Чарльза Бэббиджа . Университет Миннесоты: 17.
  10. ^ «JOVIAL (J73) и инструменты поддержки программного обеспечения MIL-STD-1750A ISA» . Информационный бюллетень Ada–JOVIAL . Центр языкового контроля высшего порядка, авиабаза Райт-Паттерсон, ВВС США. Сентябрь 1993 г., стр. 21–24.
  11. Рейнер, Гордон (12 декабря 2014 г.). «Хаос полетов в Великобритании: компьютеры управления воздушным движением с использованием программного обеспечения 1960-х годов». Дейли Телеграф . Проверено 21 апреля 2020 г.
  12. ^ Руководство по обучению основам цифрового компьютера, NAVEDTRA 10088-B , ВМС США , 1978 г.
  13. ^ Халанг, Вольфганг А.; Стоенко, Александр Дмитриевич (1991). Построение предсказуемых систем реального времени. Спрингер Верлаг. п. 31. ISBN 978-1-4615-4032-8.
  14. ^ «Веселый, чтобы сгладить переход ВВС США на Аду» . Оборонная электроника . 1 марта 1984 г. Архивировано из оригинала 12 октября 2012 г. Проверено 28 января 2015 г.
  15. ^ "AN/APG-73, Энциклопедия истребителя" . Архивировано из оригинала 5 ноября 2004 г.

Внешние ссылки