Моделювання систем масового обслуговування
Опис мережі в виді системи масового обслуговування. Створення імітаційної моделі СМО за допомогою спеціальної мови моделювання GPSS. Алгоритм обробки транзактів (заявок). Текст і листинг програми. Значення операндів блоків моделі. Аналіз файлів звіту.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 21.03.2019 |
Размер файла | 178,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
МНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ
КИЇВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ ТЕХНОЛОГІЙ ТА ДИЗАЙНУ
КАФЕДРА КОМП`ЮТЕРНИХ НАУК ТА ТЕХНОЛОГІЙ
КУРСОВИЙ ПРОЕКТ
Моделювання систем
Виконав:
Студент групи БІТ 1-15
Потапенко Микита Олександрович
Київ 2018
Зміст
Вступ
1. Постановка структурної схеми моделі
2. Опис мережі в виді системи массового обслуговування
3. Формалізація и алгоритмізація моделі
4. Імітаційний експеримент
4.1 Текст програми с комментарями
4.2 Лістинг результатів моделювання
4.3 Опис використовуємих блоків
Висновки
Список використаної літератури
Вступ
В даний час використання сучасних комп'ютерів є потужним засобом реалізації імітаційних моделей в САПР обчислювальних засобів. Для того, щоб реалізувати імітаційну модель складної системи в складі САПР потрібні спеціальні засоби автоматизації моделювання, до складу яких зазвичай входять мова опису об'єктів моделювання, засоби обробка мовних конструкцій (компілятор або інтерпретатор), система організації імітаційного процесу в часі.
Застосування універсальних мов програмування в імітаційному моделюванні обчислювальних систем дозволяє досягти гнучкості при розробці, налагодженні і випробуванні моделі. Однак при цьому витрачаються великі зусилля на програмування, так як моделювання елементів обчислювальних систем, відлік модельного часу, управління і контроль процесу моделювання істотно ускладнюються. Тому доцільно застосовувати спеціалізовані засоби імітаційного моделювання, які мають такі переваги перед універсальними мовами:
- істотно менші витрати часу на програмування;
- можливість попередньої розробки набору стандартних компонент імітаційних моделей для заданого класу об'єктів;
- зручність опису моделей, а також представлення вхідних і вихідних даних;
- автоматичне формування необхідних типів даних і розподіл пам'яті в процесі імітаційного експерименту і т.д.
Одним з таких спеціалізованих і ефективних засобів імітаційного моделювання та дослідження складних технічних систем є GPSS (GENERAL PURPOSE SIMULATION SYSTEM). Це універсальна система імітаційного моделювання дискретних об'єктів і процесів і однойменний вхідна мова, призначені для побудови моделей і проведення обчислювального експерименту. Мова GPSS орієнтований на клас об'єктів, які можна представити у вигляді систем масового обслуговування. У нього входять спеціальні засоби, що дозволяють описувати поведінку досліджуваних систем в динаміці.
Метою даної курсової роботи є вивчення і освоєння навичок створення імітаційних моделей систем масового обслуговування на ЕОМ за допомогою спеціальної мови моделювання GPSS, який дозволяє при моделюванні на ЕОМ проводити всього за кілька секунд реального часу експерименти, віднімають тижні, місяці і навіть роки модельного часу.
Магістральний канал передачі даних складається із загального накопичувача та двох каналів - основного і резервного. Повідомлення поступають в систему через 9±5 секунд і чекають в накопичувачі передачі. У нормальному режимі роботи повідомлення передаються по основному каналу за 7±3 секунд. В основному каналі через інтервали часу 200±35 секунд трапляються збої. Якщо збій трапляється під час передачі повідомлення, то відбувається його переривання. При цьому за 2 секунди запускається резервний канал, який передає повідомлення з самого початку. Відновлення основного каналу займає 70±7 секунд. До відновлення основного каналу повідомлення передаються по резервному каналу. Після відновлення резервний канал відключається і основний канал продовжує роботу із чергового повідомлення.
Визначить найкращий режим роботи системи, відповідні завантаження резервного та основного каналу, частоту переривання повідомлень і функцію розподілу часу передачі повідомлень по магістралі. змоделювати поведінку системи протягом 2 годин.
1. Постановка структурної схеми моделі
У нашому випадку є магістраль передачі даних від віддаленого об'єкта, що складається з:
- загального накопичувача системи;
- 2-х каналів - основного і резервного.
Рис.1 Структурна схема моделі
2. Опис мережі в виді системи масового обслуговування
При вирішенні задач моделювання за допомогою СМО процес аналізу пов'язаний з дослідженням проходження через ці системи заявок (транзактів). Всі транзакти є випадковими процесами і при моделюванні СМО можуть бути відомі лише закони розподілу і числові характеристики цих випадкових розподілів, тобто СМО носить статистичний характер.
Пристрої, в яких проводиться обслуговування транзактів, називаються обслуговуючими апаратами (ОА) або каналами. ОА в сукупності утворюють статичні об'єкти. Транзакти є динамічними об'єктами. ОА (канали) описуються в СМО за допомогою булевих змінних: «вільно» або «зайнято» («1» або «0»).
В процесі роботи СМО можуть виникати черги. Кількість черг може бути нескінченно або з обмеженням. Правила, за якими заявки вибираються з черги, називаються дисципліною обслуговування. Величина, що виражає перевагу на право обслуговування називається пріоритетом.
Відповідно до отриманої структурною схемою моделі, уявімо її у вигляді СМО.
У нашій моделі роль повідомлень виконують транзакти (динамічні об'єкти), що надходять в модель кожні 9±5 с. Пріоритет цих транзактов, однаковий (вони надходять з однаковою ймовірністю). Як канали: К1, К2 виступає ОА типу прилад (FACILITY-список всіх прачюючих пристроїв); в якості загального накопичувача магістралі: O4ERED - ОА типу чергу (QUEUE). За одиницю модельного часу прийнята 1 с.
Передача повідомлень із загального накопичувача здійснюється за основним каналом за час 7±3 с. В основному каналі відбуваються збої через 200±35 с. Тоді через час очікування 2 с підключається резервний канал, по якому повідомлення передається заново. Час відновлення основного каналу 70±7 с.
Рис. 2. Модель у виді СМО: И - джерело заявок; O4ERED - загальний накопичувач системи; К1 - основний канал; К2 - резервний канал;
T1=200+35с - час відмови основного каналу;
T2=70+7с - час відновлення основного каналу;
Tож=2c - час підключення резервного каналу.
3. Формалізація и алгоритмізація задачі
Алгоритм обробки транзактів
1. Вхід транзакта в модель;
2. Вхід в чергу (O4ERED);
3. Заняття першого каналу (К1) для обробки;
4. Перевірка умови: виник збій? Якщо ТАК, то перехід до п.3; НІ - до п.5
5. Обробка транзакта за час 4 - 10 с;
6. Перевірка умови: виник збій? Якщо ТАК, то перехід до п.10; НІ - до п.7
7. Звільнення першого каналу (К1);
8. Вихід з черги (O4ERED);
9. Видалення транзактов.
10. Відновлення основного каналу за час 63 - 70 с;
11. Час очікування підключення резервного каналу 2 с;
12. Заняття другого каналу (К2) для обробки;
13. Обробка транзакта за час 4 - 10 с;
14. Звільнення другого каналу (К2);
15. Перехід до п.7
Блок-схема програми
Рис. 3. Блок-схема алгоритма
Перевірка на збій здійснюється наступним чином :
Рис. 4. Блок-схема алгоритма перевірки на збій
транзакт операнд лістинг імітаційний
4. Імітаційний експеримент
4.1 Текст програми
WAITTAIM QTABLE O4ERED,4,2,24; задає таблицю розподілу часу передачі повідомлення по магістралі
GENERATE 9,5 ; генерація транзактів (повідомлень)
QUEUE O4ERED ;вхід в чергу
SEIZE K1 ; заняття першого каналу (основного)
ADVANCE 7,3 ; затримка на 4 - 10 с
RELEASE K1 ; звільнення першого каналу
DEPART O4ERED ; вихід з черги
TERMINATE 0 ; видалення транзактов з системи
GENERATE 200,35 ; генерація транзактів (забезпечують збій)
PREEMPT K1,,L1,,RE ; захоплення першого каналу
ADVANCE 70,7 ; затримка на 63 - 70 с
RETURN K1 ; повернення першого каналу
TERMINATE 0 ; видалення транзактів з системи
GENERATE ,,,0 ; генерація транзактів (нульових)
L1 ADVANCE 2 ; затримка підключення другого каналу
SEIZE K2 ; заняття другого каналу (резервного)
ADVANCE 7,3 ; затримка на 4 - 10 с
RELEASE K2 ; звільнення першого каналу
TERMINATE 0 ; видалення транзактів з системи
GENERATE 7200 ; генерує транзакти кожні 7200 з (2 години)
TERMINATE 1 ; видалення транзактів з системи і зменшення ССМ на 1
START 1 ; установка поч. значення лічильника моделювання (1)
4.2 Лістинг результатів моделювання
GPSS World Simulation Report - МОЯ.70.1
Tuesday, December 11, 2018 02:58:55
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 7200.000 20 2 0
NAME VALUE
K1 10002.000
K2 10003.000
L1 14.000
O4ERED 10001.000
WAITTAIM 10000.000
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 892 0 0
2 QUEUE 892 1 0
3 SEIZE 891 0 0
4 ADVANCE 891 1 0
5 RELEASE 852 0 0
6 DEPART 852 0 0
7 TERMINATE 852 0 0
8 GENERATE 42 0 0
9 PREEMPT 42 0 0
10 ADVANCE 42 0 0
11 RETURN 42 0 0
12 TERMINATE 42 0 0
13 GENERATE 0 0 0
L1 14 ADVANCE 38 0 0
15 SEIZE 38 0 0
16 ADVANCE 38 0 0
17 RELEASE 38 0 0
18 TERMINATE 38 0 0
19 GENERATE 1 0 0
20 TERMINATE 1 0 0
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
K1 933 0.950 7.331 1 935 0 0 0 1
K2 38 0.036 6.850 1 0 0 0 0 0
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
O4ERED 41 40 892 0 20.089 162.155 162.155 0
TABLE MEAN STD.DEV. RANGE RETRY FREQUENCY CUM.%
WAITTAIM 17.471 9.462 0
4.000 - 6.000 58 6.81
6.000 - 8.000 81 16.31
8.000 - 10.000 111 29.34
10.000 - 12.000 76 38.26
12.000 - 14.000 61 45.42
14.000 - 16.000 47 50.94
16.000 - 18.000 47 56.46
18.000 - 20.000 47 61.97
20.000 - 22.000 47 67.49
22.000 - 24.000 49 73.24
24.000 - 26.000 49 78.99
26.000 - 28.000 51 84.98
28.000 - 30.000 39 89.55
30.000 - 32.000 25 92.49
32.000 - 34.000 13 94.01
34.000 - 36.000 19 96.24
36.000 - 38.000 7 97.07
38.000 - 40.000 9 98.12
40.000 - 42.000 7 98.94
42.000 - 44.000 3 99.30
44.000 - 46.000 1 99.41
46.000 - 48.000 4 99.88
48.000 - _ 1 100.00
4.3 Опис використовуваних блоків
Так як нам треба змоделювати поведінку системи протягом 2 годин. Те вводимо в модель таймер-сегмент, що складається з двох блоків:
GЕNЕRАТЕ 7200
ТЕRМINATE 1
У всіх інших блоках ТЕRМINATE в моделі використовувати значення операнда А за замовчуванням (А = 0). Це означає, що припинення моделювання, яке визначається лічильником завершення, не буде залежати від інших блоків ТЕRМINATE.
У команді SТАRТ операнд А повинен дорівнювати одиниці. Таким чином, в процесі моделювання завершення руху транзактов в інших блоках ТЕRМINATE не впливає на лічильник завершення. У момент часу 7200 транзакт вийде з блоку GЕNЕRАТЕ і відразу ж перейде в блок ТЕRМINATE. Лічильник завершення зменшиться на одиницю, і інтерпретатор завершить моделювання.
Блок GЕNЕRАТЕ (генерувати) - це блок, через який транзакти входять в модель. Не існує обмежень на кількість різних блоків GЕNЕRАТЕ в одній моделі.
Коли транзакт входить в модель через блок GЕNЕRАТЕ, інтерпретатор планує час надходження наступного транзакта шляхом розіграшу випадкового числа з відповідним розподілом інтервалів надходження на час, що дорівнює поточному значенню ГОДИН плюс розігране значення. При досягненні цього значення модельного часу наступний транзакт вводиться в модель через блок GЕNЕRАТЕ і т.д.
Необхідно задати функцію розподілу інтервалів надходження транзактов в блоці GЕNЕRАТЕ.
GЕNЕRАТЕ [А], [В], _, [D]
Значення операндів:
А - середнє значення інтервалу надходження;
В - величина розкиду можливих значень щодо середнього значення. (Якщо операнд В не задається, то інтервал часу надходження - детермінована величина);
D - обмежувач загального числа транзактов, яке може увійти в модель через даний блок GЕNЕRАТЕ протягом часу моделювання.
Наприклад завдання рівномірного закону розподілу:
GЕNЕRАТЕ 8,4
Операнди: А = 8, В = 4. Інтервал часу надходження є випадковим числом із середнім значенням 8 і полем допуску 4.
Пара блоків SEIZE (ЗАЙНЯТИ) і RЕLЕАSЕ (ЗВІЛЬНИТИ).
SEIZE К1
RЕLЕАSЕ К1
Цей блок має наступні властивості:
1. Якщо в поточний момент часу пристрій використовується, то транзакт не може ввійти в блок і повинен чекати своєї черги.
2. Якщо пристрій вільно, транзакт може увійти в блок. Вхід транзакта в блок викликає виконання підпрограми обробки цього блоку. Стан пристрою змінюється зі ВІЛЬНИЙ на заняття.
Призначенням блоку RELEASE є зміна стану раніше зайнятого пристрої з ЗАЙНЯТОГО на ВІЛЬНИЙ.
Переклад з англійської мови блоку АDVANCE (ЗАТРИМАТИ)
- просувати, а не затримувати. Цей блок дійсно просуває ГОДИННИК модельного часу на деяке значення, але фактично він здійснює затримку просування транзакта протягом деякого інтервалу часу. Зазвичай цей інтервал задається випадковою величиною. наприклад
АDVANCE 7,3
Час затримки транзакта в цьому блоці - випадкова величина, рівномірно розподілена на інтервалі [4, 10].
Система моделювання GPSS забезпечує можливість збору статистики за допомогою такого засобу, як реєстратор черзі. При використанні реєстратора черзі в тих точках моделі, де число ресурсів обмежено, інтерпретатор автоматично починає збирати різну інформацію про очікування за допомогою ВЧА.
Розробник вносить реєстратор черзі в модель за допомогою пари взаємодоповнюючих блоків:
QUEUE O4ERED
DEPART O4ERED
Так як у нас за завданням дано що основний канал має збої, то таку ситуацію можна змоделювати, вважаючи, що відмова обладнання є транзакт, пріоритет якого вище, ніж у транзакта, оброблюваного основним каналом. У цьому випадку більш пріоритетний транзакт повинен перервати обслуговування менш пріоритетного транзакта, тобто вивантажити його з пристрою. Звідси зрозумілий дослівний переклад з англійської слова рreempt - вивантажити, але з точки зору роботи одноканальної СМО прийнято використовувати термін ЗАХОПИТИ пристрій. Для організації обслуговування в пристрої з перериваннями використовують пару блоків РRЕЕМРТ (ЗАХОПИТИ) - RETURN (ПОВЕРНУТИ).
PREEMPT K1,, L1,, RE
Операнд К1 визначає ім'я пристрою, на якому генерується переривання.
Операнд L1 задає ім'я блоку (мітка), в який в цей же момент часу повинен спробувати увійти перерваний транзакт. Перерваний транзакт втрачає керування пристроєм, і не претендує на право його використання, так як заданий операнд RE - задає режим видалення.
Блок RETURN К1 призначений для звільнення раніше захопленого пристрою.
Висновки
В процесі імітаційного експерименту в масиві параметрів накопичуються статистичні дані про процеси в СМО, за якими обчислюються вихідні параметри системи, що моделюється.
У висновку наведемо аналізи файлів звіту, що містять всю необхідну інформацію про результати моделювання і статистичні дані про роботу всіх вузлів схеми.
1. Спочатку визначимо функцію розподілу часу передачі повідомлень по магістралі (рис.5)
Рис.5 Функцію розподілу часу передачі повідомлень по магістралі
2. Основні дані про роботу черги:
- максимальне вміст (MAXIMUM CONTENT): 41 транзактів;
- середній вміст (AVERAGE CONTENT): 20,089 транзаків;
- середній час перебування в черзі (AVERAGE TIME / TR): 162,155 с;
Залежність величини об'єму накопичувача від часу работи магістралі представлена на рис.6
Рис.6 Залежність величини об'єму накопичувача від часу
3. Завантаження запасного каналу (UTIL.) - коефіцієнт використання = 0,036
Число відмов основного каналу (ENTRIES (К1) - ENTRY COUNT (SEIZE К1)) = 933-891 = 42. Число перерваних повідомлень (ENTRIES (К2)) = 38.
Список використаної літератури
С.В Скворцов, И.А. Телков. Учебное пособие “Языки моделирования в САПР ВС”. Рязань, 1992.
Описание структур вычислительных систем на языке GPSS: Методические указания к лабораторным работам/ РГРТА. Сост.: С.В. Скворцов, И.А. Телков, В.И. Хрюкин. Рязань, 1999
Избранные страницы из книги В.Н. Томашевского и Е.Г. Ждановой. Имитационное моделирование в среде GPSSМ.: Бестселлер, 2003. 416 с. Подготовил: проф. каф. САПР ВС РГРТУ А.П. Шибанов
4. Кудрявцев Е.М. GPSS World. Основы имитационного моделирования различных систем. М.- 2004г.
Размещено на Allbest.ru
Подобные документы
Визначення найкращого режиму роботи системи обробки повідомлень. Представлення моделі у вигляді системи масового обслуговування. Визначення структури моделі. Обмеження на зміну величин. Програмна реалізація імітаційної моделі. Оцінка адекватності.
курсовая работа [153,9 K], добавлен 29.01.2013Задачі масового обслуговування та моделі для імітації виробничої діяльності. Обслуговування та експлуатація матричних та струминних принтерів. Розрахунок надійності вбудованого контролера. Конфігурація офісного комп'ютера для зберігання інформації.
курсовая работа [224,6 K], добавлен 07.03.2011Поняття моделювання як процесу, що полягає у відтворенні властивостей тих чи інших предметів і явищ за допомогою абстрактних об’єктів та описів у вигляді зображень, планів, алгоритмів. Системи масового обслуговування. Модель роботи видавничого центру.
курсовая работа [255,8 K], добавлен 15.09.2014Формалізована схема системи масового обслуговування. Обгрунтування вибору UML-діаграм для ілюстрації функціонування системи масового обслуговування. Функційна модель, призначена для відображення основних зв’язків між елементами та компонентами системи.
курсовая работа [343,6 K], добавлен 15.10.2014Проектування інформаційної підсистеми імітаційного моделювання для системи масового обслуговування відділення банку ПАТ комерційний "Приватбанк". Дослідження теорії черг для аналізу та забезпечення функціонування відділень банків за допомогою мови GPSS.
дипломная работа [5,2 M], добавлен 06.06.2014Описано вказану систему, побудована її концептуальна модель, зроблено формальний опис системи та імітаційної моделі, виконано програмування моделі системи та наведено результати моделювання.
курсовая работа [73,1 K], добавлен 16.06.2007Моделювання в області системотехніки та системного аналізу. Імітація випадкових величин, використання систем масового обслуговування, дискретних і дискретно-безперервних марковських процесів, імовірнісних автоматів для моделювання складних систем.
методичка [753,5 K], добавлен 24.04.2011Класифікація інформаційних систем. Дослідження особливостей мови UML як засобу моделювання інформаційних систем. Розробка концептуальної моделі інформаційної системи поліклініки з використанням середи редактора програмування IBM Rational Rose 2003.
дипломная работа [930,4 K], добавлен 26.10.2012Модель – це прообраз, опис або зображення якогось об'єкту. Класифікація моделей за способом зображення. Математична модель. Інформаційна модель. Комп'ютерна модель. Етапи створення комп'ютерної моделі.
доклад [11,7 K], добавлен 25.09.2007Роль імітаційного моделювання в дослідженні складних технічних систем. Види оцінки правильності моделі. Створення програми, яка прогнозує рух фізичного маятника з вібруючою точкою підвісу шляхом чисельного інтегрування його диференційного рівняння.
курсовая работа [758,6 K], добавлен 06.08.2013