2.2.2.7 События и подписки
С помощью механизма подписок на события одна задача может оповестить о событии множество других задач. Для этого оповещаемые задачи необходимо подписать на событие, то есть связать функции этих задач с событием, при возникновении которого и должны запускаться подписанные функции. Подписываемые на событие функции должны быть публичными и быть согласованными с сигнатурой события: список их параметров должен соответствовать списку параметров события. У событий, в отличие от функций, отсутствует понятие возвращаемого значения.
Подписка, изображаемая на диаграмме задач, является начальной (инициализационной): ее можно изменять в процессе выполнения программы. Другими словами, подписка в языке является динамической (аналогично этому, в дизайнере форм программ для ЭВМ, например, средствами интегрированной среды разработки Microsoft Visual Studio [34] или Borland Delphi [35], пользователь рисует только первоначальную конфигурацию компонентов, но может ее менять в коде, также может в процессе выполнения подменить обработчики событий). Выполнить подписку (как и отписку) можно из любого места программного кода.
При выполнении конкретной подписки, пользователь выбирает тип вызова функции. При выборе синхронного типа, вызывающая событие задача будет ждать, пока не исполнятся все подписанные функции. Поэтому использование синхронных подписок не рекомендуется, поскольку может привести к длительной задержке в работе задач.
- Введение
- 1 Анализ предметной области
- 1.1 Постановка задачи
- 1.2 Обзор аналогов
- 2 Программная документация
- 2.1 Техническое задание на программное обеспечение
- 2.1.1 Назначение разработки
- 2.1.2 Терминология
- 2.1.3 Требования к функциональным характеристикам
- 2.1.4 Требования к надежности
- 2.1.5 Требования к составу и параметрам технических средств
- 2.1.6 Требования к информационной и программной совместимости
- 2.1.7 Требования к результатам работы
- 2.1.7.1 Требования к комплектации решения
- 2.1.7.2 Требования к документации
- 2.1.8 Перечень работ по этапам
- 2.2 Пояснительная записка
- 2.2.1 Назначение и область применения
- 2.2.2 Описание разработанной технологии создания программ для распределенных микроконтроллерных систем
- 2.2.2.1 Схема оборудования
- 2.2.2.2 Недостатки диаграммы Бара для проектирования микроконтроллерных программ управления
- 2.2.2.3 Концепции диаграммы задач
- 2.2.2.4 Семантика отображаемых на диаграмме задач связей
- 2.2.2.5 Синхронные и асинхронные вызовы функций задач
- 2.2.2.6 Синхронный вызов функции пакета
- 2.2.2.7 События и подписки
- 2.2.2.8 Текстовый язык
- 2.2.2 Технические характеристики
- 2.2.2.1 Описание структуры программной системы
- 2.2.2.1.1 Платформа разработки
- 2.2.2.1.2 Подсистема редактирования
- 2.2.2.1.3 Разработка графических редакторов
- 2.2.2.1.4 Разработка текстового редактора
- 2.2.2.1.5 Описание языка
- 2.2.2.1.6 Семантический анализ пользовательской программы
- 2.2.2.1.7 Генерация кода на целевом языке
- 2.2.2.1.8 Генерация кода редактора текстового языка
- 2.2.2.1.9 Проектирование отладчика
- 2.2.2.1.10 Регистрация конфигурации запуска
- 2.2.2.1.11 Модель отладки
- 2.2.2.1.12 Виртуальная машина
- 2.2.2.1.13 Моделирование
- 2.2.2.1.14 Концепция параметризированных сигналов
- 2.2.2.1.15 Функциональное моделирование блоков устройств
- 2.2.3 Ожидаемые технико-экономические показатели
- 2.3 Описание программы
- 2.3.1 Описание логической структуры
- 2.3.1.2 Типичный поток событий в графическом редакторе
- 2.3.2 Входные и выходные данные
- 2.3.3 Используемые технические средства
- 2.4 Программа и методика испытаний
- 2.4.1 Программа испытаний
- 2.4.2 Методика испытаний
- 3 Руководство пользователя
- 3.2 Условия выполнения программного комплекса
- 3.3 Установка программы
- 3.4 Текстовый редактор
- 3.5 Графический редактор
- 4 Акт испытаний программного продукта
- 5 Экономическая часть
- Заключение
- Список использованных источников