Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
IMI_Тема6_Формализац_ОМ.doc
Скачиваний:
1
Добавлен:
11.11.2019
Размер:
84.48 Кб
Скачать

Зовнішня синхронізація компонент моделі.

Така синхронізація найчастіше реалізується системою моделювання, яку обрав розробник. Для цієї мети використовуються оператори синхронізації компонент як системи дискретних подій. Наприклад, у випадку застосування процесного способу імітації розрізняють два типи операторів синхронізації: негайного безумовного переходу процесу у стан очікування (оператори типу WAIT (), де - тривалість затримки процесу у стані очікування) і переходу процесу в стан очікування до моменту виконання деякої умови А (оператори типу WAIT WHILE(A)). Склад, синтаксис і семантика операторів синхронізації залежать від обраної мови програмування, яку використовує розробник. Означені оператори у програмі моделювання виконують функцію розподілу розробленого алгоритму функціонування компонент ІМ на деякі змістовні “кванти”. В основу створення таких програмних “квантів” зазвичай покладають визначені характеристики точності майбутніх результатів моделювання. Аналогічні принципи “квантування” явищ або процесів, які відбуваються у СС, розробник реалізує при її імітації активностями або подіями.

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

Синхронізація моментів передачі інформації між компонентами моделі.

Важливим моментом при побудові ІМ СС є синхронізація появи інформації, доступної для її активних компонентів. Іноді своєчасне оновлення інформації, загальної для компонентів, має вирішальне значення з точки зору якості функціонування програми моделювання. Важливо, щоб результати виконання алгоритму функціонування n-го кванта m-го процесу з'явилися в загальному полі інформації, доступної для компоненти, в певний момент часу t1. Поява цієї інформації або раніш, або пізніш моменту t1 може істотно спотворити динаміку імітації взаємодії компонент моделі. Щоб забезпечити таку синхронізацію моментів надходження інформації до компонент моделі (наприклад, програмних модулів процесів) використовують спеціально розроблений інформаційний робочий масив, який доступний тільки для даної програмної компоненти (процесу), і оператор умовного очікування моменту часу t1 (WAIT WHILE (t1)). При настанні моменту t1 відбувається перезапис робочого масиву в загальне поле інформації процесів моделі. Аналогічно може здійснюватися синхронізація моментів передачі інформації до компонент моделі при імітації активностями чи подіями. У більш простих випадках для синхронізації моментів передачі інформації до компонент моделі досить використовувати глобальні змінні моделі.

Таким чином, після введення до програми операторів внутрішньої і зовнішньої синхронізації алгоритми компонентів моделі виявляються розділеними на “кванти”. Саме в цих місцях у ході імітації і буде здійснюватися взаємодія КПМ з розробленою програмою ОМ.

Усунення конфліктних ситуацій у взаємодії компонент моделі.

Наступним кроком при перетворенні формального опису СС у її програмний опис є виявлення у ньому можливих конфліктних ситуацій, які можуть виникати при взаємодії КПМ з програмними компонентами ОМ. Вище було розглянуто принцип такою взаємодії за рахунок використання операторів-семафорів. Не менш важливим моментом при використанні процесного способу імітації є синхронізація КПМ виконання процесів один з одним за допомогою операторів запуску або зупинки виконання процесів. Майже у всіх ІМ, створених за процесним способом, мають бути присутніми оператори запуску та зупинки процесів. Але використання цих операторів не гарантує виникнення випадків одночасного запуску у програмі деякої кількості процесів. Така ситуація розцінюється як конфліктна, оскільки КПМ за означенням у реальному часі може одночасно працювати тільки з однією компонентою ОМ. Як правило, відображення таких конфліктних ситуацій при цьому має створювати обрана мова програмування, для чого вона найчастіше використовує створені розробником системи пріоритетів компонент ОМ. При цьому розробник кожній компоненті ОМ (активності, процесу, агрегату) надає певний рівень пріоритетності (важливості). У цьому випадку при використанні процесного способу імітації у випадку виникнення черг на обслуговування блоків процесів програмі доводиться змінювати порядок їх знаходження у черзі.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]