Методичні вказівки до лабораторних робіт з курсу "Моделювання систем", страница 27


3 МОДЕЛЮВАННЯ СМО З СИНХРОНІЗАЦІЄЮ РУХУ ТРАНЗАКТІВ

3.1 Мета роботи

Вивчення засобів імітаційної системи GPSS World для моделювання складних обчислювальних структур (об’єктів), а також пріоритетних дисциплін обслуговування.

3.2 Методичні вказівки по організації самостійної роботи студентів

При підготовці до лабораторної роботи необхідно вивчити побудову математичних і програмних стохастичних мережевих моделей ОС, а також основи пріоритетних дисциплін обслуговування [3-4].

3.2.1 Блок SPLIT

Блок SPLIT(РОЗДІЛИТИ), також, як і блок GENERATE призначений для створення транзактів.

SPLIT  A,B,C,

де А - лічильник, що позначає число транзактів, які потрібно буде клонувати. Тут може бути число або СЧА;

У - номер блоку (або мітка), у який будуть направлятися нові транзакти;

С - параметр, якому буде привласнений порядковий номер транзакта серед копій.

На відміну від GENERATE, блок SPLIT не створює самостійні транзакти, а лише генерує задане число копій вхідного в нього транзакта. Одержувані копії ідентичні вихідному транзакту. Число цих копій задається в поле А. Після проходження блоку SPLIT вихідний транзакт направляється в наступний по програмі блок, а всі його копії пересилаються за адресою, зазначеному в поле В (у тому числі можливо й до наступного блоку). Таким чином, якщо в поле А задане число i, те із блоку вийдуть i+1 транзактів. Далі вихідне повідомлення і його копії є рівноправними й можуть проходити знову через будь-яке число блоків SPLIT.

Всі транзакти, отримані копіюванням з одного транзакту, а також копії цих копій належать до одного ансамблю й далі до цього ансамблю можна застосовувати спеціальні блоки, що здійснюють обробку ансамблів транзактів (наприклад, MATCH, ASSEMBLE, GATHER). Ансамбль транзактів може бути пронумерований. Для цього в поле В записується номер параметра транзакту, у якому буде зроблена нумерація. Якщо у вихідному транзакті значення цього параметра було дорівнює k, то після нумерації вихідний транзакт одержить значення k+1, перша копія - k+2 і т.д.

Тому що транзакти можуть мати параметри різних типів, те необхідне використання індексу для вказівки типу параметра, що береться при об'єднанні в серії транзактів. Допускаються індекси: PH - параметр формату “півслово”; PF - параметр формату “слово”; PB - параметр формату “байт”. Вихідний транзакт і копії поєднуються в серії по заданому параметрі. У наведеному нижче прикладі розглядається випадок, коли параметр 10 формату “байт” має значення N при вході транзакта в блок SPLIT. При виході із блоку значення його стане N+1, а значення параметра 10 (формату “байт”) транзактів копій відповідно будуть: N+2, ...