Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Контакти
 


Тлумачний словник
Авто
Автоматизація
Архітектура
Астрономія
Аудит
Біологія
Будівництво
Бухгалтерія
Винахідництво
Виробництво
Військова справа
Генетика
Географія
Геологія
Господарство
Держава
Дім
Екологія
Економетрика
Економіка
Електроніка
Журналістика та ЗМІ
Зв'язок
Іноземні мови
Інформатика
Історія
Комп'ютери
Креслення
Кулінарія
Культура
Лексикологія
Література
Логіка
Маркетинг
Математика
Машинобудування
Медицина
Менеджмент
Метали і Зварювання
Механіка
Мистецтво
Музика
Населення
Освіта
Охорона безпеки життя
Охорона Праці
Педагогіка
Політика
Право
Програмування
Промисловість
Психологія
Радіо
Регилия
Соціологія
Спорт
Стандартизація
Технології
Торгівля
Туризм
Фізика
Фізіологія
Філософія
Фінанси
Хімія
Юриспунденкция






ОРГАНІЗАЦІЯ КВАЗИПАРАЛЛЕЛИЗМА СПОСОБОМ ПЕРЕГЛЯДУ АКТИВНОСТЕЙ

Тема 3

 

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

- усі технології виконання обслуговування компонент -го типу різні за своїм змістом, тобто ФДij, які складаютьтехнологію , принципово відрізняються від ФДkm, які складають технологію ;

- виконання будь-якої ФД у системі потребує своїх специфічних умов, але перелік таких умов не є великим. Ці умови відомі заздалегідь розробнику і можуть бути структуровані алгоритмічно;

- зв'язки між ФД різних технологій відсутні, тобто усі дії виконуються незалежно одна від іншої.

У таких випадках розробник ІМ може використовувати для формалізації ОМ спосіб перегляду активностей (далі – активностей). За таких обставин алгоритм ІМ включає у себе: множину активностей {AKij}, наборів процедур перевірки умов їх виконання (ініціалізація активностей) та процедур імітації безпосереднього виконання відповідних функціональних дій ФДij (обслуговування активностей).

Під ініціалізацією AKij розуміють перевірку КПМ можливості початку виконання алгоритму АЛij цієї активності. У процедурах перевірки можливості ініціалізації AKij імітується залежність виконання ФДij від конкретної ситуації, яка на даний момент часу tij (індекс j вказує, що дія над і-ою компонентою виконується на j-му етапі виконання технології) склалася у моделі. Імітація безпосереднього виконання алгоритму ij називається обслуговуванням активності AKij. Обслуговування AKij завершується зверненням програми моделювання до оператора модифікації Mtij локальної часової координати компоненти Кі. Після виконання операції модифікації (нарощування) локального часу tij для Кі керування повертається до КПМ. Таким чином, імітація на ЕОМ процесу, поданого активностями, є процедурою постійного чергування циклів їх ініціалізації та обслуговування, а також модифікації локальних часових координат ti. Після закінчення кожного такого циклу здійснюється повернення до КПМ.

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

Перед початком розробки алгоритму моделювання необхідно визначити:

- кількість m ФД, які складають технологію виконання процесу;

- склад та характер виконання окремих операцій , які утворюють функціональну дію ФДij (j=1,…,m);

- умови, які роблять можливим виконання кожної – тим самим формується структура алгоритму АЛij;

- можливі наслідки невиконання кожної умови АЛij у виді часу затримки виконання певної k -ої операції ФДij;

- умови, які забезпечують ініціалізацію АЛij та можливі наслідки невиконання таких умов, тобто затримку на період процедури виконання ФДij ;

- період Тм моделювання процесу;

- закон розподілу моментів часу надходження компонент у процес;

- закон розподілу часу виконання кожної ФДij;

- величину часового зсуву Δt0 системного часу (величину “фіксованого кроку”).

Робота схеми алгоритму (рис.3.1) моделювання побудовано за наступним принципом. Початок імітації полягає у визначенні кількості компонент, які можуть надійти до системи за обраний період моделювання, моментів їх надходження, а також періодів виконання кожного ФД над кожною компонентою. Ці процедури виконують підпрограми (ПП) генерування кількості компонент та генерування часу виконання ФДij (рис.3.1). Перша ПП за визначеним законом розподілу періоду часу Δti між надходженням на вхід системи двох суміжних компонент Кі та Кі+1, генерує вибірку таких значень і формує з них масив А, вид якого поданий таблицею 3.1.

Табл. 3.1

№ компоненти і r
Момент надходження на вхід системи tп,11= Δt1 tп,21= tп,11+ Δt2 tп,і1= tп,i-1+ +Δti tп,r1= tп,r-1+ +Δtr

 

ПП у ході формування масиву А повинна контролювати значення суми, яка утворюється при додаванні моменту часу tп,i-1 надходження на вхід системи попередньої компоненти Кі-1 та інтервалу часу Δti, який пройшов до моменту надходження наступної компоненти Кі. Якщо значення tп,і1, яке утворюється в результаті такого сумування, дорівнює або є більшим, ніж прийняте значення Тм (тобто tп,і1³ Тм), то процес генерування вхідного потоку компонент закінчується. Вважається, що останньою на вхід системи за період моделювання надійшла компонента Кі-1.

Зупинимося на індексах, які супроводжують позначення моментів часу tп,і1 надходження компонент до процесу. Ці індекси називаються ідентифікаторами стану компонент і характеризують їх місцезнаходження у системі. Індекс п,і1 моменту tп,і1 вказує, що у цей момент часу і-та компонента очікує початку (літера “п”) виконання першої функціональної дії ФД1.

ПП генерування періодів часу tв,ij виконання ФДij формує для кожної з r компонент, які надійшли на вхід системи за період моделювання, випадкові значення тривалості виконання усіх ФД, які за технологією треба виконати над даною компонентою. Тут літера “в” у ідентифікаторі часу вказує на те, що цей час є періодом (а не моментом початку) виконання відповідної ФДij. Якщо обумовити, що у об’єкті моделювання для усіх компонент існує тільки одна технологія їх обробки, яка складається з m ФД, то для кожної ФДj (j=1,…,m) ПП повинна згенерувати вибірку даних з r елементів, де кожне i-те значення характеризує тривалість виконання цієї ФД для i-ої компоненти. Сукупність усіх згенерованих даних створює масив В, вид якого поданий таблицею 3.2.

Табл. 3.2

№ компоненти   Номер ФД     і r
ФД1 tв,11 tв,21 tв,і1 tв,r1
...
ФДj tв,1j tв,2j tв,ij tв,rj
ФДm tв,1m tв,2m tв,im tв,rm

 

Масив В потрібен для того, щоб сформувати попередню версію осі системного часу t0 процесу, який моделюється. Ця вісь у програмному сенсі має вид масиву даних С, подібного масиву А. Формування цього масиву С відбувається наступним чином.

Початкова форма цього масиву організується за видом, поданим таблицею 3.3. У масив С увійдуть дані про очікуємі моменти ініціалізацій певних активностей, імітацію яких буде створювати програма моделювання. Оскільки таких активностей у процесі має бути сформовано r´ m, то і кількість елементів у масиві С становить таке ж число. Обов’язковими елементами цього масиву є його ідентифікатори. Оскільки кожний з цих ідентифікаторів п,ij вказує на момент tп,ij очікуємого початку ініціалізації активності AKij , то у позначенні цих ідентифікаторів літеру “п” можна видалити. Визначимо принцип, за яким будуть сформовані значення tіj, які увійдуть до масиву С.

Момент tі1 початку виконання ФД1 для і-ої компоненти програма вибирає з масиву А і переносить у масив С з адресою (ідентифікатором) і1. Момент tі2 очікуємої ініціалізації наступної активності AKi2 (виконання ФДі2) для цієї ж компоненти визначається як tі2= tі1+ tв,11, тобто до моменту початку виконання ФДі1 додається очікуєма тривалість tв,11 її виконання з масиву В. Значення tі2 заноситься у масив С з адресою і2. Таким же чином отримують усі дані щодо моментів початку виконання усіх ФД для кожної з r компонент процесу. Після формування усіх r´m елементів масиву С проводиться упорядкування цих даних за хронологічним принципом. У процесі цього впорядкування кожна пара { ij; tіj } (кожний стовпець масиву), займає у масиві С таке місце, яке відповідає тенденції наростання значень tіj від 0 до tіj = max tіj. Основною умовою такого “пересортування” даних tіj є те, що при їх переміщенні у масиві С ідентифікатор кожного значення повинен залишитися без змін. Після закінчення вказаної операції необхідно перевірити, чи є у впорядкованому масиві С значення tіj, які дорівнюють, або є більшими за значення Тм (тобто tіj ³ Тм). Якщо такі дані присутні у масиві С, то програма повинна їх видалити, оскільки ці активності за період моделювання системи принципово не зможуть бути ініціалізовані. Після виконання усіх вказаних вище операцій за допомогою масиву С отримуємо табличне подання осі системного часу t0, з якою у подальшому буде працювати програма моделювання.

Табл. 3.3

Ідентифікатор 11 21 іj kp
Момент початку ініціалізацій активностей t11 t21= t11+ tв,11 tі,j= ti,j-1+ + tв,i,j-1 tkp= tk,p-1+ +tв,k,p-1

 

Перейдемо зараз до розгляду подальшої роботи алгоритму моделювання (рис.3.1). За обраним способом (“фіксованого кроку”) програма здійснює зсув системного часу t0 від 0 (початок моделювання) на величину Δt0 . Після цього відбувається перевірка того, чи не вичерпав такий часовий зсув встановленого періоду моделювання Тм. Якщо час моделювання не вичерпався, то програма повинна вибрати з масиву С ті активності, ініціалізація яких очікується за період часу 0¸Δt0. Ці активності потрапляють до списку на ініціалізацію. Почергово для кожної активності з цього списку перевіряються умови їх ініціалізації. Як вже було зазначено, розробник програми моделювання повинен створити не тільки опис алгоритму ij кожної активності AKij і операторів модифікації Mtij часових координат tij, але й алгоритмів перевірки умов ініціалізації кожної AKij. Якщо для деякої активності AKcd із сформованого для даного кроку Δt0 списку на ініціалізацію її умови виконано, то ця активність передається до списку активностей на обслуговування. Якщо хоча б одна з умов ініціалізації активності AKcd не виконана, то відповідно до причини такого збою процесу необхідно встановити, на який час відбувається затримка ініціалізації цієї активності. Цю функцію виконує генератор випадкових чисел, який генерує випадкове значення періоду затримки ініціалізації активності AKcd. Сформоване значення додається до очікуємого моменту ініціалізації tcd для того, щоб визначити майбутній момент цієї ж ініціалізації. Після цього активність AKcd зі списку на ініціалізацію видаляється і знову вноситься до масиву С, але її місце у цьому масиві буде визначатися новим значенням часу її повторної ініціалізації за алгоритмічною процедурою tij= tij+ .

По завершенні циклу ініціалізації починається другий цикл – цикл обслуговування активностей, які успішно пройшли процедуру ініціалізації та утворили список на обслуговування. Процедурно цей цикл схожий на попередній. У ньому здійснюється послідовна передача керування на імітацію виконання кожного ij для активності AKij. Успішне обслуговування кожної AKij завершується для неї операцією перерахунку (модифікації) її локального часу tij. При цьому оператор Mtij, який обчислює новий момент ti,j+1 майбутньої ініціалізації AKi,j+1, за прийнятим правилом реалізації способу “фіксованого кроку”, а саме ti,j+1=

= t0+tв,i,j+1 і повертає керування на продовження виконання другого циклу. У процедурі обслуговування активностей, які знаходяться у відповідному списку, також існує операція перевірки умов можливості виконання ФДij, що адекватно перевірці умов виконання відповідного ij (не слід забувати, що функціональна дія ФДij може складатися з деякої множини елементарних операцій, реалізація яких також повинна бути забезпечена виконанням деяких умов). Якщо у процесі виконання алгоритму ij цієї ФД програма знайде факт неможливості виконання умов цього алгоритму, то відбувається процедура затримки обслуговування ФДij на період . Як і у попередньому випадку час обслуговування активності AKij переноситься на момент tij= tij+ , а ця активність зі списку на обслуговування переноситься на нове місце у масиві С.

Тільки у випадку, коли виконання другого циклу завершено, тобто усі активності, які він вміщував, були переглянуті, КПМ корегує модельний час t0 за правилом t0= t0+D t0.

Якщо умова завершення імітації за параметром Тм виконана, процес моделювання припиняється і керування передається відповідній підпрограмі, яка формує його результати.

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

 


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

 




Переглядів: 255

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

 

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.005 сек.