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

2) Оригинальные инструментальные средства разработки программного обеспечения систем управления (nCsApp Wizard, State Machine Builder).

Использование лишь стандартных средств ОС и инструментальных средств для разработки системы PCNC недостаточно. Опыт показывает, что ряд задач в системе PCNC поддаются формализации. При этом наиболее актуальны такие задачи, как создание каркаса модулей или внешних приложений, подключаемых к объектно-ориентированной магистрали, и создание каркаса машины состояния любого модуля или внешнего приложения системы PCNC. Под созданием каркаса программного модуля понимаем добавление в проект или подпроект тех классов и их объектов, которые реализуют базовые функциональные возможности, практически однотипные для подобных же программных модулей. Во всех случаях формализации процесса разработки системы PCNC необходимо создавать собственный инструментарий.

Создание скелета модуля системы PCNC с помощью мастера приложения NcsAppWizard.

В общем случае АррWizard представляет собой средство создания и конфигурирования нового проекта в среде Microsoft Visual C++. NCsAppWizard, в частности определяет в интерактивной форме свойства и функциональные возможности будущего модуля системы PCNC. Скелет модуля создается на базе классов коммуникационной среды, при этом осуществляется генерация большей части необходимых программных кодов. Сведения о создаваемом приложении запрашиваются в диалоге с пользователем, а в результате генерируется исходный код. Таким образом, разработчик избавляется от одной из самых трудоемких работ по созданию скелета нового приложения.

Установка NcsAppWizard в систему разработки состоит в копировании файла с расширением «AWX» в директорию Template Microsoft Visual C++. После этого NcsApp Wizard становится доступным в качестве одного из мастеров создания приложений. Создание нового приложения при помощи NcsAppWizard представляет собой обработку последовательно сменяющихся диалогов. На первом шаге вводят информацию о типе приложения и целесообразности генерации примера. На втором шаге осуществляют ввод расширенных свойств приложения (например, для генерации обработчиков исключений), а также информацию для начального конфигурирования тулбара (количество кнопок и их расположение). На третьем шаге определяют стиль и обозначают права на приложения. Четвертый шаг задает размеры главного окна (при его наличии), возможности изменения размеров, автоматического центрирования и коррекции размеров окна при изменении разрешения экрана. Далее настраивают статусбар, параметры подключения к коммуникационной среде и т.д. В заключительном диалоге описывают те параметры проекта в текстовом виде, которые будут сгенерированы. В случае необходимости можно вернуться к предыдущим шагам и внести исправления.

В результате использования мастера разработки NCsAppWizard генерируется скелет модуля системы PCNC, в который добавлены классы и инициализированы их объекты для работы с общей объектно-ориентированной магистралью. На следующем этапе разработки осуществляется наполнение модуля функциональными возможностями. Частью этого этапа является разработка машины состояния.

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

Инструмент State Machine Builder позволяет не только визуально представить машину состояния в виде иерархического графа, но и задать имена классов, реализующих состояния и переходы, а также определить файлы их расположения. В результате инструментарий генерирует C++ код для машины состояния и встраивает его в Visual C++ проект системы PCNC. Инструментарий маркирует в генерируемом коде защищенные секции, в которых программисты реализуют функциональные наполнения переходов.

Соседние файлы в предмете Системы управления