Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1-2.docx
Скачиваний:
3
Добавлен:
08.03.2016
Размер:
329.35 Кб
Скачать

1.3 Розробка структурної схеми програмної реалізації імітаційної моделі

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

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

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

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

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

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

Рис.1.6 Структурна схема імітаційної моделі зв᾽язку з обслуговуванням за приорітетами

2. Схемо-технічне проектування

2.1 Розробка алгоритмів імітаційної моделі

Перед початком моделювання задаються вихідні данні для моделювання. У тому числі: число обслуговуючих одиниць системи(ліній зв'язку): число класів пріоритетів; число місць очікування в черзі; поточний моменту часу моделювання; крок зміни часу; момент часу початку моделювання; момент часу кінця моделювання; номер класу пріоритетів; номер джерела класу пріоритетів.

На початку моделювання встановлюються початкові значення ряду змінних і масивів. В змінну поточного моменту часу моделювання записуються значення моменту часу початку моделювання.

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

При моделюванні настання подій формується список подій, які відбудуться на поточному кроці за часом. Перед початком формування списку подій цей масив обнуляється..

На початку визначаються події 1 – надходження первинних заявок від джерел. Спочатку послідовно проглядаються елементи масиву. Якщо джерело вільне (елемент масиву не дорівнює нулю) виконується перевірка – чи не надійшла від нього чергова первинна заявка. Якщо поточний час більше моменту часу надходження первинної заявки від джерела записаного в елементі, то заявка надійшла.

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

Після цього визначається події 3 – звільнення обслуговуючої одиниці. Для його реалізації проглядаються елементи першого стовпця масиву. Якщо одиниця зайнята, то виконується перевірка, чи не чи звільниться ця одиниця на поточному кроці за часом. Одиниця звільнитися якщо момент закінчення обслуговування записаний у відповідному елементі більше значення поточного моменту часу моделювання мінус крок зміни часу. Після того в масив заносяться всі події, які відбудуться на черговому кроці за часом, та виконується сортування цього масиву за елементами першого рядка.

Далі відбувається реалізація моделювання реакції на події в послідовності їх відбуття.

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

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

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

Збільшений алгоритм імітаційної моделі системи зв’язку з обслуговуванням за пріоритетами показаний на рис 2.1.

Рис.2.1 Збільшений алгоритм імітаційної моделі системи зв’язку з обслуговуванням за пріоритетами.

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