![]() | |
|
Главная Радио и связь соответствует отдельное описание. Изящная унифицированность средств языка Ада является следствием того факта, что при внешнем рассмотрении гнезда пакетов и задач очень схожи между собой. Благодаря этому облегчается описание системы, состоящей из взаимосвязанных модулей различных типов. Программа, написанная на языке Ада, почти в той же мере доступна для реконфигурации как и техническая система, в которой, прежде чем отключить старый модуль и подключить новый, необходимо либо отключить источник питания, либо заблокировать прежнюю функцию. Для подключения нового совместимого модуля необходимо, следуя терминологии языка Ада, разобрать программный комплекс на составляющие и отредактировать его заново. В этом смысле язык Ада не предоставляет универсальных средств реконфигурации, подобных тем, которые требуются для динамического подключения только что созданного модуля к уже функционирующей системе. По этой причине на языке Ада нельзя написать операционную систему общего назначения. Однако он прекрасно подходит для создания специализированных систем из набора существовавших ранее модулей. 1.3.2. Индустрия систем программного обеспечения: взгляд в будущее Язык Ада, позволяющий описывать системы в технических терминах, дает возможность представить себе предприятие по проидзодству систем, на котором как аппаратные, так и программные средства конструируются и описываются единообразно. В этих условиях программирование становится чем-то большим, нежели простое кодирование программных строк, и превращается в процесс структурированного построения систем, в рамках которого программы выстраиваются в структурные сборки из логических черных ящиков, закоммутированных логическими штекерами и кабелями. В таком виде программы могут соответствовать и аппаратным, и программным средствам, н только в теле тех модулей, которые относятся к программному обеспечению, они превращаются в кодированные строки. Рис, 1.2 иллюстрирует основанное на нашей концепции представление будущего предприятия по производству программного обеспечения. На рис. 1.3 показано, как с помощью языка типа Ады можно осуществлять программно-управляемое проектирование систем. Ключевым моментом такого подхода является концептуальное представление структуры системы, которое он обеспечивает руководителям, разработчикам, конструкторам, поставщикам, потребителям, торговым агентам и клиентам. Таким образом, и представители одной и той же группы сне- ![]() КомпонентЬ[ ОТ поставщиков Рис. 1.2. «Фабрика» систем.
Постановка задачи на *1зыке Ада Проектирование и разработка аппарэтноп обеспечемир Техническое описание системь!, разработка модели и моделирование на языке Ада Принятие компромиссных решений относительно аппаратной и программной реализации Проектирование и разработка программного обеспечения Компоновка системы Рабочее проектирование программного й аппаратного обеспечения ~ язык Ада используется как средство общения Автоматизированное Проектирование и изготовление аппаратных и програмадньис компонентов Рис. 1.3. Место языка Ада ь проектировании систем. циалистов, участвующих в разработке, и участники различных групп получают возможность обсуждать проект системы в одних и тех же терминах. Общее концептуальное представление используется как основа для обсуждения деталей проекта, графиков работ, потребностей в ресурсах и т. д. Однако вряд ли правомерно было бы ожидать от всех заинтересованных сторон одинаково свободного владения языком Ада. Поэтому от них требуется лишь умение пользоваться, графическими обозначениями основных деталей системного проекта, которые находились бы в прямом соответствии с элементами языка Ада. В других областях техники графические изображения компонентов системы называются ее эскизами. Основная цель данной книги-разработка графической нотации, которая послужила бы эквивалентом эскизного представления для программно-управляемого системного проектирования. Отметим в заключение, что описанная выше идея индустриального проектирования систем программного обеспечения предполагает прохождение всех фаз жизненного цикла. Это значит, что в соответствии с описанием жизненного цикла, приведенным в разд. 1.2, доллшы быть сформулированы все требования к системе еще до начала ее проектирования и реализации. Однако в некоторых прикладных областях уже зарождается новый подход к созданию программного обеспечения, идущий вразрез с концепцией жизненного цикла. Значение этих разработок и их связь с материалом данной книги обсуждаются в следующем подразделе. 1.3.3. Новые методы разработки программного обеспечения Одним из аспектов, так называемого кризиса программного обеспечения, являются практические трудности воплощения сформулированных технических требований в приемлемые системы без длительных подготовительных этапов и больших затрат, которые неизбежны при следовании концепции жизненного цикла, когда все существенные требования должны быть определены до того как заказчик сможет увидеть какие-то результаты. Широко используемые языки программирования, подобные языкам Паскаль и Ада, снабжаются трансляторами и ориентируются обычно на реализацию концепции жизненного цикла. В особенности это можно отнести к языку Ада, если учесть включенные в него средства разбиения системы на модули и отделение этапов описания модулей от их детальной реализации. Программные комплексы на языке Ада можно создавать только на основе подробных сведений о технических требовани- 0 1 2 3 4 [ 5 ] 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 0.0048 |