Моделювання за допомогою мереж Петрі
Мережі Петрі були розроблені і використовуються в основному для моделювання. З їхньою допомогою можуть бути промодельовані багато систем, особливо системи з незалежними компонентами, наприклад апаратне і програмне забезпечення ЕОМ, фізичні системи, соціальні і ін. Мережі Петрі застосовуються для моделювання виникнення різних подій у системі. Зокрема, мережі Петрі можуть моделювати потік інформації або інші ресурси системи.
У цьому розділі ми приведемо приклади систем, що моделюються за допомогою мереж Петрі. Ці приклади нададуть уявлення про великий клас систем, які можна моделювати мережами Петрі, про метод, що використовується, моделювання і про властивості, якими повинні володіти системи, що моделюються.
Просте подання системи мережею Петрі засновано на двох основних поняттях: подіях і умовах. Події — це дії, що мають місце в системі. Виникненням подій управляє стан системи. Стан системи може бути описано множиною умов. Умова — є предикат або логічний опис стану системи. Умова може приймати або значення «істина», або значення «неправда».
Тому що події є діями, то вони можуть відбуватися. Для того щоб подія відбулася, необхідне виконання відповідних умов. Ці умови називаються передумовами події. Виникнення події може викликати порушення передумов і може привести до виконання інших умов, післяумов.
Як приклад розглянемо задачу моделювання простого автомата-продавця. Автомат-продавець перебуває в стані очікування доти, поки не з'явиться замовлення, що він виконує і посилає на доставку. Умовами для такої системи є: а) автомат-продавець чекає; б) замовлення прибув і чекає; в) автомат-продавець виконує замовлення; г) замовлення виконане. Подіями будуть: 1. Замовлення надійшло. 2. Автомат-продавець починає виконання замовлення. 3. Автомат-продавець закінчує виконання замовлення. 4. Замовлення посилає на доставку. Передумови події 2 (автомат-продавець починає виконання замовлення) очевидний: (а) автомат-продавець чекає; (б) замовлення прибув і чекає. Післяумова для події 2: (в) автомат-продавець виконує замовлення. Аналогічно ми можемо визначити передумови і післяумови для інших подій і скласти наступну таблицю подій і їх перед- і післяумов:
Таблиця 1
Таблиця передумов і післяумов для мережі "простий автомат-продавець"
Подія | Передумови | Післяумови |
Немає а,б в г | б в г, а немає |
Таке подання системи легко моделювати мережею Петрі. У мережі Петрі умови моделюються позиціями, події — переходами. При цьому входи переходу є передумовами відповідної події; виходи — післяумовами. Виникнення події рівносильне запуску відповідного переходу. Виконання умови представляється фішкою в позиції, що відповідає цій умові. Запуск переходу видаляє розв'язні фішки, що представляють виконання передумов і утворить нові фішки, які представляють виконання післяумов.
Мережа Петрі на рис. 15 ілюструє модель наведеного вище автомата-продавця. Ми вказали кожному переходу і позиції відповідну подію і умову.
Рис. 15. Мережа Петрі для простого автомата-продавця
Можна моделювати і більш складну систему (рис. 16).
Рис. 16. Мережа Петрі для складного автомата-продавця
Система автомат-продавець складається із трьох різних автоматів М1, М2 і М3 і двох операторів F1 і F2. Оператор F1 впливає на автомати M1 і М2, а оператор F2 — на М1 і М3. Замовлення вимагають двох стадій обробки. Спочатку вони повинні бути оброблені автоматом М1 потім або автоматом М2, або М3. Ця більш складна система буде мати наступні умови:
а) замовлення прибуло і чекає обробки автоматом М1;
б) замовлення оброблене автоматом M1 і чекають обробки або автоматом М2, або M3;
в) замовлення виконане;
г) автомат M1 незайнятий;
д) автомат М2 незайнятий;
е) автомат М3 незайнятий;
ж) оператор F1 незайнятий;
з) оператор F2 незайнятий;
и) автомат M1 є під впливом оператора F1;
к) автомат М1 є під впливом оператора F2;
л) автомат М2 є під впливом оператора F1;
м) автомат М3 є під впливом оператора F2.
При цьому можуть відбуватися наступні події:
1. Надходження замовлення.
2. Оператор F1 починає виконання замовлення на автоматі M1.
3. Оператор F1 закінчив виконання замовлення на автоматі M1.
4. Оператор F2 починає виконання замовлення на автоматі М1.
5. Оператор F2 закінчив виконання замовлення на автоматі М1.
6. Оператор F1 починає виконання замовлення на М2.
7. Оператор F1 закінчив виконання замовлення на М2.
8. Оператор F2 починає виконання замовлення на М3.
9. Оператор F2 закінчив виконання замовлення на М3.
10. Замовлення посилає на доставку.
Таблиця 2
Перед- і післяумови кожної події мережі "складний автомат"
Події | Передумови | Післяумови |
немає | а | |
а, ж, м | и | |
и | ж, м, б | |
а, з, м | к | |
к | б, з, м | |
б, ж, д | л | |
л | в, ж, д | |
б, е, з | м | |
м | в, е, з | |
в | немає |
Лабораторна робота № 1