Научная статья на тему 'Система імітаційного моделювання засобами сіток Петрі'

Система імітаційного моделювання засобами сіток Петрі Текст научной статьи по специальности «Экономика и бизнес»

CC BY
567
104
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ / СЕТЬ ПЕТРИ

Аннотация научной статьи по экономике и бизнесу, автор научной работы — Стеценко І. В., Бойко О. В.

Рассматривается имитационное моделирование сложных систем на основе сетей Петри. Введены информационные связи между элементами сети Петри, позволяющие воспроизводить взаимодействие подсистем модели на информационном уровне. Создана универсальная система имитационного моделирования на основе сетей Петри

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

PTRSIMThis article considers the system's simulation modeling based on Petri net. The information ties between Petri net's elements are proposed for simulation of model part's interaction on information level. The universal simulation modeling system PTRSIM based on Petri net is created

Текст научной работы на тему «Система імітаційного моделювання засобами сіток Петрі»

УДК 004.4:004.94

І.В. СТЕЦЕНКО, О.В. БОЙКО

СИСТЕМА ІМІТАЦІЙНОГО МОДЕЛЮВАННЯ ЗАСОБАМИ СІТОК ПЕТРІ

Abstract: This article considers the system's simulation modeling based on Petri net. The information ties between Petri net's elements are proposed for simulation of model part's interaction on information level. The universal simulation modeling system PTRSIM based on Petri net is created.

Key words: simulation modelling, Petri net.

Анотація: Розглядається імітаційне моделювання складних систем на основі сіток Петрі. Введені інформаційні зв'язки між елементами сітки Петрі, які призначені для відтворення взаємодії підсистем моделі на інформаційному рівні. Створена універсальна система імітаційного моделювання на основі сіток Петрі PTRSIM.

Ключові слова: імітаційне моделювання, сітка Петрі.

Аннотация: Рассматривается имитационное моделирование сложных систем на основе сетей Петри. Введены информационные связи между элементами сети Петри, позволяющие воспроизводить взаимодействие подсистем модели на информационном уровне. Создана универсальная система имитационного моделирования на основе сетей Петри PTRSIM.

Ключевые слова: имитационное моделирование, сеть Петри.

1. Вступ

Імітаційне моделювання систем представляє могутній сучасний засіб дослідження складних систем різного призначення. В останні роки розробка програмного забезпечення розвивається у напрямку створення пакетів імітаційного моделювання, які є універсальними і водночас простими у застосуванні. Більшість таких розробок орієнтовані на моделювання процесів обслуговування об'єктів [1]. Але існують системи, які вимагають більш загального підходу. Так, процеси управління, сутність яких полягає у тісній взаємодії підсистеми управління та підсистеми об'єкта управління, в загальному випадку не можуть бути описані як процеси обслуговування об'єктів.

Сітки Петрі являються універсальним засобом формального опису процесів, що відбуваються у дискретно-подійних системах. Проте через велику кількість елементів, потрібних для опису навіть простих процесів, моделювання засобами сіток Петрі не набуває такої популярності серед науковців, як моделювання процесів обслуговування об'єктів. Дійсно, існує багато орієнтованих на обслуговування технологій моделювання систем, таких, як Arena, Extend, GPSS. Широко відомих розробок технологій моделювання, які базуються на сітках Петрі, не існує.

2. Постановка задачі

Проблема насамперед полягає у тому, щоб зробити представлення систем сітками Петрі більш зрозумілим, наближеним до реальних процесів, що відбуваються. Потрібно зменшити кількість елементів, необхідних для представлення процесів, не порушивши при цьому універсальності алгоритму імітації сіток Петрі. Розширення поняття сітки Петрі (у межах її математичного визначення) дозволить збільшити круг задач, що підлягають моделюванню.

Використання сіток Петрі для цілей імітаційного моделювання може стати більш поширеним, якщо розробити гнучку технологію імітаційного моделювання систем, що забезпечує зручність введення моделі, її перевірки та корекції, коректний алгоритм імітації, зручність спостереження за результатами моделювання.

© Стеценко І.В., Бойко О.В., 2009

ISSN 1028-9763. Математичні машини і системи, 2009, № 1

3. Розробка системи імітаційного моделювання РТКБІМ

Для того, щоб представити систему у вигляді сітки Петрі, потрібно:

- виділити події, що виникають у системі;

- з‘ясувати умови, при яких виникає кожна з подій;

- з‘ясувати зміни, які відбуваються в системі при здійсненні кожної події;

- представити графічно зв‘язки між подіями та умовами.

У графічному представленні сітки Петрі подіям відповідають переходи, умовам - позиції. Корисно позначати позиції та переходи не літерами, а іменами “прилад”, “датчик”, “надходження даних”, “виконання завдання” та інш., які підказують зв'язок того чи іншого фрагмента сітки Петрі з реальною системою.

Математично структуру сітки Петрі представляють за допомогою матриць [2]. Матриця

входів Б- характеризує зв'язки, які йдуть від позицій до переходів, а матриця виходів Б+ - зв'язки,

які йдуть від переходів до позицій. Вектор маркування Мі характеризує кількість фішок в і -позиції.

Умову запуску переходу та результат запуску переходу повністю характеризують матриці входів та виходів.

У роботі [3] запропоновані загальні підходи до моделювання систем за допомогою сіток Петрі з часовими затримками і виділені декілька рівнів складності сіток Петрі:

1) елементи матриці Б+ або матриці Б- є числа;

2) елементи матриці Б+ або матриці Б- залежать від випадкового числа г, закон розподілу якого відомий;

3) елементи матриці Б+ або матриці Б- залежать від вектора маркірування М ;

4) елементи матриці Б+ залежать від значення керуючого параметра и ;

5) елементи матриці Б+ або матриці Б- залежать від часу і.

Перші два рівня складності - це класичні сітки Петрі. Інші три рівня пропонуються для того, щоб розширити можливості сіток Петрі і збільшити ефективність їх використання для цілей імітаційного моделювання.

На рис. 1 представлений фрагмент сітки Петрі, що описує процес надходження та виконання завдань різних типів при наявності дозволу класичним способом. Дозволом може бути, наприклад, працездатність приладу, наявність зеленого світла в заданому напрямку руху і т.п. Переходи “надходження завдання” та “виконання завдання” мають часові затримки, відповідні до реальної системи. Переходи “перевірка наявності дозволу” мають часову затримку 0 і введені вимушено, щоб дозвіл могли використовувати обидва типи завдань. Якщо конфліктна ситуація не виникає при запуску цих переходів, таке представлення системи є досить прийнятним. Але, якщо виникає конфліктна ситуація, то за правилами класичної сітки Петрі потрібно обирати перехід, який запускається за допомогою випадкового числа. Потім слід запустити його, і тільки після цього запуститься інший перехід. Це приводить до зайвих витрат машинного часу. Модель буде простішою і зрозумілішою, якщо представити її' так, як на рис. 2. Тут пунктирними лініями представлені інформаційні зв'язки між елементами сітки Петрі. Наявність фішки в позиції “дозвіл” є

складовою умовою переходу “виконання завдання”, проте при запуску цього переходу фішка не віднімається.

Надходження

завдання

Перевірка

наявності

дозволу

Виконання

завдання

Надходження завдання 1

Виконання

завдання

©ї=!|-^ —ю—4-ю

Дозвіл

Дозвіл

> і

0<=ї|—Ю—^—Ю—4—О

Ог=^|—О—*|—Ю

Рис. 1. Фрагмент сітки Петрі, що описує процес надходження та виконання завдань при наявності дозволу класичним способом

Рис. 2. Фрагмент сітки Петрі, що описує процес надходження та виконання завдань при наявності дозволу способом, при якому матриця

виходів залежить від маркірування

Математично сітка Петрі з інформаційними зв‘язками описується матрицею входів, яка залежить від поточного маркірування. Наприклад, зв'язок між позицією „дозвіл” та подією „виконання завдання” представляється таким чином:

де і -перехід - подія „виконання завдання”, у -позиція - умова „надійшло завдання для виконання”, М(дозвіл) - маркірування позиції „дозвіл”, 1000000 - велике число, що забезпечує

невиконання умови запуску переходу. Взагалі підхід до побудови моделей за принципом “матриця входів і матриця виходів залежить від маркірування” виявляється дійовим для систем, управління в яких ґрунтується на поточному стані всієї системи.

Розширене таким чином поняття сітки Петрі стало основою для розробки нової системи імітаційного моделювання складних систем.

Елементи, які ускладнюють реалізацію сіток Петрі і які реалізовані в системі імітаційного моделювання РЇРБІМ:

- наявність часових затримок;

- наявність багатоканальних переходів;

- наявність конфліктних переходів;

- залежність кількості зв'язків від маркірування всієї сітки Петрі;

- наявність інформаційних зв'язків.

Запуск переходу з часовою затримкою складається з двох дій, виконуваних у різні моменти часу. По-перше, за умови виконання умови запуску переходу фішки із усіх вхідних позицій переходу віднімаються і запам'ятовується момент виходу фішок, як поточний час моделювання плюс час затримки переходу. Запуск переходу здійснюється повторно, якщо умова запуску переходу виконана, і здійснюється стільки разів, скільки цього дозволяють фішки у вхідних позиціях. Кожний раз при запуску переходу запам'ятовується момент виходу фішок з переходу. Таким чином, у

багатоканальному переході запам'ятовується історія виходів фішок з переходу. По-друге, у момент виходу фішок здійснюється додавання фішок в усі вихідні позиції переходу. Такий підхід дозволяє моделювати обслуговування об'єктів паралельно багатьма пристроями лише одним переходом сітки Петрі.

В [4] дано формальне визначення правил функціонування часової сітки Петрі з багатоканальними переходами і виведено рівняння станів часової сітки Петрі:

М'р (т) = Мр (т-1) + £ (т- й,)

ієр~

Мр (т) = М' р (т) - £ ^рЛиг (т)

ієр+

<Мр(т) > 0,рє Р , (1)

V (т) = &М 'д (т)/ , ц є і -

0 < и (т) < (т), і є Т

^ (0) = 80,т = 1,2...

де т - номер такту модельного часу (протягом одного такту в сітці Петрі не відбувається жодної зміни стану); и( (т) - кількість каналів переходу і, що є запущеними в такті т; Мр (т) -

маркірування позиції в такті т ; М' (т) - проміжне маркірування, що є результатом виходу фішок з

переходів; р (т) - кількість зв'язків між переходом і та позицією р ; (т) - кількість каналів, що

можуть бути запущені в такті т ; £0 - стан сітки Петрі (її позицій та переходів) у початковий момент часу.

Конфліктні переходи дозволяють моделювати розгалуження маршрутів фішок. Існують такі способи розв'язання конфліктів: рівноймовірнісний, пріоритетний та ймовірнісний способи. При рівноймовірнісному способі переходи, що конфліктують, запускаються з рівною ймовірністю. При пріоритетному способі першим запускається перехід, для якого указаний вищий пріоритет. При ймовірнісному способі для конфліктних переходів указується ймовірність запуску переходу і першим запускається перехід, на який указало випадкове число. Ймовірнісний спосіб у системі РТРБІМ реалізується за допомогою параметра, що називається „вага переходу”. Якщо для п -конфліктних

переходів задана вага переходу а{, і = 1,...п, то ймовірність запуску переходу і розраховується

а

системою як —.

£ аі

і

У системах управління часто виникає ситуація, коли стан підсистеми управління залежить від поточного стану всієї системи. Наприклад, кількість товарів, які постачаються, може залежати від кількості невдоволеного попиту або від поточного стану запасу товарів. Такі моделі в системі РТРБІМ реалізуються з використанням зв'язків у кількості, яка залежить від поточного маркірування сітки Петрі (рис. 3). Формула, що визначає кількість зв'язків, передбачає використання маркірувань окремих позицій сітки Петрі, цілих чисел та арифметичних дій між ними.

Наявність інформаційних зв'язків дозволяє моделювати зв'язки, що поєднують підсистему управління об'єкта з підсистемою функціонування об'єкта. Наприклад, підсистему управління дорожнім рухом на перехресті з підсистемою руху в окремому напрямку; підсистему управління запасами товарів з підсистемою зберігання та продажу товарів та інш. Інформаційний зв'язок означає, що наявність фішок у вхідній позиції є обов'язковою для виконання умови запуску переходу, але при запуску переходу фішки з такої вхідної позиції не віднімаються.

О 0*1 Є 0^ 1* © 1 5 / г У ► 00 1е

товар відсутній

надійшов покупець Р2

Р1 ^----

15

настав час контролн РЗ

Рис. 3. Моделювання системи продажу та постачання товарів засобами системи PTRSIM

Алгоритм імітації сітки Петрі складений на основі об‘єктно-орієнтованого підходу. Усі об'єкти та процедури для обслуговування, імітації та візуалізації моделі зібрані в незалежному програмному модулі. Головним об'єктом модуля є менеджер моделі, через який здійснюється керування імітацією та візуалізацією.

Основними об'єктами моделі є об'єкти «вершина», «перехід» та «лінія зв'язку». Кожен об'єкт має процедури для власної візуалізації згідно з вказаними параметрами. Об'єкти «вершина» та «перехід» мають динамічні масиви вказівників на вхідні та вихідні лінії зв'язку. Об'єкт «лінія зв'язку» має вказівники на вершину та перехід, які з'єднуються, а також змінну, що вказує напрям зв'язку (вхідний чи вихідний). Кількість зв'язків в одному напрямку вказується безпосередньо як параметр об'єкта «лінія зв'язку». Якщо кількість зв'язків залежить від маркування всієї сітки, параметр кількості зв'язків задається формулою, що містить маркірування вершин та арифметичні операції між ними. Лінія зв'язку, що йде від вершини до переходу, може бути задана як інформаційна. Фішки з вхідної позиції інформаційної лінії зв'язку не віднімаються.

Процедури, пов'язані з імітацією сітки, належать об'єкту „перехід”. Присутність часових затримок обумовлює розділення процедури запуску переходу на початкову та кінцеву. Значення часової затримки може бути задане як детермінована величина, так і випадкова величина із рівномірним, нормальним чи експоненціальним законом розподілу. Окремо виділена процедура перевірки умови запуску переходу, що перевіряє наявність достатньої кількості фішок у вершинах, на які вказують вказівники вхідних зв'язків переходу.

Початкова процедура запуску переходу віднімає фішки з вершин, на які вказують вхідні зв'язки переходу, у кількості, рівній параметру кількості ліній зв'язку об'єкта «лінія зв'язку», що вказує на дану вершину. Момент часу, в який повинно відбутися додавання фішок у вихідні позиції переходу, запам'ятовується у буфері запуску. Оскільки запуск переходу здійснюється стільки разів, скільки це дозволяють фішки у вхідних позиціях переходу, то передбачається можливість зберігання одразу декількох значень часу виходу фішок.

Кінцева процедура запуску переходу викликається при досягненні модельним часом одного зі значень у буфері запуску переходу. Дана процедура додає фішки в усі вершини, на які вказують вихідні зв'язки даного переходу, у кількості, рівній параметру кількості ліній зв'язку об'єкта «лінія зв'язку», що вказує на дану вершину. Відповідне значення часу з буфера запуску переходу видаляється.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Процедура імітації на інтервалі «час моделювання» являє собою нескінченний цикл перевірок умов запуску та запусків переходів, доки не сплине час моделювання. Віднімання фішок за умови запуску переходу відбувається миттєво. Потім здійснюється пошук найближчого до модельного часу значення в буфері запуску по всіх переходах. Якщо знайдене значення є меншим, ніж час моделювання, проводиться пошук всіх аналогічних значень у буферах запусків інших переходів та виклик процедури кінцевого запуску для знайдених переходів. Якщо для жодного переходу не виконуються умови запуску, а буфери запуску переходів пусті або найближче значення буфера запуску є більшим, ніж час закінчення імітації, то імітація завершується.

Імітація в реальному часі реалізована з використанням процедури імітації на інтервалі «час моделювання». Розміри імітаційних інтервалів розраховуються відповідно до заданої користувачем частоти дискретизації процесу та коефіцієнта прискорення ходу модельного часу. Таким чином, досягається абсолютне збігання результатів імітації на інтервалі та в реальному часі.

У системі РТРБІМ реалізований запуск конфліктних переходів двома способами. Перший спосіб - запуск переходів згідно з заданими пріоритетами. Якщо ж пріоритети конфліктних переходів однакові або не указані, то використовується другий спосіб - запуск переходів згідно з указаними параметрами „вага переходу”. Параметри пріоритету можуть бути використані для будь-якої кількості переходів сітки. Переходи, які конфліктують, знаходяться системою автоматично і запускаються згідно з указаними параметрами пріоритету. Якщо модель сітки Петрі не має конфліктних переходів, їх перевірка може бути відключена. Відсутність перевірки прискорить процес імітації, а при наявності конфлікту запускається перехід, що створений раніше.

Система забезпечена зручним графічним інтерфейсом введення моделі. Конструктивними елементами моделі є позиції, переходи та зв'язки сітки Петрі. Розробник моделі обирає піктограми елементів за допомогою миші і розміщує їх у робочу область. Подвійним натисканням миші на піктограмі викликається діалогове вікно, в якому уточнюються параметри елементів. Передбачена можливість збільшення або зменшення масштабу зображення моделі, а також прокрутки зображення для перегляду різних частин систем, якщо вона не може поміститися на екрані. Позиції, переходи і зв'язки в режимі анімації динамічно змінюють свій колір і параметри в ході імітації по мірі просування модельного часу, який також представлений на екрані монітора. Елементи управління анімацією дозволяють прискорити або уповільнити її перебіг, а також зупинити моделювання і

внести зміни в модель «на ходу». При виконанні робочих прогонів моделі анімація відключається, оскільки вона уповільнює їх виконання.

Статистичні можливості системи забезпечують підраховування для об'єктів типу «вершина» мінімального, максимального та середнього значень маркування, для об'єктів типу «перехід» -мінімального, максимального та середнього значень розміру буфера запуску, сумарного значення часу роботи переходу та середнього завантаження переходу. Позиції та переходи, для яких повинні збиратися статистичні дані, указуються розробником моделі як об'єкти моніторингу. Для кожного вибраного показника також створюються графіки змінювання в залежності від часу моделювання.

4. Приклад моделювання засобами системи РТКБІМ

На рис. 3 наведений приклад моделювання продажу та постачання товарів у магазині. Інформаційний зв'язок між позицією „запас” та переходом „достатній запас” використаний для перевірки наявності заданої кількості товарів у запасі (в даному прикладі - 15 товарів). Формула для зв'язку між переходом „доставка товару” та позицією „запас”, що відповідає за постачання товарів, введена для того, щоб поповнення запасу робилося до встановленого значення (в даному прикладі до 72 товарів). Конфлікт між переходами „купівля товару” та „товар відсутній” вирішується присвоєнням вищого пріоритету переходу „купівля товару”. Конфліктними є також переходи „достатній запас” і „доставка товару”. Щоб доставка товару здійснювалась тільки за умови недостатнього запасу, переходу „достатній запас” присвоєний більший пріоритет у порівнянні з переходом „доставка товару”.

У результаті моделювання дослідник може спостерігати поточний стан запасу товарів, середній, максимальний та мінімальний стан запасу, загальну кількість вдоволеного та невдоволеного попиту, загальну кількість поповнень запасу протягом часу моделювання, а також динаміку змінювання стану запасу товарів (рис. 4).

Іч

Рис. 4. Динаміка змінювання стану запасу товарів представлена засобами системи PTRSIM 5. Висновки

Система імітаційного моделювання PTRSIM забезпечує зручний і зрозумілий графічний інтерфейс введення моделі, що формалізована засобами сітки Петрі; використання інформаційних зв'язків між елементами моделі; анімацію імітаційного моделювання (для цілей верифікації моделі та навчальних цілей); коректний алгоритм імітації; представлення результатів моделювання у графічному вигляді. Система може використовуватись як у навчальних цілях, так і в науково-дослідних.

1. Кельтон В., Лоу А. Имитационное моделирование. Классика СS. - 3-е изд. - СПб.: Питер; Киев: Издательская группа ВНУ, 2004. - 847 с.

2. Питерсон Дж. Теория сетей Петри и моделирование систем. - М., 1984. - 270 с.

3. Стеценко І.В., Данилюк А.А. Імітаційне моделювання систем управління засобами сіток Петрі // Вісник Черкаського державного технологічного університету. - 2005. - № 3. - С. 293 - 295.

4. Зайцев Д.А., Слепцов А.И. Уравнение состояний и эквивалентные преобразования временних сетей Петри // Кибернетика и системный анализ. - 1997. - № 5. - С. 59 - 76.

Стаття надійшла до редакції 14.07.2008

i Надоели баннеры? Вы всегда можете отключить рекламу.