- •2. Ядра и операционные системы реального времени
- •2.1. Задачи, процессы, потоки
- •2.2. Основные свойства задач
- •2.3. Планирование задач
- •2.4. Синхронизация задач
- •2.5. Тестирование
- •2.6. Можно ли обойтись без ОС РВ?
- •3. Обзор некоторых операционных систем реального времени
- •3.1. Linux реального времени
- •3.2. Операционные системы реального времени и Windows
- •3.3. Операционная система QNX
- •3.4. Проект Neutrino
- •4.1. Организация промышленных систем
- •4.2. Аппаратная архитектура
- •4.3. Стандарты шин
- •4.4. Технологии VME и PCI
- •4.5. Мезонинные технологии
- •4.6. Полевые системы
- •4.7. Программное обеспечение промышленных систем
- •4.8. Управление производством
- •Часть 2. ПРОЕКТИРОВАНИЕ СРВ
- •5. UML проектирование систем реального времени
- •5.1. Объектно-ориентированные методы и UML
- •5.2. Метод и нотация
- •5.3. Системы и приложения реального времени
- •6. Обзор нотации UML
- •6.1. Диаграммы UML
- •6.2. Диаграммы прецедентов
- •6.3. Нотация UML для классов и объектов
- •6.4. Диаграммы классов
- •6.5. Диаграммы взаимодействия
- •6.6. Диаграммы состояний
- •6.7. Пакеты
- •6.8. Диаграммы параллельной кооперации
- •6.9. Диаграммы развертывания
- •6.10. Механизмы расширения UML
- •7.1. Среды для параллельной обработки
- •7.2. Поддержка исполнения в мультипрограммной и мультипроцессорной средах
- •7.3. Планирование задач
- •7.4. Вопросы ввода/вывода в операционной системе
- •7.6. Технология World Wide Web
- •7.7. Сервисы распределенных операционных систем
- •7.8. ПО промежуточного слоя
- •7.9. Стандарт CORBA
- •7.10. Другие компонентные технологии
- •7.11. Системы обработки транзакций
- •8. Разбиение на задачи
- •8.1. Вопросы разбиения на параллельные задачи
- •8.2. Категории критериев разбиения на задачи
- •8.3. Критерии выделения задач ввода/вывода
- •8.4. Критерии выделения внутренних задач
- •8.5. Критерии назначения приоритетов задачам
- •8.6. Критерии группировки задач
- •8.7. Пересмотр проекта путем инверсии задач
- •8.8. Разработка архитектуры задач
- •8.9. Коммуникации между задачами и синхронизация
- •8.10. Спецификация поведения задачи
- •9. Проектирование классов
- •9.1. Проектирование классов, скрывающих информацию
- •9.2. Проектирование операций классов
- •9.3. Классы абстрагирования данных
- •9.4. Классы интерфейса устройства
- •9.5. Классы, зависящие от состояния
- •9.6. Классы, скрывающие алгоритмы
- •9.7. Классы интерфейса пользователя
- •9.10. Внутренние программные классы
- •9.11. Применение наследования при проектировании
- •9.12. Примеры наследования
- •9.13. Спецификация интерфейса класса
- •10. Детальное проектирование ПО
- •10.1. Проектирование составных задач
- •10.2. Синхронизация доступа к классам
- •10.4. Логика упорядочения событий
- •11.1. Теория планирования в реальном времени
- •11.2. Развитие теории планирования в реальном времени
- •11.5. Пример анализа производительности с помощью анализа последовательности событий
- •11.6. Пример анализа производительности с применением теории планирования в реальном времени
- •11.8. Пересмотр проекта
- •11.9. Оценка и измерение параметров производительности
- •12. ЗАКЛЮЧЕНИЕ
- •СПИСОК ЛИТЕРАТУРЫ
СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ |
194 |
8.10. Спецификация поведения задачи
Спецификация поведения задачи (СПЗ) описывает ее интерфейс,
структуру, временные характеристики, относительный приоритет, ло- гику упорядочения событий и обнаруживаемые ошибки. Интерфейс задачи – это способ ее взаимодействия с другими задачами. Структу- ра говорит о том, как данная задача появилась (посредством какого критерия разбиения). Временные характеристики – это частота акти- визации и ожидаемое время выполнения. Полученная информация используется для планирования в реальном времени.
СПЗ прилагается к описанию архитектуры задач. В процессе разбиения на задачи в СПЗ заносится информация о входных и вы- ходных данных задачи. Часть СПЗ составляется позже, на этапе де- тального проектирования программы. Речь идет о логике упорядоче- ния событий – описании того, каким образом задача отвечает на входные события.
СПЗ определяется следующим образом:
– интерфейс задачи. Сюда должны включаться:
§входные и выходные сообщения. Для каждого сообщения не- обходимо указать:
§тип интерфейса (слабо связанный, сильно связанный с отве- том, сильно связанный без ответа), имя и параметры;
§события (входные и выходные):
§имя события;
§тип события (внешнее, внутреннее, таймера);
§внешние входы и выходы. Определяются входные данные из внешней среды и выходная информация, выводимая во внеш- нюю среду;
§используемые пассивные объекты;
– информация о структуре задачи включает:
§ критерий, примененный для выделения этой задачи;
§ объекты из аналитической модели, отображенные на эту за- дачу;
– временные характеристики:
www.pdffactory.com
СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ |
195 |
§частота активизации. Для периодической задачи – ее период
Тi для асинхронной задачи - ожидаемая средняя и максималь- ная частота активизации асинхронными событиями;
§ожидаемое время С. выполнения задачи. Если есть несколько путей выполнения, то оценка времени для основных из них;
–относительный приоритет задачи. Задаче назначается приори- тет относительно других исполняемых в системе задач;
–ошибки, обнаруживаемые задачей. Описываются ошибки, ко- торые могут встретиться при исполнении задачи;
–логика упорядочения событий. Рассматриваются реакции за- дачи на каждое сообщение или событие и то, какая выходная инфор- мация при этом генерируется. Данный аспект поведения задачи опре- деляется на этапе детального проектирования программы.
8.10.1. Пример спецификации поведения для задачи «Банковский Сервер». СПЗ для задачи Банковский Сервер (показанной на рис.8.24), выглядит следующим образом.
Задача: Банковский Сервер.
• интерфейс задачи:
–входные данные:
Сильно связанный обмен сообщениями с ответом. Сообщения:
– ПроверитьПИН-код.
Входные параметры: идКарточки, ПИН-код. Ответ: результатПроверкиПИН-кода;
– снять.
Входные параметры: идКарточ-ки, номерСчета, сумма.
Ответ: результатСнятия;
– справка.
Входные параметры: идКарточки, номерСчета. Ответ: результатСправки;
– перевести.
Входные параметры: идКарточки, исходныйСчет, Целевой Счет,сумма.
Ответ: результатПеревода;
– выходные данные:
Ответы, описанные выше;
www.pdffactory.com
СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ |
196 |
• структура задачи:
– критерий: последовательная группировка.
– объекты, отображенные на задачу:
Сервер Банковских Транзакций, Менеджер Транзакций Проверки ПИН-кода, Менеджер Транзакций Снятия, Менеджер Транзакций Справки, Менеджер Транзакций Перевода, Чековый Счет, Сберегательный Счет, Дебетовая Карточка, Карточный Счет, Протокол Транзакций;
• временные характеристики:
– активизация: асинхронная – по мере поступления сообщений от клиентов. Интервал между последовательными поступлениями в худшем случае 100 мс. Среднее время между поступлениями больше
1 с;
– время выполнения Сi: 10 мс на одно сообщение;
• приоритет.
Высокий – должна успевать отвечать на входные сообщения;
• обнаруживаемые ошибки.
Неопознанное сообщение;
• логика упорядочения событий.
Определяется на этапе детального проектирования программы.
www.pdffactory.com