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

Содержание

Введение 12

1 Анализ предметной области 14

1.1 Постановка задачи 16

1.2 Обзор аналогов 16

2 Программная документация 21

2.1 Техническое задание на программное обеспечение 21

2.1.1 Назначение разработки 21

2.1.2 Терминология 21

2.1.3 Требования к функциональным характеристикам 23

2.1.4 Требования к надежности 25

2.1.5 Требования к составу и параметрам технических средств 25

2.1.6 Требования к информационной и программной совместимости 26

2.1.7 Требования к результатам работы 27

2.1.7.1 Требования к комплектации решения 27

2.1.7.2 Требования к документации 27

2.1.8 Перечень работ по этапам 27

2.2 Пояснительная записка 28

2.2.1 Назначение и область применения 28

2.2.2 Описание разработанной технологии создания программ для распределенных микроконтроллерных систем 29

2.2.2.1 Схема оборудования 29

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

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

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

2.2.2.5 Синхронные и асинхронные вызовы функций задач 34

2.2.2.6 Синхронный вызов функции пакета 34

2.2.2.7 События и подписки 34

2.2.2.8 Текстовый язык 35

2.2.2 Технические характеристики 36

2.2.2.1 Описание структуры программной системы 37

2.2.2.1.1 Платформа разработки 38

2.2.2.1.2 Подсистема редактирования 38

2.2.2.1.3 Разработка графических редакторов 39

2.2.2.1.4 Разработка текстового редактора 43

2.2.2.1.5 Описание языка 44

2.2.2.1.6 Семантический анализ пользовательской программы 46

2.2.2.1.7 Генерация кода на целевом языке 47

2.2.2.1.8 Генерация кода редактора текстового языка 48

2.2.2.1.9 Проектирование отладчика 49

2.2.2.1.10 Регистрация конфигурации запуска 49

2.2.2.1.11 Модель отладки 51

2.2.2.1.12 Виртуальная машина 53

2.2.2.1.13 Моделирование 55

2.2.2.1.14 Концепция параметризированных сигналов 56

2.2.2.1.15 Функциональное моделирование блоков устройств 57

2.2.3 Ожидаемые технико-экономические показатели 62

2.3 Описание программы 62

2.3.1 Описание логической структуры 62

2.3.1.2 Типичный поток событий в графическом редакторе 65

2.3.2 Входные и выходные данные 67

2.3.3 Используемые технические средства 67

2.4 Программа и методика испытаний 68

2.4.1 Программа испытаний 68

2.4.2 Методика испытаний 68

3 Руководство пользователя 71

3.2 Условия выполнения программного комплекса 71

71

3.3 Установка программы 72

3.4 Текстовый редактор 72

3.5 Графический редактор 73

4 Акт испытаний программного продукта 78

5 Экономическая часть 79

Заключение 97

Список использованных источников 98

Введение

Неотъемлемой частью современного мира являются электронные устройства, все плотнее и плотнее окружающие человека во всех его областях деятельности. Большинство таких электронных устройств являются вычислительными системами, среди которых особо выделяют встраиваемые системы [1]. В частности, к таким системам относят специализированные микропроцессорные системы управления, концепции разработки которых заключаются в том, что такие системы должны работать, будучи встроенными непосредственно в управляемые устройства. Отдельные встраиваемые системы могут активно взаимодействовать друг с другом, образуя распределенные вычислительные системы (РВС). Поэтому развитие функциональных возможностей электронных устройств сегодня происходит во многом за счет увеличения их коммуникационных возможностей.

Значительную часть встраиваемых систем составляют микроконтроллерные системы, то есть системы, основными элементами которых являются микроконтроллеры [2]. Микроконтроллер – микросхема, предназначенная для управления электронными устройствами, сочетающая в себе функции процессора и периферийных устройств, содержащая основное запоминающее устройство и / или постоянное запоминающее устройство. По сути, это однокристальный компьютер, способный выполнять простые задачи.

Согласно статистике крупнейшей аналитической компании Databeans, производящей оценку рынка полупроводниковых устройств [3], рынок микроконтроллеров достиг в 2011 году уровня более 15 миллиардов долларов в год. По данным аналитической компании, рынок микроконтроллеров демонстрирует стабильный рост, который по прогнозам до 2015 года будет составлять 7% в год. Микроконтроллеры наиболее широко используются для построения автономных мобильных устройств и систем из таких устройств от различного рода роботов до устройств бытовой техники и распределенных систем “умного дома”.

Поскольку микроконтроллер является микросхемой, выполняющей заданную программу, то программирование микроконтроллера является краеугольным камнем создания всех микроконтроллерных встраиваемых и распределенных систем. В рамках данной работы рассматривается новая технология и инструмент создания программ управления распределенными микроконтроллерными системами.

1 Анализ предметной области

Существующие инструментальные среды разработки программ для микроконтроллеров устарели по сравнению, например, с инструментальными средами разработки программ для электронных вычислительных машин (ЭВМ). Существующие системы позволяют запрограммировать микроконтроллер в логике настроек его аппаратных блоков за счет установления значений в регистры контроллера. В итоге разработчик получает отдельные программы для устройств, входящих в состав системы, и связь между этими программами нигде формально не зафиксирована кроме как "в голове" разработчика и проектной документации.

В области разработки программ для ЭВМ от идеи программирования процессоров на уровне регистров ушли давно, создав множество высокоуровневых технологий, языков и инструментов. Наиболее распространенной в области программирования ЭВМ стала парадигма объектно-ориентированного программирования, позволяющая представить программу в виде системы некоторых взаимодействующих абстрактных сущностей. Парадигма объектно-ориентированного программирования нашла отражение в технологии COM и ее развитии для распределенных систем DCOM [4].

Для построения распределенных систем на базе ЭВМ существуют и другие парадигмы, основанные на модели параллельно взаимодействующих компонентов. Одной из таких парадигм является парадигма синхронного программирования [5], основанная на разработке программ на языках синхронного программирования: Esterel [6], Lustre [7], Signal [8], позволяющих описывать системы параллельных взаимодействующих модулей. Также разработаны стандарты по методам формального описания протоколов и соответствующие им языки: Estelle [9], Lotos [10], SDL [11].

Таким образом, существует множество технологий для описания РВС, построенных на базе ЭВМ. Однако при создании распределенных микроконтроллерных систем данные технологии, как показывает практика, не применяются. Причины этого кроются в принципиальных отличиях ЭВМ и микроконтроллеров и предъявляемым к ним требованиям, из-за чего перенос технологий с первых на последние представляется чрезвычайно затруднительным. Микроконтроллерные системы имеют другую область применения, нежели чем ЭВМ, к ним предъявляются особые требования по эффективности использования ресурсов (в том числе оперативной памяти), особые требования по энергосбережению. Также на базе микроконтроллеров часто строят системы для управления ответственными объектами (так называемые реактивные системы – системы, взаимодействующие с окружающей средой посредством обмена сообщениями в темпе, задаваемом самой средой [5]). При этом в качестве основных требований реактивных систем выступает минимальное время реакции системы и максимальная ее надежность. Все перечисленные особенности построения микроконтроллерных систем не позволяют в полной мере использовать существующие технологии создания (РВС), поскольку получаемые системы управления не удовлетворяют указанным требованиям.

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

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