Теория систем автоматического регулирования

       

Шлюз Visio2SimKernel


Если проанализировать вводную информацию по графическому интерфейсу моделирующих программ, то становятся очевидны задачи, возлагаемые на шлюз Visio2SimKernel:

Контроль над процессом создания рисунка блок-схемы или же схемы физической принципиальной (техника выполнения рисунка блок-схемы отличается от техники выполнения чертежа гайки и возможны специфические облегчения некоторых графических процедур; также требуется контролировать соблюдение некоторых правил создания блок-схем, например отсутствие коротких замыканий выходов и др.).

Дешифровка рисунка направленного графа (блок-схемы) и трансформация информации в программирующие математическое ядро инструкции (см. листинг2).

Трансформация ненаправленного графа (схемы физической принципиальной), путем перебора уточняющих коммутаций, в виртуальный (неначерченный) направленный, точнее би- или сонаправленный граф.

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

Дешифровка графических образов, отвечающих за синхронизацию потоков (ядер).

Контроль над процессом симуляции модели; управление процессами визуализации результатов и синхронизации Online воздействий (фактически это еще один шлюз).

В случае использования Visio [8], в качестве графического интерфейса, модульная структура моделирующей программы, изображенная на рис. 1, может быть сокращена. Достаточно оставить Visio, COM-сервер математического ядра, а так же серверы визуализации и Online воздействий. Тому способствуют следующие благоприятные моменты. Последние версии Visio ориентированны на сохранение рисунков в файлах с XML разметкой. Роль библиотеки шаблонов блоков SimKernel_Lib.xml может выполнять определяемая пользователем библиотека графических примитивов Visio (vss-файл). Причем, последние могут иметь переопределяемые пользователем параметры, которые сохраняются в файле рисунка.
Объектная модель Visio имеет разделённые коллекции для библиотечных графических примитивов (в нашем случае это блоки), для линий связи, и для коннектеров, что упрощает написание шлюза.

Для математических ядер разных производителей шлюз будет отличаться лишь синтаксисом интерфейсов (табл. 2), который должны уточнить сами производители. Реализация первых двух задач, возложенных на шлюз Visio2SimKernel весьма проста (программа на VB не превышает двух сотен строк). Данной, сокращенной версии шлюза достаточно, дабы перекрыть возможности графических интерфейсов таких программ как Simulink, VisSim, MBTY, т.е. закрыть потребности техники структурного моделирования.

Таким образом, производителю математического ядра достаточно поставить: графическую библиотеку блоков, собственный шлюз (Visio2VisSim, Visio2Simulink, Visio2MBTY) и настроенный шаблон документа Visio, дабы пользователь мог использовать его для создания новых моделей. Шлюз может быть оформлен либо в виде вмонтированного в шаблон документа макроса, либо в виде расширений: add-in'а — для контроля над процессом создания рисунка через механизм событий,  и add-on'а — для исполнения процедур дешифраций рисунка, программирования математического ядра и управления серверами визуализации и Online-воздействий.

Завершая обзор шлюза, надо отметить, что благодаря гибкости графического интерфейса на основе редакторов векторной графики, впервые у конечного пользователя моделирующих программ появится возможность решить задачу трансформации ненаправленного графа в граф направленный независимо от производителя. А это означает, что техника мультидоменного физического моделирования сделает громадный рывок вперед, поскольку перестанет быть ноу-хау нескольких фирм (см. программы: Dynast, 20-sim, Dymola, Simplorer, ITI-sim, Micro-Cap, Pspice, Multisim).


Содержание раздела