Черненький В.М. - Псевдоязык описания сцепленных процессов (ПОСП)
Описание файла
PDF-файл из архива "Черненький В.М. - Псевдоязык описания сцепленных процессов (ПОСП)", который расположен в категории "". Всё это находится в предмете "параллельные процессы" из 6 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "параллельные процессы" в общих файлах.
Просмотр PDF-файла онлайн
Текст из PDF
МГТУ им. Н.Э. БауманаФакультет «Информатика и системы управления»Кафедра «Системы обработки информации и управления»УДК 519.876.5ПСЕВДОЯЗЫК ОПИСАНИЯСЦЕПЛЕННЫХ ПРОЦЕССОВ(ПОСП)Электронное учебное изданиеУчебное пособие по дисциплине«Описание параллельных процессов»АвторЧерненький В.М.Рекомендуется НМС МГТУ им. Н.Э. Баумана в качестве учебного пособияМОСКВА20122АннотацияПособие предназначено для студентов, изучающих проблемы описаниясовокупностипроцессов.взаимодействующихПособиепозволяющейнасодержитпоследовательно-параллельныхизложениедостаточноабстрактомфункционирование информационных систем.помощьюмакросредствлегкоязыковойметасистемы,уровнеописыватьПолученное описание сотображаетсянабольшинствоалгоритмических систем имитационного моделирования.
В заключенииприведены примеры заданий для закрепления материала учащимися.ВведениеВ пособии приводится лингвистическая система, позволяющая описатьвзаимодействиеобъектовфункционирования.всоставеЛингвистическаясложнойсистемасистемывпредлагаетсяходевееформепсевдоязыка, поскольку она ориентирована на создание аппарата описания, ане на машинную реализацию.
Машинные реализации должны носитьпредметно-ориентированный характер. Однако было бы желательно, чтобыэти реализации опирались на некоторую инвариантную к предметнойобласти концепцию описания. В качес тве такого универсального аппаратаописания функционирования сложных систем предлагается изложенный вглаве Псевдоязык Описания Сцепленных Процессов (ПОСП).Объекты языка, описанияОсновные положенияВ языке ПОСП разрешается использование букв и символов любыхалфавитов, в выражениях могут использоваться знаки и символы любыхопераций из области математики, лингвис тики и пр.3Идентификатор - последовательнос ть букв, цифр и некоторыхсимволов, начинающаяся с буквы.
Набор допустимых символов определяетсясамим пользователем.Типы идентификаторов:а) простой - последовательнос ть букв и цифр, начинающаяся с буквы;б)составной-последовательностьпростыхидентификаторов,соединенных символом подчеркивания;в)стандартныйидентификатор.-фиксированныйСтандартныепростойилиидентификаторысоставноймогутбытьпользовательскими и системными. Перечень пользовательских с тандартныхидентификаторов определяется самим пользователем.Варифметическихвыраженияхвкачествестандартныхпользовательских идентификаторов час то используются имена функцийтаких, как SIN, COS, EXP, SQRT и т.д. Перечень таких идентификаторовможет быть задан пользователем для каждой конкретной программы.В качестве системных с тандартных идентификаторов в языке ПОСПопределены следующие:ВРЕМЯ - переменная типа скаляр, ее значение - текущее время вмодели;RAND - стандартная функция (оператор).
Вычисляет очередноезначение псевдослучайной переменной RAND в [0,1] с равномернымзаконом распределения.ИНИЦИАТОР - переменная типа ссылки, принимающая значениессылки на локальную среду текущего инициатора.Запись операторов языка сопровождается служебными словами,которые пишутся русскими буквами и выделяются жирным шрифтом (врукописных текстах –подчеркиваются).Запись любого операторазавершается символом “;” .Запись чисел соответствует общепринятым в математике правилам.4Любой оператор может быть помечен меткой.Метка - идентификатор; метка отделяется двоеточием от оператора.Список - линейная последовательность элементов, разделенных запятой.Строка символов - любая последовательность символов, кроме кавычек,помещенная в кавычки.Блоки типа агрегатиконтроллер содержатединственныйинициатор по умолчанию.
Начальное местонахождение инициаторауказывается в блоке в разделе “Описание”.Объекты, типы объектовОбъекты языка:простая переменная; переменная; блок; инициатор.Каждый объект имеет тип, имя и значение.Имя объекта есть идентификатор.Значение объекта есть его содержание:для простой переменной и переменной - логические, арифметические,текстовые или адресные значения;для инициатора - адрес локальной среды процесса;для блока - описание параметров блока и его алгоритм.Тип простой переменной:скаляр; ссылка; метка.Тип переменной:скаляр; ссылка; метка; вектор; пространство.Тип блока:агрегат; процессор; контроллер, параметры.Тип инициатора: ссылка.Описание типовСкаляр - одно неделимое значение: число, логическое значение либострока символов.5Синтаксис:<список имен простых переменных> - скаляр(ы)Ссылка - прос тая переменная типа скаляра, значением которойявляется адрес объекта.Синтаксис:<список имен простых переменных> - ссылка(и)Метка - простая переменная типа скаляр, значением которой являетсяадрес помеченного ею оператора.Синтаксис:<список имен простых переменных> - метка(и)Вектор–линейно-упорядоченная совокупностьскаляровлибовекторов (определение рекурсивно).Синтаксис:<список имен переменных>- вектор (<список элементов описания вектора>)<элемент описания вектора> ::= <левая граница> -<правая граница> -< тип><левая граница>,<правая граница> ::= целое число< тип> ::= скаляр | ссылка | метка | вектор | пространствоЕсли левая и правая границы совпадают, то указание правой границыможет быть опущено.Примеры1.
Структура данных, приведенная на рисунке 1, может быть описанакак:1вектор (1-3 - скаляр, 4-5 - ссылка, 6-7 - скаляр)2скаляры345ссылки67СкалярыРисунок 1. Структура данных – вектор2. Структура данных (рисунок 2) может быть описана как:6вектор ( 1-вектор ( 1-скаляр , 2-вектор (1-2-ссылки ) , 3-ссылка), 2-3скаляры, 4-вектор (1-вектор (1-3-скаляры ), 2-ссылка ), 5-ссылка, 6вектор ( 1-4-скаляры ) )в е к то рв ект орв е к то рв е к то рс кал я рыв е к то рс с ыл кав е к то рс кал я рс сы л к ас с ыл кис сы л к ас кал я рыск а ля р ыРисунок 2.
Структура данных - векторПример. N-мерное пространс тво скаляров, где N=5, может бытьописано, как:пространство (1-10, 1-3, 1-5, 1-2, 1-4 - скаляры)Такое пространство содержит 103524 = 1200 скаляров.Обращение к конкретному элементу вектора или пространстваосуществляется заданием его координат в соответс твие с описанием.Описание блокаОписание блока близко к описанию класса.Синтаксис:блок - <тип блока> <имя блока>описание<список групп описаний>все описание;алгоритм7<программа>все алгоритм;все блок.< тип блока> ::= агрегат | процессор | контроллер | параметрыСписок групп описаний содержит группы описания параметров суказанием: внешние, внутренние, типы, внешние блоки, метки, а такженеобходимые комментарии и договоренности. При описании типов внешнихпеременных в блоке допустимо после указания типа добавить имя блока,которому они принадлежат.
Например: А, В,С - скаляры блока ЦЕНТР.<программа> - последовательность операторов ПОСП.Операторы ПОСПОперации над параметрамиНад параметрами могут выполняться любые арифметические илогические операции.Арифметическое (логическое) выражение есть последовательностьарифметических (логических) операций над параметрами, имеющая цельюполучить некоторое конкретное числовое (логическое) значение.Полученноезначениеприсваиваетсяпеременнойспомощьюоператора присваивания:<список переменных> := <выражение>;Операции над инициаторомБезусловный навигационный операторСинтаксис:направить инициатор на <метка> [ блок <имя блока>];Последняя час ть может быть опущена, если эта операция происходит водном и том же блоке.8Условный навигационный операторСинтаксис:если <логическое выражение> то направить инициатор на <метка>[иначе на <метка> ];Последняя часть может быть опущена, если инициатор продолжаетдвижение по программе.Векторная форма условного навигационного оператораСинтаксис:еслиВ1 направить инициатор на <метка>:BN направить инициатор на <метка>[иначе направить на <метка>];где B1...
BN - логические выражения.Оператор задержки инициатора (оператор условия продвиженияинициатора)Синтаксис:ждать <логическое выражение>;Оператор задерживает инициатор до выполнения логического условия.Условие может содержать и переменную ВРЕМЯ. Таким образом, этотоператор выполняет функции условного элементарного оператора, совмещаявременной, логический и смешанный виды.Векторная форма оператора задержки инициатораСинтаксис:ждатьB1 направить инициатор на <метка>:BN направить инициатор на <метка>;Здесь B1...BN - условные выражения.9Этот оператор совмещает функции двух последовательных операторов:оператора условия продвижения инициатора и векторного навигационногооператора. Его использование позволяет сократить запись в достаточнотипичных конструкциях.Оператор активизации инициатораСинтаксис:активизировать инициатор из <имя простой переменной типа ссылки> в блок < имя блока> на метку <метка>;Оператор активизирует параметр типа ссылки, превращая его винициатор и направляя на сцепление с помеченным оператором указанногоблока.Оператор пассивизации инициатораСинтаксис:пассивизировать инициатор в параметр <имя параметра>;Этот оператор выполняет действие, обратное предыдущему оператору,лишая текущий инициатор свойства инициализации и направляя оставшуюсяот него ссылку на локальную среду в указанный параметр ссылочного типа.Операции над объектамиОператор создания объектаСинтаксис:создать <имя объекта> типа <тип>;Оператор создает объект указанного типа и вводит его в программу.Оператор уничтожения объектауничтожить <тип объекта> <имя объекта>;Оператор уничтожает объект с заданным именем и выводит его изпрограммы.Операции над ссылочными переменнымиОператор присваивания значения ссылке10Синтаксис:<имя ссылки> := ссылка на [тип объекта] <имя объекта>Ссылке присваивается адрес объекта.Оператор разыменования ссылкиСинтаксис:<имя ссылки> <тип переменной>[<местонахождение>]Операция позволяет по ссылке определять значение переменнойуказанноготипа.Значениепеременнойестьрезультатоперации.Местонахождение необходимо указывать лишь для переменных типа вектори пространство.