Черненький В.М. - Псевдоязык описания сцепленных процессов (ПОСП), страница 2
Описание файла
PDF-файл из архива "Черненький В.М. - Псевдоязык описания сцепленных процессов (ПОСП)", который расположен в категории "". Всё это находится в предмете "параллельные процессы" из 6 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "параллельные процессы" в общих файлах.
Просмотр PDF-файла онлайн
Текст 2 страницы из PDF
Если операция встречается в выражении, то вышеуказаннаязапись заключается в круглые скобки.Примеры1. Вызов значения прос той переменной типа скаляр, на которуюссылается ссылка S, имеет вид:S скаляр2. Вызов значения 5-го элемента вектора, на который ссылается ссылкаS, имеет вид:S вектор(5)3.
Вызов значения 3-го элемента локальной среды текущего процессаимеет вид:ИНИЦИАТОР вектор(3)Напомним, что значение инициатора есть ссылка на локальную средупроцесса.Определение комментария.Комментарии могут вводиться в любом месте программы и отделятьсяот операторов двойным слешем ( \\ ).11Подпроцессный граф состоянийПри составлении алгоритма блока удобно предварительно построитьграф состояний блока. В этом графе каждой вершине соответс твуетнекоторый функционально - завершенный подпроцесс, а дуге - путьпродвижения инициатора. Назовем такой граф подпроцессным графомсостояний (ПГС). Степень подробности описания может быть произвольной.Если описание выполняется на уровне обобщенных операторов, то всевершиныграфапредставляютсяввидепрямоугольников.Условиепродвижения инициатора может быть указано как в вершине, так и на дуге.Если же мы хотим задать этот граф на уровне элементарных операторов, тооператоры состояний будемпомещать впрямоугольники,условныеоператоры – в овалы, навигационные операторы – в треугольники илиромбы.
При использовании векторных форм условных и навигационныхоператоровусловные выражения указываютсянадугах.В случаенеобходимос ти внесения каких-либо пояснений возможно выделение частиграфа пунктирнымпрямоугольникомсуказаниемсоответствующегокомментария.Для агрегатов и контроллеров, имеющих по определению один инициатор,будем считать, что этот инициатор априорно помещен в блок и в начальномсостоянии находится в вершине, помеченной стрелкой с символом I .Пример 1На рисунке 3 представлен ПГС блока-агрегата, описывающего файлсервер в составе локальной вычислительной сети.12ОжиданиевыклзапросОбработказапросаОпределениеТ за ппрофилактикаПрофилакти ческиеработыПодготовкак остановуОпределениеТ пр и Tп рВыгрузкапрограммОпределениеТ за грВремя=ТзапВремя=Тп рВремя=ТзагрОстановРисунок 3.
ПГС блока-агрегата ФАЙЛ-СЕРВЕРВначальномположенииинициаторразмещаетсявсостоянии“ожидание”. Из этого состояния он может быть выведен сигналом “АВОСТ”,началом профилактической работы, запросом из Л ВС на поиск файлов.Дальнейшее функционирование агрегата понятно из ПГС.Пример 2Генератор инициаторовПустьнеобходимосоздатьблок,генерирующийинициаторы,интерпретируемые как документы, и отправляющий их в блок с именемОБРАБОТКА на оператор с меткой ВХОД. Документы обладают локальнойсредой, организованной в виде вектора, содержащего 2 скалярных параметра.Первый параметр содержит время появления документа, второй параметр тип документа, принимающий значение 1 или 2 с равной вероятностью.Значениявременимеждупоступлениямиравномерно на интервале [20, 50].ПГС блока приведен на рисунке 4.документовраспределено13ВРЕМЯ=ТОжиданиеГенерация средыВыдача документаВычисление TРисунок 4.
ПГС блока-агрегата ГЕНЕРАТОРПрограмма блока на ПОСП:блок-агрегат ГЕНЕРАТОР;описаниеТГЕН- скаляр;\\начальное значение равно 0;ОБРАБОТКА - внешний блок;НАЧАЛО - метка блока ОБРАБОТКА;\\начальное положение инициатора на метке НАЧ;все описание;алгоритмНАЧ: ждать ВРЕМЯ = ТГЕН;\\генерация локальной среды;создать I типа ссылка;создать S типа вектор (1-2-скаляры);S(1) := ВРЕМЯ;S(2) := ЦЕЛОЕ (RAND+0.5)+1;I := ссылка на S;\\выдача инициатора;активизировать инициатор из I в блок ОБРАБОТКА на меткуВХОД;ТГЕН := ВРЕМЯ+RAND*30+20;направить инициатор на НАЧ;все алгоритм;все блок.\\ вычисление ТГЕН;14Пример 3.Описать процесс функционирования следующей системы:в компьютерном центре работают круглосуточно 60 компьютеров, интервалих работоспособного состояния задан, после поломки компьютер пос тупаетна ремонт к мастеру, мастер работает с 8 до 17 часов, время ремонтакомпьютера задано.Блочная схема модели приведена на рисунке 5.Рисунок 5.
Блочная схема модели системыБлок НАЧАЛЬНАЯ ЗАГРУЗКА генерирует 60 инициаторов в блокпроцессор ЦЕНТР. ПГС блока НАЧАЛЬНАЯ ЗАГРУЗКА приведен нарисунке 6.15Рисунок 6. ПГС блока НАЧАЛЬНАЯ ЗАГРУЗКАОписание блока НАЧАЛЬНАЯ ЗАГРУЗКА:блок-контроллер НАЧАЛЬНАЯ_ЗАГРУЗКА;описаниеN – скаляр;\\ начальное значение равно 0;\\ инициатор на метке НАЧ;все описание;алгоритмНАЧ : N := N+1;\\ счетчик;если N>60 то направить инициатор на КОНЕЦ;создать S типа ссылка;создать W типа вектор (1-2-скаляры);W(1) := N;S := ссылка на W;активизировать инициатор из S на НАЧАЛО блока ЦЕНТР;направить инициатор на НАЧ;КОНЕЦ :уничтожить ИНИЦИАТОР;все алгоритм;все блок.16Обобщенный ПГС блока Центр приведен на рисунке 7. Он описывае тцикл функционирования одного компьютера.Рисунок 7.
Обобщенный ПГС блока ЦЕНТРПГС блока ЦЕНТР с комментариями приведен на рисунке 8.Рисунок 8. ПГС блока ЦЕНТРОписание блока ЦЕНТР:блок-процессор ЦЕНТР;описаниеМАСТЕР_РАБОТАЕТ,МАСТЕР_СВОБОДЕНМАСТЕР;ТРЕМ -скаляр;\\ FRAB(…)- функция времени работы компьютера;-скалярыблока17\\ FREM(…)- функция времени ремонта компьютера;все описание;алгоритмНАЧАЛО: (ИНИЦИАТОР вектор(2)):= ВРЕМЯ+FRAB(…);ждать ВРЕМЯ = (ИНИЦИАТОР вектор(2));ждать МАСТЕР_РАБОТ АЕТ= “ДА”; \\ мастер на работе;ждать МАСТЕР_СВОБОДЕН= “ДА”; \\ мастер не занят;МАСТЕР_СВОБОДЕН := ”НЕТ”;ТРЕМ := ВРЕМЯ+FREM(…);ждать ВРЕМЯ = ТРЕМ;МАСТЕР_СВОБОДЕН := ”Д А”;направить инициатор на метку НАЧАЛО;все алгоритм;все блок.Блок-агрегат МАСТЕР описывает процесс изменения состояния мастера.ПГС блока МАСТЕР приведен на рисунке 9.начальный периодвычислениеТ кон = 17ждать8 часов утрамастер неработаетмастерработаетждатьконца работыТ конмастерне работает;Ткон=Ткон+24;Тнач=Тнач+24ждатьнач.
работыТ начанализпрерванногоремонтаРисунок 9. ПГС блока МАСТЕРI18Описание блока МАСТЕР:блок-агрегат МАСТЕР;описаниеМАСТЕР_РАБОТАЕТ, МАСТ ЕР_СВОБОДЕН -скаляры;ТКР, ТНР -скаляры;ТРЕМ- скаляр блока ЦЕНТР;\\начальное положение инициатора на метке НАЧАЛО;все описание;алгоритм\\ начальный сегмент от 0 до 8 часовНАЧАЛО : МАСТЕР_РАБОТАЕТ, МАСТЕР_СВОБОДЕН:=”НЕТ”;ТКР:=17; ТНР:=32;ждать ВРЕМЯ=8;МАСТЕР_РАБОТАЕТ, МАСТ ЕР_СВОБОДЕН:=”ДА”;ВКР :ждать ВРЕМЯ=ТКР;\\ окончание работы;ТКР:=ТКР+24;МАСТЕР_РАБОТАЕТ:=”НЕТ”;ПРОД1 :ждать ВРЕМЯ=Т НР;ТНР:=Т НР+24;\\ начало работы;МАСТЕР_РАБОТАЕТ:=”ДА”;еслиМАСТЕР_СВОБОДЕН=”Д А”тонаправитьинициатор на метку ПРОД2;\\продление обслуживания отложенного компьютера;ТРЕМ:=ТРЕМ+15;ПРОД2:направить инициатор на метку ВКР;все алгоритм;все блок.19МакрорасширенияПредлагаемаялингвистическаясистемаможет включатьлюбыерасширения и макросы. Поскольку система имеет характер псевдоязыка, тоописание макроса может быть выполнено достаточно свободно. Однако,желательно втакомописании максимально близко придерживатьсясинтаксиса ПОСП.Принцип построения макросов не ограничен.
Например, в основупостроения макросов может быть положен ключевой принцип. Причемключи могут быть оформлены в виде служебных слов.Служебные слова макроса будем выделять жирным шрифтом сподчеркиванием. Макропеременные префиксируются символом ‘&’. Крометого, вполне допустимо словесное описание макроса, которое, принеобходимос ти, может быть оформлено средствами ПОСП.Пример 1Задержка инициатора на время, распределенное по экспоненциальномузакону, может быть описана макросом:задержать инициатор экспоненциально с параметром &АЕго расширение имеет вид:алгоритм&В := ВРЕМЯ - &А*LN(RAND);ждать ВРЕМЯ = &B;все алгоритм;Пример 2Запись скалярного параметра в однонаправленный список. При созданиисписка необходимо создать первый элемент &A типа вектор (1-2-ссылки).Он является головой будущего списка. В список заносится скаляр изпараметра &B.
Признаком пустого списка является нулевое значение &A(1).20Макрорасширение макрооператора имеет вид:записать &B в список &A;алгоритмсоздать &C типа вектор (1-2-скаляры).&C(1) := &B;если &A(1) 0 то направить инициатор на &M1;&A(1), &A(2) := ссылка на вектор &C;направить инициатор на &M2;&M1: (&A(1)вектор(2)) := ссылка на вектор &C;&A(1) := ссылка на вектор &C;&M2:все алгоритм;Пример 3Считывание скалярного параметра из однонаправленного списка вскаляр &B.
Начальные условия такие же, как и в примере 2. Признакомпустого списка являются нулевые значения &A(1) и &A(2).Макрооператор имеет вид:считать из списка &A в &B;Макрорасширение (предполагается, что &C есть внутренний рабочийпараметр типа скаляр):алгоритмесли &A(2) = 0 то направить инициатор на &M2;&B := (&A(2)вектор(1));если &A(1) &A(2) то направить инициатор на &M1;уничтожить (&A(2)вектор)&A(1), &A(2) := 0;направить инициатор на &M2;21&M1: &C := &A(2);& A(2) := (&Cвектор(2))уничтожить (&Cвектор)&M2:все алгоритм;Каквидноизпримеров,использованиемакрооператоровдае тсущественную экономию в записи программ. Кроме того, использованиемакрооператоровпозволяетотобразитьнаПОСПоператорыспециализированных языков моделирования таких, как GPSS, SOL, SIMULAи т.д.
С помощью макрооператоров можно описать операторы вновьразрабатываемого языка моделирования и провес ти макетирование новойсистемы моделирования.Пример 4Покажемиспользованиефункционированиямакрооператороввычислительногонакомплексапримереописанияавтоматизированнойсистемы управления технологическими процессами (АСУТП) компрессорнойстанции.СтруктуравычислительногокомплексаАСУТПприведенанарисунке 10.Моделируемый комплекс включает: центральный вычислительный комплекс (ЦВК), обеспечивающийприем и обработку информации от терминальных устройств; терминальныеустройства(терминалы),поставляющиетехнологическую информацию от различных компонент компрессорнойстанции; оконечные устройс тва; каналы связи.22ДT1Д........ЦВКДTNДРисунок 10. Структура вычислительного комплексаЦВК решает прикладные задачи по каждому терминалу, необходимыедля обеспечения управления технологическими процессами.Каждыйтерминалсвязансоконечнымиустройс твами,представляющими собой либо датчики, измеряющий технологическиепараметрынекоторойподсистемыкомпрессорнойстанции,либоисполнительные механизмы.