Крок 4. Довизначення функцій
Лабораторна робота № 7
Методика Джексона аналізу та проектування ПС.
Завдання. Розробити комп’ютерну систему для обслуговування університетських перевезень.
Опис системи:
- Університет розміщується на двох територіях.
- Для переміщення студентів використовується один транспорт. Він переміщується між двома фіксованими зупинками. На кожній зупинці є кнопка виклику. При натисканні кнопки:
- Якщо транспорт на зупинці, то студенти заходять в нього та переміщуються на іншу зупинку.
- Якщо транспорт зайнятий, то студенти чекають прибуття на іншу зупинку прийому студентів і повернення на поточну зупинку.
- Якщо транспорт на іншій зупинці, то він залишає її, прибуває на поточну зупинку й приймає студентів, які натиснули кнопку.
- Транспорт повинен стояти на зупинці д появи запиту на обслуговування.
Розв’язання.
Крок 1. Об’єкт – дія.
Об’єкти:
1) __________________________________________________________________
2) _________________________________________________________________
3) _________________________________________________________________
4) _________________________________________________________________
5) _________________________________________________________________
(-) – позначили об’єкти, які не належать області моделі.
Дії:
1) __________________________________________________________________
2) _________________________________________________________________
3) _________________________________________________________________
4) _________________________________________________________________
5) _________________________________________________________________
(-) – позначили дії, які відносяться до об’єктів, що не належать області моделі.
Крок 2. Об’єкт – структура.
Об’єктна структура для транспорту має вигляд:
Опис: Початок і кінець історії транспорту у першої зупинки. Діями, що впливають на об’єкт, являються “Покинути” та “Прибути”.
Структурна діаграма для об’єкту кнопка:
Крок 3. Початкове моделювання.
Діаграма системної специфікації для системи обслуговування перевезень має вигляд:
Структурний текст для моделі Кнопка-1 має вигляд:
_________
_________
_________
_________
_________
_________
_________
_________
Структурний текст моделі транспорт-1 з введенням функцій чекати(зміна стану транспорту) та транзит(операція затримки в моделі на рух між зупинками) має вигляд:
Трананспорт-1
Опитування SV;
Чекати цикл доки прибув(1)
Опитування SV;
Кінець чекати;
Покинути(1);
Транзит цикл доки відбув(1)
Опитування SV;
Кінець транзит;
Транспорт цикл
Зупинка
Прибути(і);
Чекати цикл доки прибув(і)
Опитування SV;
Кінець чекати;
Покинути(і);
Транзит цикл доки відбув(і)
Опитування SV;
Кінець транзит;
Кінець зупинка;
Кінець транспорт;
Прибути(1);
Кінець транспорт-1.
Відповідна структурна діаграма:
Крок 4. Довизначення функцій
Убудовану функцію введемо в модель Транспорт-1. Припустимо, що в моделі є панель з лампочкою, що сигналізує про прибуття. Лампочка включається командою LON(і), а виключається командою LOFF(і). В міру переміщення транспорту між зупинками формується потік LAMP-команд. Модифікований структурний текст моделі Транспорт-1 приймає вид:
ТРАНСПОРТ-1
LON(1);
опитування SV;
чекати цикл доки прибув(1)
опитування SV;
кінець чекати;
LOFF(1);
залишити(1);
транзит цикл доки відбув(1)
опитування SV;
кінець транзит:
транспорт цикл
зупинка;
прибути(і);
LON(і);
чекати цикл доки прибув(i)
опитування SV;
кінець чекати;
LOFF (і);
Залишити(і);
транзит цикл доки відбув(і)
опитування SV;
кінець транзит;
кінець зупинка;
кінець транспорт;
прибути(і);
кінець ТРАНСПОРТ-1:
Введемо функцію враження. У нашому прикладі вона може формувати команди для мотору транспорту: START, SТОР.
Умови вироблення цих команд.
- Команда SТОР формується, коли датчики реєструють прибуття транспорту на зупинку.
- Команда START формується, коли натиснута кнопка для запиту транспорту і транспорт чекає на одній із зупинок.
Для реалізації функції враження уведемо функціональний процес М-КЕРУВАННЯ. Він буде обробляти зовнішні дані і формувати команди START н SТОР.
Ясно, що процес М-КЕРУВАННЯ повинен мати зовнішні зв'язки з моделями ТРАНСПОРТ-1 і КНОПКА. З'єднання з моделлю КНОПКА організуємо через вектор стану ВV. З'єднання з моделлю ТРАНСПОРТ-1 організуємо через потік даних S1D.
Для забезпечення М-КЕРУВАННЯ необхідною інформацією знову треба змінити структурний текст моделі ТРАНСПОРТ-1. У ньому передбачимо занесення повідомлення Прибув у буфер S1D:
_________
_________
_________
_________
_________
_________
_________
_________
_________
_________
_________
_________
_________
_________
_________
_________
_________
_________
_________
_________
_________
_________
_________
_________
_________
_________
_________
_________
_________
Очевидно, що при такому зв'язку процесів необхідно гарантувати, що процес ТРАНСПОРТ-1 виконує операції опитування SV, а процес М-КЕРУВАННЯ читає повідомлення Прибуття в S1D з частотою, достатньої для своєчасної зупинки транспорту. Тимчасові обмеження, планування і реалізація повинні розглядатися на наступних кроках проектування.
Введемо функцію діалогу. Зв'яжемо цю функцію з необхідністю розвитку моделі КНОПКА-1. Варто розрізняти перше натискання на кнопку (воно формує запит на поїздку) і наступні натискання па кнопку (до того, як поїздка дійсно почалася).
Діаграма додаткового процесу КНОП КА-2, у якому враховане це уточнення, показана на мал.
Зовнішні зв'язки моделі КНОПКА-2 повинні включати:
- одне з'єднання з моделлю КНОПКА-1 - організується через потік даних B1D (для прийому повідомлення про натискання кнопки);
- Два з'єднання з процесом М-КЕРУВАННЯ - одне організується через потік даних МВD (для прийому повідомлення про прибуття транспорту), інше організується через вектор стану ВV (для передачі стану перемикача Запит).
У такий спосіб. КНОПКА-2 читає два буфери даних, заповнюваних процесами КНОПКА-1 і М-КЕРУВАННЯ, і формує стан внутрішнього електронного перемикача Запит. Вона реалізує функцію діалогу.
Структурний текст моделі КНОПКА-2 може мати наступний вид:
_________
_________
_________
_________
_________
_________
_________
_________
_________
_________
_________
_________
_________
_________
_________
_________
_________
_________
Діаграма системної специфікації, що відбиває всі зміни, представлена на мал.
Вбудована в ТРАНСПОРТ-1 функція виробляє Lамр-команды, функція враження моделі М-КЕРУВАННЯ генерує команди керування мотором, а модель КНОПКА-2 реалізує функцію діалогу (разом із процесом М-КЕРУВАННЯ).