интересно
Предыдущая | Содержание | Следующая

Определение параметров инициализации/завершения модели

Модель имеет параметры инициализации и завершения, задаваемые функциями modbeg и modend. Определение этих параметров производится через диалоговые окна, вызываемые нажатием кнопок

Modbeg и Modend в основном окне редактора либо выбором подпунктов основного меню в разделе Модель.

Окно определения параметров функции modbeg приведено на рис. 5.7. В его правой верхней части записывается какой-либо начальный текст на C++, если он необходим. Программный текст делится на две части: начальный C++ текст используется для подключения ^внешних библиотек и настройки глобальных параметров; текст инициализации ресурсов подготавливает параметры конкретных узлов типов attach и send. Другие поля окна позволяют редактировать переменные, стандартные для функции modbeg.

Редактирование переменных функции modend осуществляется через диалоговое окно, приведенное на рис. 5.8.

Работа в плоскостях модели. При работе с большой моделью удобно пользоваться набором плоскостей построения. Для этого конструктор предлагает набор плоскостей с номерами Г - 9, фрагменты графов которых не пересекаются на уровне маршрутов тран-зактов. В каждой из плоскостей могут находиться узлы типа parent, pay, rent, или down, в свою очередь порождающие новые плоскости. Порождаемые плоскости имеют номера, начинающиеся с 10.

Возможны следующие операции перехода с уровня на уровень: переход на детализирующую плоскость, подъем на плоскость узла-родителя и переключение между корневыми плоскостями. Для каждой открытой плоскости конструктор предоставляет собственное окно построения.

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

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

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

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

Определение переменных модели. Конструктор обеспечивает пользователя простым блоком диалога, который позволяет задавать имя, тип и начальное значение переменных (рис. 5.11).

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

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

Изменения настроек экрана. Изменение настроек экрана выполняется через диалоговое окно, изображенное на рис. 5.12 (основное меню, пункт Настройки).

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

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

Проверка корректности модели. Конструктор проводит проверку двумя независимыми способами:

не позволяет осуществлять заведомо ложные действия при редактировании пользователем модели;

имеет возможность проверки графа в целом.

Результат проверки графа выдается в окне, приведенном на рис. 5.13, как список ошибок возможных и ошибок явных, не позволяющих генерировать программный Pilgrim-файл. К явным ошибкам относятся отсутствие выходов или входов узла и неопределенные вход/выход плоскости.

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