ол - сделать наступні кроки обчислень.
Діаграма класів для таймера представлена ??на малюнку 3.5.
Малюнок 3.5 Діаграма класів таймера
Задачі для Виконання реалізовані в класі Task. Черга Завдання - в абстрактному класі taskqueue ТА ЙОГО наслідніках. Коженая насліднік реалізує Певний режим пріорітетізації Завдання. Доступні режими перераховані в структурі queuediscipline:
Public enum queuediscipline
{
FIFO,
LONGTASKFIRST,
}
Ієрархія класу taskqueue наведено на малюнку 3.6.
Малюнок 3.6 Ієрархія класу taskqueue
Клас fifotaskqueue реалізує черго за принципом FIFO («перший зайшов - перший Вийшов»). Клас ltftaskqueue - черго, відсортовану за вагою обчислень за збивання. Клас stftaskqueue - черго, відсортовану за вагою обчислень за ЗРОСТАННЯ. Структура GRID-системи містіться у класі Grid у вігляді матріці ліній зв язку modelline та списку вузлів modelnode. Кожна [i, j]-та лінія зв язку в матріці з єднує i-й j-й обчислювальний вузол. Діаграма класу Grid представлена ??на малюнку 3.7.
Малюнок 3.7 Діаграма класу Grid
Алгоритми планування реалізовані в абстрактному класі Scheduller ТА ЙОГО наслідніках. Коженая з наслідніків реалізує Певний режим призначення ресурсів. Доступні режими перераховані в структурі schedullermode:
Public enum schedullermode
{
FIRSTAVAILABLE,
FASTEST
}
Ієрархія класу Scheduller наведено на малюнку 3.8.
Малюнок 3.8 Ієрархія класу Scheduller
Фасадом Всього модулю Core є клас modelcontroller, Завдяк якому спрощується Взаємодія ядра з іншімі модулями. Цею клас містіть в Собі посилання на агентство таймер, генератор завдань, структуру Grid, класи планувальніків, черго завдань та інше.
Методи класу modelcontroller дозволяють згенеруваті послідовність завдань та Зберегти ее между різнімі запусками моделювання. Це дозволяє застосовуваті Різні алгоритми планування для одних и тихий же вхідніх Даних, тім самим забезпечуючі можлівість про єктівного порівняння результатів моделювання.
3.2 Модуль GUI
Інтерфейс програми Створено за типом стандартних вікон Windows. Програма вміщує в Собі 8 діалоговіх вікон среди якіх:
- Головне вікно (малюнок 3.9)
- Вікно ІНФОРМАЦІЇ про програму (малюнок 3.10)
Вікно параметрів Лінії зв язку (малюнок 3.11)
Вікно Вибори параметрів моделювання (малюнок 3.12)
Вікно параметрів Вузли (малюнок 3.13)
Вікно виводу результатів моделювання (малюнок 3.14)
Вікно генерації завдань (малюнок 3.15)
Вікно виводу графіків за обємом Даних та годиною підрахунків (малюнок 3.16)
Малюнок 3.9 mainform.cs
Малюнок 3.10 aboutbox.cs