Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

О проекте А-7




«К середине 1970-х годов специалистам научно-исследовательской лаборатории ВМС (Naval Research Laboratory, NRL) в Вашингтоне (Колумбия) стало ясно, что многие академические и лабораторные разработки в области компьютерных наук разработчиками программного обеспечения систем ВМС не используются». С этих слов начинается типичное описание Про­екта по снижению стоимости программного обеспечения систем ВМС США (Navy’s Software Cost Reduction, SCR), или, как его называют гораздо чаще, А-7. Далее в большинстве описа­ний говорилось, что специалисты лаборатории ВМС, поразмыслив, разработали перспек­тивную высокоточную программу для ВМС (имеется в виду программное обеспечение для истребителей А-7Е) с тем, чтобы впоследствии, обратившись к вышеупомянутой невостре­бованной технологии, провести ее модернизацию и повторную реализацию. Все эти декла­рации ставили целью доказать исключительную ценность данной технологии в контексте раз­работки реальных приложений.

Понять, о какой конкретно технологии идет речь, можно было только читая между строк, — в основном речь шла о проектной стратегии сокрытия информации. Ничего удивительного, если учесть, что идеологом проекта А-7 был не кто иной, как Дэвид Парнас (David Parnas) — первый исследователь, заговоривший о сокрытии информации как об одной из методик про­ектирования. Парнас хотел выяснить, насколько его идеи (как сокрытие информации, так и некоторые другие — скажем, кооперация последовательных процессов) применимы к си­стеме с жесткими требованиями, серьезными ограничениями по потреблению памяти и ограниченными временными ресурсами. Если же они для этого не годились, Парнасу нужно было знать, почему и что нужно сделать, чтобы исправить ситуацию. Демонстрации не со­всем четко сформулированных методов на модельных задачах ему, конечно, было недоста­точно. Для проекта А-7 планировалось составить законченную инженерную модель — доку­ментацию, проект, код, методологию, принципы, — которую, таким образом, можно было бы повторить; все эти данные предполагалось публиковать в общедоступных изданиях.

В 1977 году силами нескольких сотрудников-совместителей работа над проектом нача­лась. Вскоре выбрали и демонстрационное приложение — программные средства А-7Е. Ру­ководствовались тем, что это система реального времени (то есть она должна полностью соответствовать требованиям по времени), она относится к категории встроенных (преду­сматривает взаимодействие с разного рода сложными аппаратными устройствами), она аб­солютно надежна и к тому же ограничена необычайно малой емкостью памяти компьютера —

32 ООО шестнадцатибитных слов. Итак, если бы новые методики выдержали испытание этой программой, они справились бы с чем угодно.

Первой появилась спецификация требований к программному обеспечению. Она не вхо­дила в первоначальные планы, но, когда Парнас попросил специалистов ВМС предоставить ему сводку требований к А-7, оказалось, что таковой не существует. Осознав, что ввести стан­дарт для тестирования и оценки результатов все-таки придется, программные инженеры из лаборатории ВМС, пусть и с неохотой, но принялись за документирование требований к про­граммной части. На выходе получилась не только сама сводка требований, но и, что более важно, метод ее составления. Теперь по образцу SCR документируются многие встроенные программные системы реального времени.

Затем разработчики занялись проектированием интерфейсов для всех модулей. Таким вот образом несколько специалистов чуть ли не впервые реализовали метод объектного про­ектирования. Мало того — желая учесть любые последующие изменения, они сконструиро­вали то, что сегодня называют доменной моделью. Намереваясь создать типовой проект, пре­дусматривающий возможность многократного применения, они сконструировали эталонную архитектуру (см. главу 12). Так, в промежутках между изобретением новых методов программ­ной инженерии, изучением предметной области авиационной электроники и написанием новаторских статей они занимались производством программных средств.

Реализация проекта началась с размещения сокращенного варианта программы, на при­мере которого планировалось доказать ее способность к генерации исполняемого кода; да­лее предполагалось разместить Два более крупных варианта и, наконец, всю систему. Обра­тившись к структуре использования — одной из трех архитектурных структур, на которые мы обращаем внимание в нижеследующем конкретном примере, — они смогли быстро и без труда выделить эти подмножества исходя из своих потребностей. К тому моменту, когда вто­рое из трех подмножеств было подготовлено, руководители проекта поняли, что все постав­ленные задачи выполнены, а учитывая малочисленность штата, ограниченность бюджета и не­достаточность знаний в области авиационной электроники, доводить повторную реализацию до конца не имеет смысла. В 1987 году, после того как второе подмножество было успешно введено в строй, проект свернули. В рамках этого второго подмножества присутствовали элементы всех модулей второго уровня, а также полезная и довольно сложная функция на­вигации.

По итогам работы был сделан вывод о том, что стратегия сокрытия информации не про­сто подходит для встроенных систем реального времени, но во многих отношениях идеальна для применения в этом контексте. Особое внимание к интерфейсам модулей и их специфи­кациям исключило необходимость в проведении одного из этапов проекта — интеграции; ошибки, которые обычно ассоциируются с этим этапом, просто не допускались. Конечный программный продукт укладывался во временные рамки, однако в том, что касалось эффек­тивности потребления памяти, заметно уступал ручному коду ассемблера, на разработку ко­торого ушли годы. Надо надеяться, что чем дальше, тем меньшее значение будет иметь фак­тор эффективности использования памяти г- по крайней мере, в современных условиях он не так существен, как это было в 1977 году.

Архитектура, которую мы приводим в качестве конкретного примера, относится к готово­му проекту, из которого в 1987 году было получено последнее подмножество. У нас нет при­чин сомневаться в том, что на основе этой архитектуры в ее неизменном виде можно было бы провести полную реализацию системы. Как бы то ни было, она демонстрирует повышенное

внимание к различным архитектурным структурам, или представлениям, обеспечивающим достижение определенных задач; именно в этом ключе мы и намерены ее рассмотреть.

Почему же, если с момента работы над проектом А-7Е прошло так много времени, он до сих пор представляет интерес? Дело в том, что в нем реализовано два важных принципа. Первый утверждает жизнеспособность и практичность сокрытия информации как стратегии проектирования — этот принцип сообществом соблюдается. Согласно второму, тщательная разработка разных архитектурных структур приносит свои плоды в виде реализации атрибу­тов качества. Этот принцип усвоен не слишком хорошо, и поэтому, в контексте наблюдаемо­го на сегодняшний день интереса к программной архитектуре и руководствуясь правилом «повторение — мать учения», мы возьмемся изложить его еще раз.

— РСС




Поделиться с друзьями:


Дата добавления: 2015-04-25; Просмотров: 399; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.