Компьютерра PDA N125 (30.07.2011-05.08.2011) - [4]

Шрифт
Интервал

Но Партен и не предлагал использовать FORTRAN. Его выбор пал на разработку выходцев из лаборатории Дрепера, в 1969 году основавших компанию Intermetrics Inc. Созданный ими язык высокого уровня назывался HAL/S и, благодаря поддержке векторной арифметики и возможности планирования программистом уровней приоритета модулей программы, идеально подходил для создания кода компьютеров GPC космического челнока.

По просьбе NASA специалисты Intermetrics включили в синтаксис HAL/S специальные операторы, делающие возможной разработку программ реального времени. Оператор SCHEDULE позволял точно определить частоту смены процессов в многозадачном режиме работы системы, операторы TERMINATE/CANCEL - антагонисты SCHEDULE занимались приостановкой и принудительным завершением процессов, а оператор WAIT обеспечивал их приостановку в случаях, когда операции ввода/вывода неоправданно затягивались.

Пример исходного кода для системы PASS на языке HAL/S

Чтобы доказать правильность своего выбора, Партен решил организовать соревнования. Тестовая задача, выданная NASA лаборатории Дрепера и компании Intermetrics, должна была быть выполнена в строго отведённый срок и показать высокую производительность. Вот тут-то HAL/S и показал себя во всей красе. Решение на нём было готово задолго до отведённого "времени Ч", и при этом его производительность была всего на десять процентов ниже ассемблерного решения (которое, как обычно, было разработано с опозданием). Чуть позже, рассказывая о выборе HAL/S, Партен сказал: "Если бы мы тогда начали использовать ассемблер, то до сих пор бы торчали на Земле". Красноречиво, ничего не скажешь.

Вот так компьютеры шаттлов заговорили на HAL/S. Кстати, его название ничего общего с известным компьютером-психопатом из кларковско-кубриковской "Космической одиссеи 2001 года" не имеет. Эта аббревиатура означает всего-навсего Higher Avionic Language. Ну а литера "S" говорит о том, где язык применялся (Shuttle).

Концептуальная целостность. Разделяй и властвуй.

К середине 1973 года, выбрав язык разработки, в NASA определились с контрактами на создание PASS. Поскольку основной контракт на производство челноков был у компании Rockwell Corporation, последняя, естественно, посчитала, что будет создавать шаттлы, включая и программное обеспечение для них, единолично. Тем более что опыт разработки систем авионики для реактивных самолётов у Rockwell был немалый.

Но не тут-то было. Контракт на создание челночного софта NASA разделила между Rockwell и... IBM. Определённый резон в этом был: несмотря на то что, по предварительным оценкам, объём программного обеспечения для шаттлов был значительно меньше, чем для проекта Apollo, разнообразие программ и высочайшие требования к отказоустойчивости системы были таковы, что одной, пусть и опытной компании, справиться с задачей было не под силу. IBM предоставляла для проекта свои компьютеры AP-101, и уровень квалификации её программистов был нисколько не хуже уровня сотрудников Rockwell. Ещё одним немаловажным фактором, определившим выбор в пользу Голубого гиганта, была территориальная близость штаб-квартиры IBM и космического центра имени Джонсона. NASA, намучившись с проектом Apollo, программисты которого располагались в далёком Кембридже, посчитала, что разработчиков лучше иметь под боком.

Итак, 10 марта 1973 года космическое агентство заключило контракт с компанией IBM, которая выступала в качестве головного подрядчика программной системы PASS. Поскольку программисты IBM не сильно смыслили в авионике, им в помощь придавались ударные силы разработчиков Rockwell. Ну и в качестве консультирующией стороны, имеющей опыт разработки космического софта, привлекалась лаборатория Дрепера.

Участие в проекте множества рабочих групп легко могло привести к хаосу и бесконечным, бессмысленным сражениям и "перетягиванию одеяла". Поэтому в NASA чётко разграничили полномочия участников проекта, определив, какие типы документов делает каждый из них. Было предложено использовать три уровня документов, обозначавшихся соответственно "А", "В" и "С". Документы уровня "А" разрабатывались программистами IBM и содержали описание общей структуры системы PASS и функции её базовых модулей. Уровень "В" тоже создавался айбиэмовцами, но при поддержке специалистов из Intermetrics. В этих документах структура и функции модулей детализировались вплоть до конкретных параметров и используемых структур языка HAL/S. За уровень "С" отвечали разработчики Rockwell. Используя свой опыт проектирования систем авионики, они предлагали конкретную реализацию той или иной подпрограммы. Зачастую излишне конкретную. Как сказал один из участников проекта, видимо, из-за срыва единоличного контракта ребята из Rockwell давали бумаги, описывающие не "что делать", а "как делать".

Один из многочисленных документов уровня "С" для первой (STS-1) миссии шаттла

Такое разделение полномочий в реализации сложного проекта позволило поддерживать заданные сроки реализации и концептуальную целостность системы PASS. Чуть позже подобный подход станет широко применяться в CASE-системах. Впрочем, этот подход не спас проект от перерасхода бюджета. Вместо запланированных изначально двадцати миллионов долларов проектирование PASS "скушало" ровно в десять раз больше.


Еще от автора Журнал «Компьютерра»
Компьютерра, 2008 № 01-02 (717-718)

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Цифровой журнал «Компьютерра» 2013 № 18 (171)

ОглавлениеКолонкаПочему мы позволяем нас обманывать, или Грустные размышления об иррациональности политической жизни Автор: Дмитрий ШабановГолубятня: Samsung Galaxy S4 — цидули перебежчика (часть 1) Автор: Сергей ГолубицкийУроки любви к Родине: McAfee патентует технологию обнаружения и блокировки пиратского содержания Автор: Сергей ГолубицкийПодпадает ли астрономия под закон о митингах Автор: Дмитрий ВибеIT-рынокНасколько глупа шумиха вокруг «умных» часов? Автор: Андрей ПисьменныйПромзонаПосмотрите на свалку, которую китайцы превратили в парк Автор: Николай МаслухинЭтот сайт позволяет создать собственное световое шоу на точном макете Токио Автор: Николай МаслухинТехнологииДжипег, подвинься! Веппи как единственный необходимый графический формат Автор: Евгений ЗолотовИнновацииПочему менеджерам российских корпораций не нужны стартапы Автор: Елена КраузоваИнга Нахмансон (Fitting Reality): «Российскому e-commerce не до виртуальности» Автор: Елена КраузоваГидGoogle Now для iOS появился без лишнего шума и уже собирает сведения Автор: Андрей Васильков.


Компьютерра, 2005 № 27-28 (599-600)

Документ создан на основе открытого контента, расположенного по адресуhttp://offline.computerra.ru/2005/599/Размер изображений не менялся, поэтому некоторые могут быть некорректно отображены на неVGA-моделях КПК (особенно скриншоты и таблицы).


Компьютерра, 2007 № 15 (683)

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Компьютерра, 2008 № 10 (726)

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Цифровой журнал «Компьютерра» 2010 № 10

ОглавлениеТерралабOpera 10.50: оперативный релиз Автор: Андрей КрупинАнтивирус со вкусом "Яндекса" Автор: Андрей КрупинБлоки питания на любой случай, часть 2. 600–700 Вт Автор: Константин ИвановОбзор Samsung i5700 Galaxy Spica Автор: Алексей СтародымовСвоя играМодель чугунного дирижабля, или Учитель Добреску — 2 Автор: Василий ЩепетневКафедра Ваннаха: Нано-блюз Автор: Ваннах МихаилВасилий Щепетнёв: Разбор полётов перед стартом Автор: Василий ЩепетневКивино гнездо: За что боролись Автор: БЕРД КИВИОткрытые системы Королевского Флота Автор: Ваннах МихаилИнтерактивCeBIT 2010: первые новинки Автор: Алексей СтародымовReaDitorialMovavi: история развития Автор: Наталья ХудяковаГолубятня-ОнлайнГолубятня: Хули Холи Автор: Сергей ГолубицкийГолубятня: Бабу Автор: Сергей ГолубицкийГолубятня: Агора № 20 Автор: Сергей ГолубицкийНаука и жизньМарсианский экспресс Автор: Олег Волошин.


Рекомендуем почитать
Компьютерра, 2007 № 42 (710)

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Газета Завтра 794 (06/2009)

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Газета Завтра 793 (05/2009)

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Компьютерра, 2008 № 24 (740)

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Компьютерра, 2007 № 25-26 (693-694)

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Компьютерра, 2007 № 20 (688)

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Компьютерра PDA 03.07.2010-09.07.2010

ОГЛАВЛЕНИЕНиколай Маслухин: Промзона: Катушка с лупойВасилий Щепетнев: Василий Щепетнёв: О пользе словаря Берд Киви: Кивино гнездо: Человек против обманаГригорий Рудницкий: Microsoft BizSpark: поиски инвесторов и менторовЮрий Ильин: Pixel Qi: дисплеи, не слепнущие на солнцеАндрей Письменный: Microsoft: что пошло не так Николай Маслухин: Промзона: Батарейки MicrosoftВаннах Михаил: Кафедра Ваннаха: Скольжение к сингулярностиНиколай Маслухин: Софт: Process Explorer - порнобаннер в прицелеЮрий Ильин: Людмила Булавкина, директор YouDo по маркетингу, о любительском контентеОлег Нечай: Synaptics: тачпады нового поколенияСергей Голубицкий: Голубятня: Сидр №4Николай Маслухин: Промзона: Очки-суфлерВасилий Щепетнев: Василий Щепетнёв: Гамбит Форт-РоссМаксим Букин: Мобильный интернет для малого бизнесаАндрей Письменный: Вещь дня: беззеркальная камера Lumix G2Олег Нечай: HDBaseT 1.0: дешёвая замена HDMIАнисимов Константин: Как большой оператор споткнулся о маленького SaaS-провайдераНиколай Маслухин: Промзона: Воздушный холодильникЮрий Ильин: Макс Зацепин и Глеб Никитин о музыкальной игре для iPadМихаил Карпов: NASA открыло виртуальную лунную базуВаннах Михаил: Кафедра Ваннаха: Облачное программирование и Пуэрто-РикоКрестников Евгений: Софт: Настраиваем Ubuntu с помощью Ubuntu TweakЮрий Ильин: Сергей Матиясевич (3D Bank) о рынке трёхмерных моделейСергей Голубицкий: Голубятня: БедностьНиколай Маслухин: Промзона: Бескрайний бассейнМаксим Букин: Способы обмана в мобильных сетяхВасилий Щепетнев: Василий Щепетнёв: Следы на целлулоидеАлла Аршинова: В.


Компьютерра PDA N167 (07.04.2012-13.04.2012)

ОГЛАВЛЕНИЕВасилий Щепетнев: Василий Щепетнёв: ЭлектрозависимостьСергей Голубицкий: Голубятня: Вымывание традицииЮрий Ильин: Крис Каспрзак (Siemens PLM Software) о PLMМихаил Ваннах: Кафедра Ваннаха: Забыть Макнамару?Сергей Голубицкий: Голубятня: Дело русских "медведей": fiat lux!Олег Нечай: Отзывчивые экраны: гаптические технологии в дисплеяхДмитрий Вибе: Уси-пуси, Вселенная.


Компьютерра PDA 26.06.2010-02.07.2010

ОГЛАВЛЕНИЕСергей Голубицкий: Голубятня: Интерактив №1Василий Щепетнев: Василий Щепетнёв: Сравнительная ментоскопияНиколай Маслухин: Промзона: Зубная щётка-неваляшкаОлег Нечай: Наборы системной логики для процессоров AMDЮрий Ильин: Вещь дня: Электронная книга Qumo ColibriАндрей Письменный: Internet Explorer 9 будет конкурировать с SilverlightЮрий Ильин: Константин Харитонов (CineSoft) о Cerebro и iPhoneСергей Голубицкий: Голубятня: Интерактив №2Николай Маслухин: Промзона: Солнечный фотоременьВаннах Михаил: Кафедра Ваннаха: Сингулярность и джонкаОлег Нечай: QuantumFilm: фотографии на "квантовой плёнке"Ирина Матюшонок: Михаил Плискин ("Ланит-Терком") об управлении компьютером с помощью жестовМихаил Карпов: YouTube не виноват в пиратствеСергей Голубицкий: Голубятня: ФутболМихаил Карпов: Элон Маск, мафия, ракеты и электромобилиНиколай Маслухин: Промзона: Подсветка для сумкиБерд Киви: Кивино гнездо: Межвидовое общениеМихаил Карпов: Появились первые подробности о Windows 8Андрей Письменный: Экскурсия в дата-центр "Оверсан Меркурий"Михаил Карпов: Софт: Simplenote - заметки на iPhone и на десктопеНика Парамонова: Тонкие клиенты ТОНКВасилий Щепетнев: Василий Щепетнёв: Хочу вспышку! Николай Маслухин: Промзона: Сушильный шкаф из 2050 годаСергей Голубицкий: Голубятня: Интерактив №3Крестников Евгений: Firefox 4: прогулка по минному полюМихаил Карпов: Софт: Читалка комиксов Comic RackМихаил Карпов: Microsoft не удалось стать производителем телефоновНиколай Маслухин: Промзона: Надувной галстукВаннах Михаил: Кафедра Ваннаха: Взгляд россиян на сингулярностьЮрий Ильин: Вузы и ИТ-компании: крупный разговорКрестников Евгений: Novell разрабатывает конкурента Google WaveЮрий Ильин: Игорь Снытко (Toshiba) о Cloud CompanionОлег Нечай: Системные платы для платформы AMD.


Компьютерра PDA N54 (04.09.2010-10.09.2010)

ОГЛАВЛЕНИЕСергей Голубицкий: Голубятня: Оттачиваем дефиницииМихаил Карпов: Глава Twitter рассказал об информационной перегрузкеНиколай Маслухин: Промзона: Кроссовки из "Назад в будущее"Василий Щепетнев: Василий Щепетнёв: На пальмы!Юрий Ильин: Вокруг Apple сгущаются "облака"Михаил Карпов: Конкурс для любителей электронных книгИгорь Осколков: Клавиатура Thermaltake Challenger Pro для геймеровАндрей Письменный: IFA 2010: Раз планшет, два планшетВаннах Михаил: Кафедра Ваннаха: Мемристоры и приемные детиСергей Голубицкий: Голубятня: Почему умрёт AndroidНиколай Маслухин: Промзона: Стерилизатор кухонных досокМихаил Карпов: NASA разрабатывает "рой" спутников-"камикадзе"Олег Нечай: Память из оксида кремния: дефект не всегда дефектМихаил Карпов: Полиция совершила рейды на серверы "варезных" группЕвгений Крестников: Google Wave закроется не совсемМихаил Карпов: Семь самолётов помогут лучше понять ураганыНиколай Маслухин: Промзона: Браслет-смартфонМихаил Карпов: Google будет искать без запросовВасилий Щепетнев: Василий Щепетнёв: МетаинфляцияOtto Diggman: Readitorial: Сумма будущего.