|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Доопределение функций
Следующий шаг — доопределение функций. Этот шаг развивает диаграмму системной спецификации этапа анализа. Уточняются процессы-модели. В них вводятся дополнительные функции. Джексон выделяет 3 типа сервисных функций: 1. Встроенные функции (задаются командами, вставляемыми в структурный текст процесса-модели). 2. Функции впечатления (наблюдают вектор состояния процесса-модели и вырабатывают выходные результаты). 3. Функции диалога. Они решают следующие задачи: q наблюдают вектор состояния процесса-модели; q формируют и выводят поток данных, влияющий на действия в процессе-модели; q выполняют операции для выработки некоторых результатов. Встроенную функцию введем в модель ТРАНСПОРТ-1. Предположим, что в модели есть панель с лампочкой, сигнализирующей о прибытии. Лампочка включается командой LON(i), а выключается командой LOFF(i). По мере перемещения транспорта между остановками формируется поток LAMP-команд. Модифицированный структурный текст модели ТРАНСПОРТ-1 принимает вид ТРАНСПОРТ-1 LON(l); опрос SV; ЖДАТЬ цикл ПОКА ПРИБЫЛ(1) опрос SV; конец ЖДАТЬ; LOFF(l); покинуть(1); ТРАНЗИТ цикл ПОКА УБЫЛ(1) опрос SV; конец ТРАНЗИТ; ТРАНСПОРТ цикл ОСТАНОВКА; прибыть(i); LON(i); ЖДАТЬ цикл ПОКА ПРИБЫЛ(i) опрос SV; конец ЖДАТЬ; LOFF(i); покинуть(i); ТРАНЗИТ цикл ПОКА УБЫЛ(i) опрос SV; конец ТРАНЗИТ; конец ОСТАНОВКА; конец ТРАНСПОРТ; прибыть(1); конец ТРАНСПОРТ-1; Теперь введем функцию впечатления. В нашем примере она может формировать команды для мотора транспорта: START, STOP. Условия выработки этих команд. q Команда STOP формируется, когда датчики регистрируют прибытие транспорта на остановку. q Команда START формируется, когда нажата кнопка для запроса транспорта и транспорт ждет на одной из остановок. Видим, что для выработки команды STOP необходима информация только от модели транспорта. В свою очередь, для выработки команды START нужна информация как от модели КНОПКА-1, так и от модели ТРАНСПОРТ-1. В силу этого для реализации функции впечатления введем функциональный процесс М-УПРАВЛЕНИЕ. Он будет обрабатывать внешние данные и формировать команды START и STOP. Ясно, что процесс М-УПРАВЛЕНИЕ должен иметь внешние связи с моделями ТРАНСПОРТ-1 и КНОПКА. Соединение с моделью КНОПКА организуем через вектор состояния BV. Соединение с моделью ТРАНСПОРТ-1 организуем через поток данных S1D. Для обеспечения М-УПРАВЛЕНИЯ необходимой информацией опять надо изменить структурный текст модели ТРАНСПОРТ-1. В нем предусмотрим занесение сообщения Прибыл в буфер S1D: ТРАНСПОРТ-1 LON(l); опрос SV; ЖДАТЬ цикл ПОКА ПРИБЫЛ(1) опрос SV; конец ЖДАТЬ; LOFF(l); Покинуть(1); ТРАНЗИТ цикл ПОКА УБЫЛ(1) опрос SV; конец ТРАНЗИТ; ТРАНСПОРТ цикл ОСТАНОВКА; прибыть(i): записать Прибыл в S1D; LON(i); ЖДАТЬ цикл ПОКА ПРИБЫЛ(i) опрос SV; конец ЖДАТЬ; LOFF(i); покинуть(i); ТРАНЗИТ цикл ПОКА УБЫЛ(i) опрос SV; конец ТРАНЗИТ; конец ОСТАНОВКА; конец ТРАНСПОРТ; прибыть(1); записать Прибыл в S1D; конец ТРАНСПОРТ-1; Очевидно, что при такой связи процессов необходимо гарантировать, что процесс ТРАНСПОРТ-1 выполняет операции опрос SV, а процесс М-УПРАВЛЕНИЕ читает сообщения Прибытия в S1D с частотой, достаточной для своевременной остановки транспорта. Временные ограничения, планирование и реализация должны рассматриваться в последующих шагах проектирования. В заключение введем функцию диалога. Свяжем эту функцию с необходимостью развития модели КНОПКА-1. Следует различать первое нажатие на кнопку (оно формирует запрос на поездку) и последующие нажатия на кнопку (до того, как поездка действительно началась). Диаграмма дополнительного процесса КНОПКА-2, в котором учтено это уточнение, показана на рис. 5.7. Рис. 5.7. Диаграмма дополнительного процесса КНОПКА-2
Внешние связи модели КНОПКА-2 должны включать: q одно соединеннее моделью КНОПКА-1 — организуется через поток данных BID (для приема сообщения о нажатии кнопки); q два соединения с процессом М-УПРАВЛЕНИЕ — одно организуется через поток данных MBD (для приема сообщения о прибытии транспорта), другое организуется через вектор состояния BV (для передачи состояния переключателя Запрос). Таким образом, КНОПКА-2 читает два буфера данных, заполняемых процессами КНОПКА-1 и М-УПРАВЛЕНИЕ, и формирует состояние внутреннего электронного переключателя Запрос. Она реализует функцию диалога. Структурный текст модели КНОПКА-2 может иметь следующий вид: КНОПКА-2 Запрос:= НЕТ; читать B1D; ГрНАЖ цикл ЖдатьНАЖ цикл ПОКА Не НАЖАТА читать B1D; конец ЖдатьНАЖ; Запрос:= ДА; читать MBD; ЖдатьОБСЛУЖ цикл ПОКА Не ПРИБЫЛ читать MBD; конец ЖдатьОБСЛУЖ; Запрос:= НЕТ; читать B1D; конец ГрНАЖ; конец КНОПКА-2; Диаграмма системной спецификации, отражающая все изменения, представлена на рис. 5.8. Рис. 5.8. Полная диаграмма системной спецификации
Встроенная в ТРАНСПОРТ-1 функция вырабатывает LAMP-команды, функция впечатления модели М-УПРАВЛЕНИЕ генерирует команды управления мотором, а модель КНОПКА-2 реализует функцию диалога (совместно с процессом М-УПРАВЛЕНИЕ). Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.) |