Розширення можливостей переходів під час моделювання
Переходи — це активні елементи мережі, які можуть спрацьовувати паралельно. Чи може перехід спрацьовувати паралельно, чи буде він спрацьовувати раніше ніж інші переходи — це повинно бути точно вказано у визначенні переходу під час моделювання. Порядок спрацьовування переходів визначає програма керування моделюванням. Щоб відтворити динаміку роботи системи, котра моделюється, переходи повинні спрацьовувати у відповідні моменти модельного часу.
Перехід може збуджуватися тільки тоді, коли виконано правила збудження. Для цього програма керування моделюванням відшукує маркери у вхідних вузлах кожного переходу, щоб перевірити вимоги виконання правил, визначених вхідними дугами. Якщо необхідна сукупність маркерів у вхідних вузлах переходу знайдена, він збуджується. Перехід спрацьовує тоді, коли виконуються всі чотири умови:
v пропускну здатність паралельності все ще не вичерпано (тобто, як часто залежний від часу перехід може спрацьовувати паралельно самому собі);
v вхідні вузли переходу містять достатню кількість маркерів з необхідними атрибутами, які відповідають виразам вхідних дуг;
v можуть бути виконані логічні умови, сформульовані для атрибутів маркерів вузлів;
v пропускна ємність вихідних вузлів цього переходу така, що вони здатні включити таку кількість маркерів, яка може бути задана числами пропускної здатності вихідних дуг, тобто числами, які визначають кількість маркерів, що потраплять у вихідні вузли.
Потім за допомогою програми моделювання перевіряються маркери у вхідних вузлах, які знищуються в поточний момент модельного часу (для вхідних дуг може бути заданий більш пізній час знищення маркерів), і маркери, що будуть створені для вихідних вузлів, генеруються після того, як закінчиться час переходу (для вихідних дуг може установлюватися час на дузі відносно часу переходу).
Розглянемо мережу Петрі, зображену на рис. 3.17 (чорні маркери позначено символом #). Під час перегляду сукупності маркерів у лівій частині мережі за допомогою програми керування моделюванням перевіряється правило збудження переходу Т1. Перехід може спрацювати, вилучаючи три чорних маркери з вхідного вузла Р1, генеруючи один чорний маркер у вихідному вузлі Р2 і п'ять чорних маркерів у вихідному вузлі Р3. Наступна сукупність маркерів не дає змогу переходу Т1 спрацювати знову, тому що вузол Р1 повинен мати принаймні три чорних маркери. Така сукупність маркерів може виникнути, наприклад, коли збуджується перехід, для якого вузол Р1 є вихідним вузлом.
Рис. 3.17.Ілюстрація до правила спрацювання переходів
Слід зробити одне попередження щодо конструкцій циклу. Відповідно до вищезгаданого правила перехід Т1 на рис. 3.18 не буде збудженим, якщо пропускна здатність вузла Р1 дорівнює одиниці. Така пропускна здатність недостатня для передавання маркера, тому що у вузлі Р1 уже є інший маркер. Однак цей маркер знищується вхідною дугою на початку спрацювання так, щоб точно в цей же момент часу пропускна здатність вузла була б достатньою для прийому іншого маркера. Інтуїтивне припущення, що перехід Т1 міг би спрацьовувати, буде дійсним, якщо вхідна дуга перевіряється за допомогою програми керування моделюванням раніше, ніж вихідна.
У пакетах моделювання мереж Петрі це так і реалізується. Принцип циклу також працює, коли вхідні й вихідні дуги мають різні значення часу збудження, і час збудження вхідної дуги менший, ніж час збудження вихідної дуги, або дорівнює йому. Бажано уникати конструкцій циклу із залежними від часу дугами.
Спрацювання переходу зазвичай приводить до того, що у вихідних вузлах утворюється нова сукупність маркерів. Таким способом може бути представлено потік даних. Щоб потік даних міг бути випущеним переходом, його слід обробити і представити за допомогою опису переходу.