+7(495)926-7456
+7(495)926-7456
Электронные компоненты  Мануалы 

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

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

1.4. Сущность Предлагаемого подхода

Рассматриваемые в данной книге методы ориентированы на программно-управляемое системное проектирование в соответ-


Рис. 1.4. три опорных элемента книги.

ствии С концепцией жизненного цикла и «держатся» на трех опорах (рис, 1.4):

1. Структурное проектирование, представляющее собой методологию построения системных структур на основе моделей информационных потоков.

2. Объектно-ориентированная графическая нотация и концептуальная модель, служащие для представления системных компонент, их интерфейсов и взаимосвязей и образующие основу структурных графов, известных из структурного проектиро-, вания] язык Ада наполняет их семантическим содержанием



3. Собственно язык Ада в той его части, которая предназначена для описания системных объектов, их интерфейсов и взаимодействий. Для целей данной книги язык Ада можно рассматривать как язык Паскаль с добавлением концепций пакетов и задач. В качестве иллюстративных примеров структурного проектирования используются Ада-программы, однако в большинстве случаев читатель, знаюший язык Паскаль и имеющий элементарные представления о пакетах и задачах в языке Ада, легко сумеет разобраться в приводимых примерах.

В начале книги каждый из трех опорных элементов, изображенных на рис. 1.4, исследуется настолько подробно, чтобы можно было начать обсуждение примеров. Затем все три элемента используются как основа для рассмотрения нескольких примеров проектирования, иллюстрирующих как сам процесс проектирования, так и его технические аспекты. Ведущую роль в книге играют примеры: результаты и принципы выводятся большей частью из них. Три опоры, изображенные на рис. 1.4, рассматриваются в остальных главах части I и части П. Так, гл. 2 представляет собой введение в язык Ада, построенное по нисходящему принципу. Для читателя, знакомого с Паскалем или любым подобным языком и обладающего достаточной «компьютерной грамотностью», чтобы не испугаться концепции мультизадачного режима, не потребуется дополнительно ничего кроме этого введения.



Глава 2

Ада - язык системного проектирования 2.1. Введение

Как отмечалось в гл. 1, язык Ада имеет ряд новых свойств, позволяющих проводить идеи модульности и параллельности, двойственные аппаратному обеспечению. В частности, с помощью языка Ада можно представить систему в виде набора черных ящиков, закоммутированных кабелями, которые включают-6я в гнезда. Черные ящики - это пакеты и задачи или их комбинации. Гнезда - это спецификации (описания) пакетов или задач, задаваемые независимо от их тела. Параллельность реализуется через организацию задач. Интерфейсы пакетов и задач с внешним окружением выглядят аналогично. Конфигурация систем может быть задана статистически путем установления связей между предварительно оттранслированными черными ящиками через их спецификации.

Ясно, что такие свойства языка Ада делают его весьма полезным для структурного проектирования. В то же время у языка Ада есть и много других новых нетрадиционных особенностей, которые полезно перечислить, объединив их в группы, имеющие отношение к фазам жизненного цикла, концепциям структурного проектирования и техническим свойствам (рис. 2.1). К первой группе относятся те свойства, которые используются в течение всего жизненного цикла процесса проектирования и разработки. Технические свойства - это те, которые были приданы языку для удовлетворения конкретных технических требований. Ни те ни другие не имеют прямого отношения к материалу данной книги и рассматриваются лишь в той мере, в которой они пересекаются со свойствами, используемыми при структурном проектировании. Основное внимание в данной книге сосредоточено на второй группе свойств языка Ада, важных для структурного проектирования.

Рассмотрим рис. 2.1, двигаясь от его середины в направлении свойств, существенных для структурного проектирования. Возможности организации пакетов и раздельного описания уже упоминались выше и вкратце обсуждались. Заложенная в языке возможность нисходящего уточнения описаний позволяет на начальном этапе включать в систему составляющие ее модули просто в виде спецификаций, а их тела разрабатывать затем



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