1 Анализ предметной области
Существующие инструментальные среды разработки программ для микроконтроллеров устарели по сравнению, например, с инструментальными средами разработки программ для электронных вычислительных машин (ЭВМ). Существующие системы позволяют запрограммировать микроконтроллер в логике настроек его аппаратных блоков за счет установления значений в регистры контроллера. В итоге разработчик получает отдельные программы для устройств, входящих в состав системы, и связь между этими программами нигде формально не зафиксирована кроме как "в голове" разработчика и проектной документации.
В области разработки программ для ЭВМ от идеи программирования процессоров на уровне регистров ушли давно, создав множество высокоуровневых технологий, языков и инструментов. Наиболее распространенной в области программирования ЭВМ стала парадигма объектно-ориентированного программирования, позволяющая представить программу в виде системы некоторых взаимодействующих абстрактных сущностей. Парадигма объектно-ориентированного программирования нашла отражение в технологии COM и ее развитии для распределенных систем DCOM [4].
Для построения распределенных систем на базе ЭВМ существуют и другие парадигмы, основанные на модели параллельно взаимодействующих компонентов. Одной из таких парадигм является парадигма синхронного программирования [5], основанная на разработке программ на языках синхронного программирования: Esterel [6], Lustre [7], Signal [8], позволяющих описывать системы параллельных взаимодействующих модулей. Также разработаны стандарты по методам формального описания протоколов и соответствующие им языки: Estelle [9], Lotos [10], SDL [11].
Таким образом, существует множество технологий для описания РВС, построенных на базе ЭВМ. Однако при создании распределенных микроконтроллерных систем данные технологии, как показывает практика, не применяются. Причины этого кроются в принципиальных отличиях ЭВМ и микроконтроллеров и предъявляемым к ним требованиям, из-за чего перенос технологий с первых на последние представляется чрезвычайно затруднительным. Микроконтроллерные системы имеют другую область применения, нежели чем ЭВМ, к ним предъявляются особые требования по эффективности использования ресурсов (в том числе оперативной памяти), особые требования по энергосбережению. Также на базе микроконтроллеров часто строят системы для управления ответственными объектами (так называемые реактивные системы – системы, взаимодействующие с окружающей средой посредством обмена сообщениями в темпе, задаваемом самой средой [5]). При этом в качестве основных требований реактивных систем выступает минимальное время реакции системы и максимальная ее надежность. Все перечисленные особенности построения микроконтроллерных систем не позволяют в полной мере использовать существующие технологии создания (РВС), поскольку получаемые системы управления не удовлетворяют указанным требованиям.
Поэтому на текущий момент отладка взаимодействия компонентов микроконтроллерной системы занимает наибольшую часть времени разработки. Наличие готовых программных библиотек реализаций стандартизованных низкоуровневых протоколов обмена сообщениями между устройствами способно лишь решить проблему аппаратного интерфейсного соединения устройств системы, в то время как сам высокоуровневый протокол взаимодействия на данный момент разработчикам приходится реализовывать вручную, на базе имеющихся реализаций низкоуровневых протоколов, что представляет собой весьма трудоемкую по времени и ресурсам задачу. Кроме того, не существует инструментов специализированной отладки взаимодействия распределенных микрокронтроллерных систем, что вынуждает разработчиков применять методы тестирования системы в режиме реального времени ее работы.
- Введение
- 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 Экономическая часть
- Заключение
- Список использованных источников