- •2. Основні принципи імітації подій у моделях складних систем
- •2.1. Принципи імітації послідовності подій у однокомпонентній системі
- •2.2. Принципи реалізації методу квазипаралельного перегляду подій у багатокомпонентній системі.
- •2.3. Принципи імітації процесу функціонування багатокомпонентної системи. Механізми модифікації часової змінної у процесі імітації
2.2. Принципи реалізації методу квазипаралельного перегляду подій у багатокомпонентній системі.
Якби на ЕОМ імітувалося проходження тільки однієї компоненти по системі, то виконання її активностей у ІМ можна було б здійснити строго послідовно. Процедура моделювання у цьому випадку звелася б до нарощування часової координати після чергової реалізації алгоритму та виконання .
Але у дійсності, функціонування СС носить більш складний характер. У СС, як правило, одночасно знаходиться на різних етапах деяка множина компонент. До того ж імітація може здійснюватися для СС, які мають декілька технологічних каналів, які працюють паралельно. Події у таких системах відбуваються над різними компонентами, у різні моменти часу функціонування системи, на різних етапах процесу. При імітації СС постає задача однозначного відстеження та моделювання подій, які відбуваються з багатьма компонентами на різних етапах процесу. Розв’язок такої задачі є актуальним для моделювання СС на ЕОМ, оскільки навіть їх сучасні моделі у кожен момент часу своєї роботи можуть реалізувати обслуговування алгоритму тільки для однієї з багатьох компонент моделі.
Щоб
забезпечити імітацію подій, які
відбуваються у реальній системі
паралельно у часі, при її ІМД вводять
деяку глобальну часову змінну
,
яку називають модельним
(системним) часом. За допомогою цієї
змінної організується синхронізація
всіх подій
у моделі, тобто виконання алгоритмів
для компонент
,
які знаходяться одночасно у системі.
За допомогою введення у процедуру імітації модельного часу реалізується так званий квазипаралельний принцип відстеження появи подій на різних етапах процесу з різними компонентами ІМ. Приставка “квази” у даному випадку відбиває послідовний характер обслуговування ЕОМ подій, які можуть одночасно відбуватися з різними компонентами системи.
Загальний принцип квазипаралельного обслуговування подій, які відбуваються у багатокомпонентній системі, реалізується за рахунок коректування часових координат локального часу для кожної компоненти та системної часової координати модельного часу у такий спосіб.
Припустимо,
що у деякий довільний момент часу
над компонентою
у системі відбувається дія
.
Ця дія обумовлена виконанням умов
алгоритму
.
Якщо умови цього алгоритму повністю
задовільнено (цю процедуру виконує
спеціальна підпрограма моделювання),
то вважаємо, що відбулася відповідна
подія
.
Період
виконання
було згенеровано підпрограмою імітації
як випадкове значення і присвоєне цій
події. Після цього оператор
модифікації відповідної локальної
часової осі
виконує
корекцію значення часу на цій осі у виді
стандартної обчислювальної операції
нарощування, тобто:
.
Тим
самим компонента
як
би „просувається” по своїй локальній
осі на відрізок
.
Нове значення
часової координати
запам'ятовується програмою моделювання
і використовується надалі для визначення
моменту наступної активізації в ІМ
компоненти
.
Під активізацією
компоненти
будемо розуміти початок виконання
наступної її активності (виконання
нового алгоритму
і задіювання оператора
для коректування часової координати
).
Після
виконання вказаних операцій над
компонентою
програма моделювання переходить до
обслуговування іншої компоненти
і алгоритму виконання дії
,
яка має відбуватися над цією компонентою
згідно з виконанням обумовленої
технології на її
-му
етапі. Цикл активізації та обслуговування
активності
цієї компоненти повторюється таким же
чином, як це було вказано вище для
компоненти
.
У ході процесу імітації не виключені
випадки, коли у ході циклічної перевірки
програмою можливості активізацій
компонент моделі для деяких з них не
будуть реалізовані умови алгоритмів
виконання ФД. Невиконання такого
алгоритму хоча б за однією умовою робить
неможливим перехід відповідної компоненти
на наступний етап технологічного
процесу. У такому випадку програма
моделювання переходить до обслуговування
наступної компоненти з таким розрахунком,
щоб повернутися до перевірки умов
виконання алгоритму попередньої на
новому циклі огляду подій у системі.
Коли
імітація подій
,
які відбулися у системі, завершена
(тобто виконані відповідні алгоритми
активностей
і проведені коректування часових
координат
)
проводиться корекція значень на осі
модельного часу
.
Існують два способи зміни
:
за
допомогою фіксованих або змінних
інтервалів зміни модельного часу. Їх
називають способом фіксованого
кроку
і способом кроку
до наступної події.
