Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УРиPТС часть1.doc
Скачиваний:
5
Добавлен:
28.05.2015
Размер:
2.68 Mб
Скачать

Глава 1.1.

Задача о производителя и потребителях или

Ох уж эти буфера.

Здесь так же присутствует разделяемый объект, понимаемый как буфер. Процесс – производитель создаёт некоторые объекты, которые помещает в буфер. Потребитель ждёт, пока объект не будет помещён в буфер, и изымает его и использует.

Сначала запустится П1, затем П2.

Задача о производителе и потребителе с ограниченным буфером.

Здесь ограничителем является размер буфера, то есть в отличие от предыдущей задачи рассматривается размер. При такой постановке производитель не может постоянно работать с той скоростью, которая ему нужна, а вынужден ждать, если потребитель работает медленно, и буфер заполнен. Это одна из задач о согласовании производителя и потребителя.

В данном случае имеется буфер размерности n, причём позиция В означает занятые ячейки этого буфера, а В' означает свободные.

Пусть первоначальное состояние показано маркировкой, где n – количество фишек, соответствующее размеру буфера. Тогда при срабатывании перехода t2 происходит освобождение очередной ячейки буфера. Тогда переход t3.

Задача об обедающих мудрецах.

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

Анализ сети Петровича или как продать паленый самогон.

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

Пример небезопасной сети Петри.

Что означает, при появлении фишек (условия) в P1 разрешен t3 .

В случае, если некоторый переход Pi отображается на множество входных функций и Pi не принадлежит множеству выходных функций.

Pi Є I (tj) & Pi O (tj)

То бывает полезным добавить еще одну позицию P’i где P’i к O (tj). Если переход Pi Є O (tj) связан с выходными функциями I (tj), то вводится добавочная позиция P’i к множеству комплекта входов I (tj).

Понятие сохранения

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

Самый простой способ сделать это – потребовать что-то, что бы общее число фишек в сети оставалось постоянным. Формально это можно изобразить таким образом:

- новая маркировка

Разрешены (исходно) два перехода t1 и t2. Запустим t1

P1 P2 P3 P4 P5

t1 1 1 0 0 1

0 1 1 0 0 C1

Самое простое очевидное требование покоя. Число входов в каждый переход должно равняться числу выходов.

Построим другую сеть, в которой выполнено такое требование.

(Исходная сеть была не строго сохраняющая)

P1 P2 P3 P4 P5

t1 1 1 0 0 1

0 1 2 0 0 C2

Физический смысл модифицированной схемы – появление кратного числа дуг.

Тууупики

При моделировании распределения ресурсов могут возникнуть тупики, т. е. тупиковые ситуации, при которых сеть (моделируемый процесс) не может функционировать.

Рассмотрим систему, включающую два различных ресурса q и r; и два процесса a и b.

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

Пусть процесс a сначала запрашивает q, затем r, а потом освобождает q и r.

Процесс b работает аналогично, но сначала запрашивает r, а затем q. Такая система может регулярно работать.

Для устойчивости сети является последовательность переходов (запусков)

t1, t2, t3, t4, t5, t6 или:

t4, t5, t6, t1, t2, t3

однако рассмотрим последовательность, которая начинается t1, потом t4. Процесс a обладает ресурсом q и хочет получить r, но процесс b уже обладает ресурсом r, а хочет получить q. В этом случае система заблокирована, процесс продолжаться не может.

Итак тупики в сети Петри – это множества (ил один) переходов, которые не могут быть запущены. Т.е. здесь (на схеме)тупик возникает из-за невозможности запуска t2 и t5.

Таким образом исследование (выявление) тупиков позволяет избежать их в реальной системе.

Достижимость. Дерево достижимости.

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

Для предыдущей задачи тупик в термине достижимости может возникнуть если, достижимым является состояние:

P1 P2 P3 P4 P5 P6 P7 P8

0 1 0 0 0 0 1 0

Рассмотрим следующую сеть Петри

P1 P2 P3

1 0 0 (1,0,0)

Здесь разрешено всё: t1 и t2 Так как мы хотим рассмотреть все ситуации, то проделаем это для обоих переходов.

Построение дерева достижимости.

Шаг 1

Здесь вершинами будут различные достижимые маркировки, а дугами – переходы. Теперь необходимо рассмотреть все маркировка, достижимых из таких маркировок. Можно снова запустить t1 и t2. После этого можно продолжать маркировку. Однако заметим, что маркировка (0,0,1) – это маркировка пассивная, то есть из нее никакие маркировки порождаться не будут. Отметим, что маркировка (0,1,1), порождаемая запуском t3, из маркировки (0,2,1) по дуге t3 уже была в дереве (она была порождена t2), то есть произошло дублирование. Тогда, если продолжать построение дерева, то это дерево достижимости может оказаться бесконечным. Кстати, конечная сеть Петри может иметь бесконечное дерево.

Например:

Есть несколько средств ограничения такого дерева, то есть показать бесполезность его продолжения.

Введем некоторые понятия по дереву достижимости:

В этом дереве вершины – это последовательность маркировок

Дуги – переходы

  1. Начало дерева – корневая вершина

  2. Граничная вершина – это новая вершина, получающаяся из старой маркировки (1,3,0;0,3,1)

  3. Терминальные вершины – пассивные вершины, когда нет разрешенных переходов (0,0,1)

  4. Дублирующие вершины – вершины с маркировками, которые уже встречались в дереве (0,1,1)

В рассмотренном примере видно, что ряд граничных вершин порождал новые граничные, то есть шло построение новой маркировки (), в которой в одной или в нескольких позициях количество фишек постоянно увеличивается (не принося никакой новой информации).

Отсюда вводится понятие бесконечность (бесконечное число фишек в позиции) – специальный символ .

Каждая вершина, получившая в позиции, порождает такую же.

Задача

Задана система – некий автомат и оператор. Автоматы срабатывают под управлением оператора. В системе заданы три автомата: ,; и два оператора,.

Оператор может работать с автоматамии.

Оператор может обслуживать автоматыи.

В этой системе выполняются некоторые заказы. Эти заказы требуют двух стадий обработки:

  1. Сначала на

  2. Затем на и

Запишем условия:

а) Заказ прибыл и ждет обработки на

б) Заказ обработан на и ждет (все еще) либо, либо

в) Заказ выполнен

г) не занят

д) не занят

е) не занят

ж) не занят

з) не занят

и) находится под воздействием (связан с ним)

к) под воздействием

л) под воздействием

м) под воздействием

При этом могут происходить следующие события:

  1. Заказ поступил

  2. начинает выполнение заказа на

  3. закончил выполнение заказа на

  4. начинает выполнение заказа на

  5. заканчивает выполнение заказа на

  6. начинает выполнение заказа на

  7. заканчивает выполнение заказа на

  8. начал выполнение заказа на

  9. закончил выполнение заказа на

  10. Заказ отправляется на доставку (включен некий транспортер)

Запишем сказанное, сопоставив события и условия, в том числе определим предусловия и постусловия.

События

Условия

Предусловия

Постусловия

1

Нет

а

2

а, ж, г

и

3

и

ж, г, б

4

а, з, г

к

5

к

б, з, г

6

б, ж, д

л

7

л

в, ж, д

8

б, е, з

м

9

м

в, е, з

10

в

нет

Сопоставим символьное обозначение условий с математическими переменными, для чего:

символьное обозначение условия

математические переменные

позиции

а

б

в

г

д

е

ж

з

и

к

л

м

События

математическое обозначение

переходы

1

2

3

4

5

6

7

8

9

10

Упрощенная математическая модель

Таблица запуска переходов:

1

0

0

1

1

1

1

1

0

0

0

0

,

0

0

0

0

1

1

0

1

1

0

0

0

,

0

1

0

1

1

1

1

1

0

0

0

0

,

1

1

0

1

1

1

1

1

0

0

0

0

,,,,,

0

1

0

0

1

1

1

0

0

1

0

0

,,,,

0

2

0

1

1

1

1

1

0

0

0

0

,,

0

1

0

1

0

1

0

1

0

0

1

0

,,

0

1

1

1

1

1

1

1

0

0

0

0

,,,

0

0

1

1

1

0

1

0

0

0

0

1

,,

0

0

2

1

1

1

1

1

0

0

0

0

,

0

0

1

1

1

1

1

1

0

0

0

0

,

0

0

0

1

1

1

1

1

0

0

0

0

1

0

0

1

1

1

1

1

0

0

0

0


Алгоритм построения дерева достижимости

Каждая вершина i – дерева связывается с расширенной маркировкой , гдеможет быть либо неотрицательное целое, либо «сиськи». Каждая вершина классифицируется как граничная, или терминальная, или дублирующая, или внутренняя.

Граничными являются вершины еще не обработанные алгоритмом. Алгоритм превратит их в или в терминальные, или в дублирующие, или во внутренние вершины. Алгоритм начинается с определения начальной маркировки корня дерева, который является пока так же граничной вершиной. До тех пор пока имеются граничные вершины, они обрабатываются алгоритмом. Пусть х – некоторая граничная вершина исходного i – дерева, которую необходимо обработать и сделать из него “буратино”:

  1. Если в дереве имеется другая вершина у, не являющаяся граничной и с ней связана та же маркировка, то есть , то вершина х.й – дублирующая

  2. Если на маркировке ни один из переходов не разрешен, то естьØ для всех, то х – терминальная (тупиковая) вершина.

  3. Для всякого перехода разрешенного в, то естьØ, то можно создать новую вершинуz –дерева достижимости. Маркировка z, связанная с вершиной z-дерева, определяется для каждой позиции, то естьопределяется следующим образом:

А) если =, то=

Б) если на пути от корневой вершины к вершине х существует вершина у, такая, что и, то=

Путь – это последовательность вершин и дуг до исходной вершины.

В) в противном случае мы говорим, что

Итак, когда увсе вершины казутся терминальными, дублирующими и внутренними – алгоритмос останавливается.

Управление в системах реального времени (некоторые подходы)

Например, система управления (СУ) КА должна принимать информацию от оборудования и выдавать управляющие сигналы оборудованию. Составим пример упрощенной логической математической модели управления:

У1={ }

у3=…

х1…хn – входные сигналы в ПоПКу

у1…уm – выходной сигнал из ПоПКи

В СРВ (системах реального времени), то есть системе управления технологическим оборудованием, бортовыми исполнительными системами и др., СУ верхнего уровня должна видимо принимать системы:

а) в произвольные моменты времени пукаем.

б) в заданные мо-ментов, определяемые например циклограммой.

Сигналы от оборудования могут приходить как результаты предыдущих команд контроллера. Так, контроллер, если была дана команда станку уi-1 – начать обработку детали, то ответным сигналом от этого станка будет сигнал хk , извещающий об окончании работы.

Таким образом, циклограмма отслеживается самим оборудованием (СЧПУ), а ПЛК выставляет у себя контрольное время прихода подтверждающих (ответными по окончании действия станка) сигналов, таймируя время. Выдавая некую команду оборудованию , ПЛК запускает один из таймеров.

P.S. под редакцией 13.С.С.