Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Bolshakov_Poyasnitelnaya_zapiska.doc
Скачиваний:
29
Добавлен:
08.03.2015
Размер:
1.58 Mб
Скачать

2.2.2.2 Недостатки диаграммы Бара для проектирования микроконтроллерных программ управления

Формальная модель предлагаемой диаграммы задач основана на концепциях диаграмм Р. Бара, предложившего метод объектно-ориентированного структурного проектирования программ, реализуемых на языке Ада [33]. Под объектами понимаются задачи и пакеты как черные ящики с известным интерфейсом. Применение нотации Бара в неизмененном виде в рассматриваемой предметной области не имеет смысла, поскольку нотация обладает рядом нижеперечисленных недостатков.

1) В язык Ада заложена возможность только синхронного взаимодействия объектов через механизм рандеву.

Сам Бар отмечает, что данное ограничение вызывает сомнения в способности языка Ада обеспечить организацию взаимодействия в реальном времени [33]. В среде, где несколько задач выполняются одним процессором, вынужденные излишние переключения контекстов задач для обеспечения условий рандеву увеличивают время реакции системы при работе в реальном масштабе времени.

2) Разработанные модули-пакеты не могут быть инициаторами взаимодействий на уровне графической нотации.

В результате приходится либо задействовать низкоуровневый механизм передачи указателей на экземпляры задач, либо задействовать неэффективный метод организации программы - метод опроса пакета (polling).

Изложенные ниже концепции формальной модели диаграмм задач позволяют устранить недостатки нотации, предложенной Баром, с точки зрения использования этой нотации для описания программ управления микроконтроллерных встраиваемых систем.

2.2.2.3 Концепции диаграммы задач

На диаграмме задач отображаются задачи, пакеты и связи между ними. Задача – некоторый вычислительный процесс, выполняющийся параллельно с другими. Задачи имеют функции и события. Функция является аналогом термина “процедура” в языке Ада и термина “функция” в языке С. Функции и события задач могут быть вызваны синхронно и асинхронно. За каждой задачей закреплены очереди сообщений для каждого типа функции, асинхронное сообщение на запуск которой было получено задачей. Пакет отличается от задачи тем, что не имеет основной программы и очередей сообщений, а имеет только набор функций и событий и вложенные задачи. Пример диаграммы задач приведен на рисунке 2.2.

Рисунок 2.2 – Эскиз диаграммы задач

Задача представляется в виде параллелограмма, внутри нее отображается список функций и событий. Функции и события могут быть локальными и интерфейсными. Задачи имеют приоритеты. Пакеты, в отличие от задач, изображаются в прямоугольниках.

Аппаратные задачи, отображаемые на диаграмме задач, обозначают не только некоторую аппаратную функциональность, работающую параллельно с другими задачами, но и также предоставляют программный интерфейс (API) для работы с ней. Например, под аппаратной задачей интерфейса SPI понимается как работа соответствующих блоков аппаратуры, так и реализация программного интерфейса SPI от разработчиков системы. Аппаратные задачи имеют больший приоритет, чем пользовательские.

2.2.2.4 Семантика отображаемых на диаграмме задач связей

На диаграмме задач отображаются только связи типа “подписка” и типа “вызов функции”. Вызов функции задачи может происходить из любой функции другой задачи. Подписка предполагает вызов функции при срабатывании определенного события. На одно событие может быть сколько угодно подписчиков, при этом вызовы могут быть как синхронными, так и асинхронными.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]