Черненький В.М. - Псевдоязык описания сцепленных процессов (ПОСП) (1060689)
Текст из файла
МГТУ им. Н.Э. БауманаФакультет «Информатика и системы управления»Кафедра «Системы обработки информации и управления»УДК 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Синтаксис:<имя ссылки> := ссылка на [тип объекта] <имя объекта>Ссылке присваивается адрес объекта.Оператор разыменования ссылкиСинтаксис:<имя ссылки> <тип переменной>[<местонахождение>]Операция позволяет по ссылке определять значение переменнойуказанноготипа.Значениепеременнойестьрезультатоперации.Местонахождение необходимо указывать лишь для переменных типа вектори пространство.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.