Проектирование, разработка и анализ программного обеспечения систем реального времени (+ CD-ROM)

С. Зыль

ЧАСТЬ I. КОНЦЕПЦИИ
Занятие 1. Механизмы реального времени
1.1. Что такое "компьютерная система реального времени"
1.2. Особенности операционных систем реального времени
1.3. Классификация и характеристики задач реального времени
1.4. Алгоритмы диспетчеризации задач реального времени
1.5. Вытисняемые системные вызовы
1.6. Защита от инверсии приоритетов
1.7. Выводы

Занятие 2. RMA
2.1. Назначение RMA
2.2. UB-тест
2.3. RT-тест
2.4. Расширения RMA
2.4.1. Спорадический сервер
2.4.2. Учет времени переключения задач
2.4.3. Учет предельного времени, истекающего раньше начала следующего периода
2.4.4. Учет фиксированных приоритетов и взаимодействия задач
2.5. Выводы

Занятие 3. Обеспечение безопасности или управление рисками
3.1. Концепция управления рисками
3.2. Информационная безопасность — "Оранжевая книга" и "Общие критерии"
3.2.1. "Оранжевая книга"
3.2.2. "Общие критерии"
3.3. Функциональная безопасность и МЭК 61508
3.4. Категории отказов и глубина тестирования по DO-178B
3.5. Выводы

Занятие 4. Жизненный цикл
4.1. Жизненный цикл и ГОСТ Р ИСО/МЭК 12207
4.2. Классическая V-модель разработки компьютерных систем
4.2.1. Анализ и спецификация требований
4.2.2. Проектирование системной архитектуры
4.2.3. Проектирование программного обеспечения
4.2.4. Реализация и тестирование программных модулей
4.2.5. Интеграция и тестирование программного обеспечения
4.2.6. Интеграция и тестирование системы
4.3. Основы тестирования
4.3.1. Концепция тестирования
4.3.2. Уровни тестов, стратегии тестирования
Стратегия тестирования
Планирование тестирования
Разработка тест-кейсов
Тестовые процедуры

4.4. Выводы
Занятие 5. MDD
5.1. Цели и задачи MDD
5.1.1. Цели MDD
5.1.2. Задачи MDD
5.2. UML и Real-Time UML
5.2.1. UML: "что?" и "зачем?"
5.2.2. Real-Time UML
5.2.3. SPT-профиль
5.3. Процесс разработки на основе MDD
5.3.1. Системный инжиниринг
5.3.2. Разработка программного обеспечения
Анализ
Дизайн
Реализация
Тестирование
Ревизия
5.4. Выводы

ЧАСТЬ II. ТЕХНОЛОГИИ
Занятие 6. Платформа QNX
6.1. QNX4 vs. QNX6
6.1.1. Платформа QNX4
6.1.2. Платформа QNX6
6.2. QNX Momentics
6.3. QNX Neutrino
6.3.1. Поддержка аппаратуры
Поддержка процессорных архитектур
Поддержка многоядерных процессоров
Поддержка процессорных плат
6.3.2. Базовые функциональные возможности
Микроядерная архитектура
Сетевая подсистема
Графическая подсистема
Photon microGUI
Технология QNX CoreGraphics
6.3.3. Обеспечение отказоустойчивости
Локализация сбоев
Идентификация сбоев
Восстановление после сбоев
6.4. Выводы

Занятие 7. Платформа Real-Time Java
7.1. Для чего нужна Java реального времени?
7.2. RTSJ — спецификация Java реального времени
7.2.1. Служба времени в RTSJ
7.2.2. Управление памятью в RTSJ
7.2.3. Потоки и их синхронизация в RTSJ
Потоки и приоритеты Java
Синхронизация и защита от инверсии приоритетов
7.2.4. Механизмы IPC, специфичные для RTSJ
Буферизованный обмен данными между потоками
Асинхронная передача управления (ATC)
7.2.5. Взаимодействие с аппаратурой
Обработка прерываний и других событий
Доступ к физической памяти
7.2.6. Резюме
7.3. "Уборка мусора" в реальном времени
7.3.1. Реализация RTGC в JamaicaVM
7.4. Выводы

Занятие 8. Middleware — технологии промежуточного слоя
8.1. Real-Time CORBA
8.2. СУБД Empress
8.2.1. Empress Standalone Mode
8.2.2. Empress Connectivity Server
8.2.3. Empress Replication Server
8.3. QNX Aviage
8.3.1. QNX Aviage Multimedia Suite
Подключение носителей информации
Подтверждение прав на использование
Запись и воспроизведение
Организация данных
Управление программными модулями и контентом
8.3.2. QNX Aviage Acoustic Processing Suite
8.3.3. QNX Aviage HMI Suite
8.4. Выводы

Занятие 9. Инструменты
9.1. Eclipse
9.1.1. Архитектура Eclipse
9.1.2. Eclipse C/C++ Development Tools
9.2. IBM Rational Rhapsody
9.2.1. Поддержка трассировки требований
9.2.2. Создание приложений
9.2.3. Тестирование на уровне модели
9.2.4. Прототипирование графических интерфейсов
9.2.5. Генерация документации
9.3. IPL Cantata++
9.3.1. Динамический анализ
9.3.2. Статический анализ
9.4. Выводы

ЧАСТЬ III. ПРАКТИКУМ
Занятие 10. QNX SDP
10.1. Получение и установка дистрибутива QNX SDP
10.2. Организация взаимодействия между инструментальной и целевой системами
10.3. Расширение функционала инструментальной системы
10.4. Выводы

Занятие 11. JamaicaVM
11.1. Получение дистрибутива JamaicaVM
11.2. Установка JamaicaVM
11.3. Создание простого приложения Real-Time Java
11.4. Запуск приложения Real-Time Java на целевой системе QNX Neutrino

Занятие 12. Rhapsody
12.1. Получение дистрибутива
12.2. Установка Rhapsody Developer и настройка генерации кода для QNX Neutrino
12.3. Пример "Dishwasher"
12.4. Генерация исполняемого модуля
12.5. Запуск исполняемого модуля в режиме анимации
12.6. Выводы

Занятие 13. Cantata++
13.1. Дистрибутив
13.2. Установка Cantata++ в среде Windows
13.3. Применение Cantata++
13.4. Выводы
Заключение
Приложение. Описание компакт-диска