Евгений Назаров, версия от 19 сентября 2006, статус: DRAFT
ВНИМАНИЕ! Содержимое документа будет меняться!
Данная спецификация предоставляется на разрабатываемый программный продукт. Полное наименование разрабатываемого программного продукта – комплекс средств структурного и параметрического синтеза моделей интеллектуальных систем управления.
Программный продукт предназначен для разработки моделей интеллектуальных систем управления с учетом характеристик и особенностей поставленной задачи, а также требований к её решению.
Задачей комплекса средств является обеспечение интегрированной среды разработки (ИСР) для пользователя вне зависимости от решаемой задачи, обеспечение эргономичного интерфейса для моделирования решений поставленных задач и экспортирование результатов работы на другие платформы.
Для комплекса средств поставляется дополнительный программный пакет (набор DLL модулей ОС Windows), определяющий специфику задачи и предоставляющий как сам объект управления, так и средства управления им (каналы управления, линии связи с объектом и т.п.). Таким образом, для комплекса определяется спецификация задачи, доступной к решению. Решение задачи происходит в разрабатываемом комплексе средств.
Комплекс средств состоит из основного модуля программы, обеспечивающего интегрированную среду разработки, выполненного в виде исполняемого файла, вспомогательного модуля программы, обеспечивающего поддержку SDK (Software Development Kit), мастеров системы, предоставляющих вспомогательную функциональность при работе пользователя, выполненных в виде DLL, а также плагинов системы, за счет которых расширяется имеющаяся функциональность программного продукта.
Основой результатов работы комплекса является решение, которое включает в себя решаемые задачи (одну или несколько), слои управления и карты моделирования.
Задача представляет собой вспомогательный модуль программы, создаваемый на основе SDK (Software Development Kit) комплекса средств, предоставляющий набор классов элементов мира и интеллектуальных блоков. Задача косвенно или явно представляет объект управления посредством элементов мира и предоставляет средства управления посредством интеллектуальных блоков.
Слои управления представляют собой граф, в узлах которого находятся интеллектуальные блоки, а переходами являются связи между входами/выходами интеллектуальных блоков. Интеллектуальные блоки подразделяются на три вида по типа:
- Входные – интеллектуальный блок является входом слоя управления и содержит только выходные элементы связи;
- Выходные – интеллектуальный блок является выходом слоя управления и содержит только входные элементы связи;
- Смешанные – интеллектуальный блок имеет один и более входных элементов связи и один и более выходных элементов связи;
Примером входного интеллектуального блока является входной блок времени, т.е. блок, предоставляющий значение текущего времени системы, а также всевозможные блоки-генераторы (генератор константы, генератор синусоиды и т.д.).
Примером выходного интеллектуального блока является выходной блок вызова слоя управления, т.е. блок, передающий управление другому слою управления, а также блоки, представляющие каналы управления объектом управления.
Примером смешанных блоков является блок LUA-скрипта, в котором действия, которые должны быть выполнены блоком, описываются скриптом LUA.
Решение может иметь один и более слоев управления.
Карты моделирования представляют собой средство визуализации решения. Вне зависимости от выбранного рендерера системы (как способа визуализации при моделировании), карта моделирования создается в 2D-пространстве, с условным видом "сверху". При создании карты моделирования пользователь наносит элементы мира на поверхность, задает их свойства и прикрепляет к ним слой управления, при необходимости (если объект динамический). В процессе моделирования запускается выбранный рендерер, который может отличаться от используемого при редактировании, на который перекладываются функции по визуализации корректного изображения мира (сцены). Как уже говорилось, редактирование карты мира происходит в 2D пространстве, однако визуализация процесса может происходить и в 3D пространстве, при наличии специального рендерера.
Спецификация на слои управления изложена в документе «Спецификация LSS», спецификация на карты моделирования изложена в документе «Спецификация MSS».
В момент запуска процесса моделирования комплекс создает универсальную базу данных, содержащую элементы мира. Каждому из элементов мира назначается его основной слой управления. Если слой управления элементу мира не назначается, то такой элемент мира считается статическим, т.е. участвующим во взаимодействиях косвенно. Для каждой итерации процесса моделирования для каждого элемента мира вызывается на исполнение его основной слой управления. В ходе исполнения слоя управления вырабатываются управляющие воздействия для данного объекта, вызывающие изменение его состояния.
Предполагаются следующие типы пользователей системы:
- Разработчик системы – пользователь, имеющий доступ к ключевым кодам комплекса, имеющий возможность исправления ошибок и рефакторинга программы;
- Разработчик задачи – пользователь, имеющий навыки программирования на языке C++, знающий SDK комплекса, способный написать модули задачи, предоставляющие элементы мира и интеллектуальные блоки для данной задачи, а также сопутствующую документацию и необходимые рендереры;
- Разработчик решений – пользователь, имеющий навыки работы с комплексом, знающий скриптовый язык LUA, и разбирающийся в специфике задачи в достаточной мере, чтобы написать решение для данной задачи;
- Наблюдатель – пользователь, понимающий специфику задачи в достаточной степени для оценки адекватности полученного решения.
|