JOVIAL - это язык программирования высокого уровня, основанный на Алголе 58 , специализирующийся на разработке встроенных систем (специализированные компьютерные системы, предназначенные для выполнения одной или нескольких специальных функций, обычно встроенных как часть более крупного и законченного устройства, включая механические части). Это был основной язык системного программирования в 60-70-е годы. [ необходима цитата ]
Парадигмы | Процедурные , императивные , структурированные |
---|---|
Семья | АЛГОЛ |
Разработано | Корпорация системного развития |
Разработчик | Партнеры по разработке программного обеспечения [1] |
Впервые появился | 1960 |
Печатная дисциплина | статический , прочный , безопасный , структурный |
Сфера | Лексический |
Основные реализации | |
мейнфрейм , микро, ПК, macOS , Windows , Linux , SPARC , PowerPC , 1750A, другие устаревшие системы | |
Диалекты | |
J3, J3B-2, J73 | |
Под влиянием | |
Алгол , шалфей | |
Под влиянием | |
CMS-2 , Коралл 66 , СИМПЛ |
История
ДЖОВИАЛ был разработан в качестве нового «высокого порядка» [ править ] Язык программирования , начиная с 1959 годом группой специалистов Корпорации по развитию системы (SDC) во главе с Жюлем Шварц сочинить программное обеспечение для электроники военных самолетов. [2]
Название JOVIAL является аббревиатурой от Жюльской собственной версии [3] международного алгебраического языка ; Международный алгоритмический язык (IAL) - это название, первоначально предложенное для АЛГОЛА 58 . [4] Согласно Шварцу, язык изначально назывался OVIAL , но против этого высказывались разные причины. ДЖОВИАЛ затем предложил, без смысла , прикрепленного к J . Несколько в шутку было предложено назвать язык в честь Шварца, поскольку он был председателем собрания , и это неофициальное название прижилось. [5]
В течение 1960-х годов JOVIAL был частью серии L-проектов для военных США , в частности, ITT 465L Strategic Air Command Control System (проект Стратегической автоматизированной системы командования и управления (SACCS)) из-за отсутствия компьютерного программирования в реальном времени. доступные языки. Около 95 процентов проекта SACCS, управляемого International Telephone & Telegraph (ITT) с программным обеспечением, в основном написанным SDC, было написано на JOVIAL. На разработку программного обеспечения у программиста ушло два года и менее 1400 лет, что составляет менее половины эквивалентного времени в L-проекте SAGE . [6]
В конце 1970-х - начале 1980-х годов ВВС США приняли на вооружение стандартизированный центральный процессор (ЦП) MIL-STD-1750A , и для этого процессора были созданы последующие программы JOVIAL. Несколько коммерческих поставщиков предоставили компиляторы и соответствующие инструменты программирования для создания JOVIAL для процессоров, таких как MIL-STD-1750A, включая Advanced Computer Techniques (ACT), системы TLD, системы проприетарного программного обеспечения (PSS) и другие. [7] [8]
JOVIAL был стандартизирован в 1973 году с помощью MIL-STD-1589 и пересмотрен в 1984 году с помощью MIL-STD-1589C . Он по-прежнему широко используется для обновления и поддержки программного обеспечения на старых военных транспортных средствах и самолетах. Обычно используются три диалекта: J3, J3B-2 и J73.
По состоянию на 2010 г.[Обновить], JOVIAL больше не поддерживается и не распространяется Офисом программы USAF JOVIAL (JPO). Программное обеспечение, ранее распространяемое JPO, по-прежнему доступно через коммерческие ресурсы Software Engineering Associates, 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 года.[Обновить]. [9]
Большая часть программного обеспечения, реализованного в JOVIAL, критически важно , и его обслуживание становится все труднее. В декабре 2014 года было сообщено , что программное обеспечение , полученные из бодрого кода , полученного в 1960 - х годах участвовали в крупных неудачах в Великобритании «S управления воздушным движения инфраструктуры, а также о том , что агентство , которое использует его, NATS Holdings , был того , чтобы обучить свой ИТ-персонал в JOVIAL, чтобы они могли поддерживать это программное обеспечение, замена которого не планировалась до 2016 года. [10]
Влияние
Языки, на которые повлиял JOVIAL, включают CORAL , SYMPL , Space Programming Language (SPL) и, в некоторой степени, CMS-2 . [11] интерактивное подмножество бодрый называется ТИНТ, похожий на JOSS была разработана в 1960 - х годах. [5]
Функции
JOVIAL включает в себя функции, которых нет в стандартном АЛГОЛЕ, такие как записи , массивы записей и встроенный язык ассемблера . [12]
Он также включал положения для «упакованных» данных в таблицах. Упаковка таблицы относится к распределению элементов внутри записи по словам хранения (биты в единице данных). Это было важно в связи с ограниченной памятью и хранилищем вычислительных систем эпохи JOVIAL.
Приложения
Известные системы, использующие встроенное программное обеспечение JOVIAL, включают:
- Спутник связи Милстар
- Усовершенствованная крылатая ракета
- Бомбардировщики В-52 , Б-1Б , [13] Б-2
- Транспортные самолеты С-130 , С-141 , С-17
- F-111 , F-15 , F-16 (до блока 50), F-117 истребителей
- ЛАНТИРН
- Самолет У-2
- Самолет Boeing E-3 Sentry ДРЛО (до блока 40/45)
- Крейсера Navy Aegis
- Армейская реактивная система залпового огня ( РСЗО )
- Армия Sikorsky UH-60 Black Hawk вертолетов
- Реактивные двигатели F100 , F117 , F119
- Система ПВО NORAD (система Hughes HME-5118ME)
- Система наземного окружения ПВО НАТО (NADGE)
- Ракетные двигатели РЛ10
- Civil NAS (Национальная система воздушного пространства) Управление воздушным движением
- APG-70 , APG-71 и APG-73 бортовых радиолокационных систем [14]
Пример
Следующий пример взят из Руководства по программированию для языка JOVIAL (J73). [15]
PROC RETRIEVE (КОД: ЗНАЧЕНИЕ); НАЧИНАТЬ КОД ТОВАРА U; ПУНКТ ЗНАЧЕНИЕ F; ЗНАЧЕНИЕ = -99999 .; ДЛЯ I: 0 НА 1 ПРИ I <1000; ЕСЛИ CODE = TABCODE (I); НАЧИНАТЬ ЗНАЧЕНИЕ = ТАБЛИЧНОЕ ЗНАЧЕНИЕ (I); ВЫХОД; КОНЕЦ КОНЕЦ
В этом примере определяется процедура с именем, RETRIEVE
которая принимает входной аргумент целого числа без знака CODE
и выходной аргумент с плавающей запятой VALUE
. Он ищет в массиве из 1000 элементов TABCODE
запись, которая соответствует CODE
, а затем устанавливает переменную VALUE
с плавающей запятой на элемент массива, TABVALUE
имеющий тот же индекс сопоставления массива. Если соответствующий элемент не найден, VALUE
устанавливается значение −99999.0
.
Рекомендации
- ^ "Software Engineering Associates, Inc. (SEA)" .
- ^ Шварц, Жюль I. "Устная история интервью с Жюлем И. Шварцем" . Институт Чарльза Бэббиджа . Университет Миннесоты.Шварц работал в RAND Corporation над различными проектами, связанными с обороной, особенно с полуавтоматической наземной средой (SAGE) и JOHNNIAC . Когда RAND организовал System Development Corporation , Шварц перешел в новую компанию. На протяжении большей части интервью Шварц описывает свое сотрудничество с SAGE, свою работу в компьютерной лаборатории по разделению времени для компьютера AN / FSQ-32 , компьютерные сети , проекты систем управления (например, TDMS) и свое взаимодействие с JCR. Ликлайдер , Лоуренс Дж. Робертс и Роберт Сакстон Тейлор . Он обсуждает свою более позднюю должность в Computer Sciences Corporation .
- ^ "Эд и Кей, веселые пионеры" . jovial.com . Проверено 23 февраля 2021 .
- ^ Шоу, Кристофер Дж. (1963-12-01). «Спецификация JOVIAL» . Коммуникации ACM . 6 (12): 721–736. DOI : 10.1145 / 763973.763978 . ISSN 0001-0782 .
- ^ а б Шварц, Жюль I. (8 августа 1978 г.). «Развитие веселья» (PDF) . Уведомления ACM SIGPLAN . 13 (8): 203. DOI : 10,1145 / 960118,808385 . S2CID 17913060 . Проверено 28 января 2015 года .
- ^ Кэмпбелл-Келли, Мартин (2003). От бронирования авиабилетов до Sonic the Hedgehog: история индустрии программного обеспечения . Кембридж, Массачусетс: MIT Press . стр. 46 -7. ISBN 0-262-03303-8.
- ^ Шахтер, Оскар. «Устное интервью истории с Оскаром Шахтером» . Институт Чарльза Бэббиджа . Университет Миннесоты. п. 17.
- ^ «Инструменты поддержки программного обеспечения ISA JOVIAL (J73) и MIL-STD-1750A». Ada – JOVIAL Newsletter . Центр языкового контроля высшего порядка, авиабаза Райт-Паттерсон, ВВС США. Сентябрь 1993. С. 21–24.
- ^ «Зрелые системы разработки, проверенные на практике в сотнях приложений» . DDC-I . Феникс, Аризона. 2020 . Проверено 22 апреля 2020 .
- ^ Райнер, Гордон (12 декабря 2014 г.). «Хаос полетов в Великобритании: компьютеры управления воздушным движением с использованием программного обеспечения 1960-х годов» . Daily Telegraph . Проверено 21 апреля 2020 .
- ^ Учебное пособие по основам работы с цифровыми компьютерами, NAVEDTRA 10088-B , ВМС США , 1978 г.
- ^ Halang, Wolfgang A .; Стоенко, Александр Д. (1991). Построение предсказуемых систем реального времени . Springer Verlag. п. 31. ISBN 978-1-4615-4032-8.
- ^ «Весело, чтобы сгладить переход ВВС США на Аду» . Оборонная электроника . 1 марта, 1984. Архивировано из оригинала на 2012-10-12 . Проверено 28 января 2015 года .
- ^ "Ан / АПГ-73, Энциклопедия истребителя" . Архивировано из оригинала на 2004-11-05.
- ^ Softech, Inc. (июнь 1981 г.). Руководство по программированию на языке JOVIAL (J73) (PDF) . Рим, Нью-Йорк: Центр развития воздуха в Риме. п. 12 . Проверено 16 мая 2018 года .
Внешние ссылки
- Развитие веселого
- "MIL-STD-1589C, Военный стандарт: JOVIAL (J73)" (PDF) . Министерство обороны США . 6 июля 1984 г.
- Апрель 2006 г. Архив Офиса программы JOVIAL
- Страница, посвященная Жюлю Шварцу , включая фильм с юмористическим рассказом о развитии JOVIAL [ мертвая ссылка ]
- DODSSP Единый склад Министерства обороны США по военным спецификациям, стандартам и сопутствующим публикациям
- Партнеры по разработке программного обеспечения
- DDC-I, Inc .: DDC-I JOVIAL Compiler System (DJCS)
- Шварц, Жюль. Лекция Жюля Шварца о JOVIAL (видео). YouTube . Проверено 22 апреля 2020 .