![]() | |
![]() |
Электронные компоненты Мануалы Процедура МАШ Задача Активный I пакет НоллективногоЛ пользования/- /Отдельная задача/ Задача ![]() Вложенный пакет
Рис. 3.5. Пакеты и задачи; встроенные, независимые и коллективного пользования. друг другу. Эта проблема проектирования освещается в разд. 3.2. Полезно различать пассивные и активные пакеты (рис. 3.5). Пассивный пакет не содержит встроенных задач; в активном пакете они есть и могут быть скрыты за спецификацией пакетного интерфейса. Введенная нами графическая нотация позволяет представлять систему как совокупность аппаратных средств, т. е. в ви- 3.2.2. Средства отображения динамики прохождения задач в языке Ада по аналогии с взаимодействиями между людьми Наша цель здесь состоит в том, чтобы помочь читателю перенести его представления о взаимодействиях между людьми и их организациями в область разработки способов отображения динамического механизма прохождения задач в Ада-про-граммах. Представьте себе, что структурный граф системы описывает статическую физическую структуру делового учреждения, где помещения, в которых находятся люди, связаны коридорами и дверными проемами. Проводя аналогии со средствами языка Ада, самих людей в данном случае можно уподобить задачам, коридоры - путям доступа, а рабочие кабинеты и их входы - интерфейсам задач или активных пакетов. Проход по коридору к какому-нибудь кабинету аналогичен обращению к входу задачи или к некоторой процедуре активного пакета. Ожидание своей очереди у двери кабинета и получение затем нужных услуг соответствует механизму рандеву. Использование таких пассивных средств, как диктофон, текстовый процессор или картотечный шкаф, соответствует обращению к пассивному пакету. Небольшая часть структуры учреждения изображена в виде структурного графа на рис. 3.6, где представлены неформальное описание поведения людей с помощью схематических фигурок (рис. 3.6, а) и аналогичное по используемым изобразительным средствам описание системы в среде языка Ада (рис. 3.6,6). На данном графе показан набор возможных способов обращения людей друг к другу и проведения рандеву между ними (как между задачами), а также ряд пассивных черных ящиков (пассивных пакетов), отображающих обстановку типичного учреждения. Отметим, что данная структура не обязательно наилучшая: это всего лишь один из многих вариантов. На рисунке отмечены пять сотрудников фирмы: вице-президент, два управляющих, секретарь и помощник одного из управляющих. Показаны также три пассивных черных ящика, де набора черных ящиков, закоммутированных друг с другом с помощью штекеров и гнезд. Однако такое условное представление весьма статично и пригодно в основном лишь для наглядного отображения взаимосвязей. Для того чтобы наглядно представить функционирование системы в динамике с учетом возможной параллельности процессов, необходимы какие-либо средства динамического отображения систем. Именно этому вопросу посвящен следующий раздел. которые в данном конкретном примере представляют собой картотечные шкафы. Аналогия между черными ящиками и пакетами, между людьми и задачами является полной в том смысле, который мы в них вкладываем, поэтому далее для большей ясности изложения будем говорить только о пакетах и задачах. Рассмотрим сначала одну из задач вице-президента. Он имеет совершенно свободный доступ к личной картотеке и может пользоваться ею без согласования своих действий с потребностями каких-либо других задач. Он может также решить обратиться к более широкой картотеке, например к картотеке сотрудников фирмы, и затем провести рандеву с одним из своих управляющих, для того чтобы передать ему управление картотекой. Стрелка, идущая от задачи вице-президента к управляющему по кадрам, означает приход вице-президента s
Картотек! сообщений ![]() !1омощник Машинистки Диспетчер V \/ А бюро U) Неформализованное описание. 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 |
|||||||||||||