ІНСТРУМЕНТАРІЙ EXTENDSIM ДЛЯ РОЗРОБКИ І ДОСЛІДЖЕННЯ ДИСКРЕТНО-ПОДІЄВИХ МОДЕЛЕЙ
Розробка найпростішої моделі
Один з основних підходів до створення імітаційних моделей систем, який реалізований в середовищі ExtendSim , - дискретно-подієвого моделювання.
Система називається дискретно-подієвої якщо зміна станів в ній відбувається під впливом явно певних (дискретних) подій. Перебуваючи в деякому стані, система зберігає його (не змінює своїх характеристик) до настання чергового події, під впливом якого змінні системи (і, отже, її стан) змінюються «стрибком». Термін «дискретно-подієвого моделювання» історично закріпився за моделюванням, перш за все, систем масового обслуговування (СМО) [6].
Поняття СМО охоплює широке коло систем. СМО - будь-яка динамічна система з обслуговування заявок в умовах обмеження на ресурси системи [3, 7]. Прикладами СМО є: бібліотека, обчислювальний центр, система передачі даних, інформаційна система, автоматизована система управління, аеропорт, виробнича дільниця, АЗС і т.д. Будь-яка інформаційно-обчислювальна система може бути представлена, формалізовано описана і досліджена, як СМО.
При побудові моделі, наприклад, обчислювальної системи стан системи може бути представлено кількістю заявок в системі, числом зайнятих комп'ютерів. Стан системи змінюється, якщо нова заявка надходить в систему або, коли звільняється комп'ютер. Прихід заявки або закінчення обслуговування заявки - подія, яка змінює стан системи «стрибком».
Реалізований в ExtendSim інструментарій для створення дискретно подієвої моделі розглянемо на прикладі простої задачі.
Приклад 2. Відомо, що обчислювальна система складається з одного комп'ютера. Інтервал часу між двома послідовними надходженнями завдань до комп'ютера підпорядковується рівномірному закону розподілу в інтервалі: 1-11 хв. Перед комп'ютером допустима чергу завдань, довжина якої не обмежена. Час виконання завдання також рівномірно розподілено в інтервалі: 1-19 хв. Промоделювати процес обробки 100 завдань.
Для створення моделі використовуються блоки двох бібліотек: Item.Іх (див. Додаток) і Plotter.lix. Бібліотека Item.Іх є основною при моделюванні дискретно-подієвих систем, бібліотека Plotter.lix - містить різні типи графіків. Кінцевий вигляд моделі наведено на рис. 13.

Мал. 13. Кінцевий вигляд моделі
Розглянемо побудову моделі по кроках. У моделі використовуються такі блоки: Create, Exit, Queue, Executive, Activity, Plotter Discrete Event. Зупинимося детальніше на налаштуваннях кожного з блоків.
У блоці Executive встановлюється загальний час моделювання, моделювання завершується, коли через модель пройдуть 100 заявок. У діалоговому вікні блоку виберіть вкладку Control, виберіть опцію: Stop simulation: when count connector value -> = і введіть значення 100.
У блоці Create встановлюється інтервал між надходженням двох заявок і закон розподілу інтервалу. На рис. 14 наведені настройки блоку:
Мал. 14. Налаштування блоку Create
У блоці Activity встановлюється закон розподілу інтервалу між надходженням двох заявок і параметри закону. На рис. 15. Наведено настройки блоку:
Мал. 15. Налаштування блоку Activity
В налаштуваннях блоків Exit, Queue , Plotter Discrete Event використовуються параметри за замовчуванням і нічого змінювати не потрібно.
Зверніть увагу, блоки Queue і Activity містять інформаційні вихідні коннектори, з яких можна зняти інформацію про характеристики поточних (що проходять через модель) заявок або поточний стан блоку. Наприклад. у блоку Queue наступні інформаційні вихідні коннектори: L текушего довжина черги; W - час очікування в черзі поточної заявки; F - стан черги: повертає 1, якщо чергу повна, 0 - в іншому випадку; Р - пріоритет поточної заявки.
У блоку Activity наступні основні інформаційні вихідні коннектори: L - поточна кількість оброблюваних заявок; U - коефіцієнт завантаження; РТ - час обробки поточної заявки та інші. Детальну інформацію про коннекторах блоку можна прочитати, натиснувши кнопку help в діалоговому вікні блоку.
Вихідні коннектори блоків (див. Рис. 13) з'єднуються з графіком Plotter Discrete Event. Після запуску моделі на виконання (пункт меню Run -> Run Simulation) виводяться графік зміни обраних характеристик системи в процесі моделювання (червона лінія - середня довжина черги, синя лінія - час обробки однієї заявки) і тимчасової ряд значень характеристик в табличному вигляді (рис. 16).

Мал. 16. Графік зміни вихідних характерце гик
Вихідні характеристики ефективності функціонування системи за результатами моделювання (наприклад, коефіцієнт завантаження системи, середній час обробки заявок, середня довжина черги і т.п.) виводяться у вкладці Results в діалоговому вікні блоку. Наприклад, для блоку Activity виводяться наступні результати (див. Рис. 17): поточний, середній і максимальне число заявок в
пристрої ( Current, Average, Maximum Length); поточний, середній і максимальний час обробки заявки ( Current, Average, Maximum Wait); коефіцієнт використання пристрою ( Utilization); число заявок, які зайшли в пристрій (Arrivals); число заявок, що вийшли з пристрою (Departures).

Мал. 17. Вихідні характеристики блоку Activity
Для блоку Queue виводяться наступні результати (див. Рис. 18): поточний, середній і максимальне число заявок в черзі (Current, Average. Maximum Length); поточний, середній і максимальний час перебування заявки в черзі (Current, Average, Maximum Wait); коефіцієнт використання черзі (Utilization); число заявок, які зайшли в чергу (Arrivals); число заявок, що вийшли з черги (Departures).

Мал. 18. Вихідні характеристики блоку Queue
Очевидно, що моделируемая система не справляється з потоком заявок, так як середній інтервал надходження (6 одиниць часу) заявок менше середнього інтервалу обробки заявки (10 одиниць часу). Комп'ютер завантажений на 99%, черги заявок лінійно зростає і на кінець моделювання включає 71 заявку.
За результатами моделювання також можна сформувати підсумковий текстовий звіт. Для цього, в модель необхідно додати блок
з бібліотеки Value.Іх. Блок статистики нс вимагає підключення і забезпечує збір підсумкової статистики але блокам моделі. Для формування звіту виберіть пункти меню Run -> Generate Report , Run -> Report type (Statistics) / Statistics, Run -> Add all to report. В результаті моделювання буде виведений текстовий звіт.