logo
Лекції МІП, 2015 (Скрупська Л

3.4 Організація структурного моделювання

Задачі структурного моделювання, що полягають у визначенні таких характеристик, як точність, надійність, чутливість, смуга пропускання системи і т.п., тобто задачі визначення технічних характеристик РЕА звичайно вирішуються з використанням універсальних процедурно-орієнтованих алгоритмічних мов типу Фортран, Паскаль, Сі.

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

Ці спеціалізовані мови призначені тільки для моделювання. Фактично за цими назвами стоять системи моделювання з власними мовами опису задач. Так, у них маються вбудовані лічильники модельного часу, вбудовані генератори випадкових сигналів і впливів програми збору й обробки статистичних даних і т.д. Це складні програмні комплекси, що звичайно перевершують по складності системи програмування, що використовують універсальні алгоритмічні мови Фортран, Сі та ін..

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

Під процесом розуміють опис алгоритму роботи деякої частини системи в термінах роботи її блоків. У свою чергу робота кожного блоку задається активністю. Блок активний, якщо до нього був запит і він знаходиться в стані обробки запиту. Основною характеристикою активності є час. При моделюванні роботи блоку цей час задається або може бути визначено. Активність (тобто виконання яких-небудь операцій) ініціюється в результаті здійснення подій. Це зміна стану якого-небудь об'єкта системи або запит ззовні системи. Закінчення роботи якого-небудь блока - закінчення активності — є подією, що може збудити інші активності. Процес є логічно зв'язаним набором активностей. Виділення понять активності і процесу визначається рівнем розгляду системи. Так, при розгляді на більш високому рівні процес може розглядатися як активність, а при розгляді з більшим ступенем деталізації активність може розглядатися як процес і складатися з набору інших активностей. Процеси, активності і події є основними елементами, за допомогою яких можна описати динамічну поведінку системи.

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

1. Моделювання часу надходження зовнішніх запитів. Момент їхньої появи визначається відповідно до відомих статистичних характеристик зовнішніх процесів.

Наприклад, запити від процесора до дискової пам'яті мають звичайно експоненціальний розподіл з середнім часом, обумовленим характером розв'язуваних задач і продуктивністю процесора.

2. Моделювання дій, що відповідають подіям, які відбуваються в системі (визначення реакції на зовнішні запити і на закінчення активностей). До цих дій відносяться звільнення і заняття окремих блоків системи, визначення виконання умов, необхідних для ініціації наступних активностей, ініціації активностей та ін.

3. Моделювання інтервалів часу активних станів блоків системи. Час активного стану блоку обчислюється на імовірнісної або детермінованої основи в залежності від принципів роботи блоку.

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

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

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