КАТЕГОРИИ: Архитектура-(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; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |