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

Определение параметров узла.

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

Номер узла присваивается конструктором при его создании. Обычно первые 100 номеров зарезервированы для узлов send - бухгалтерских счетов. Нумерация создаваемых узлов осуществляется последовательно, с номера 101. Смена номера узла возможна с помощью соседнего с номером диалогового поля, но не рекомендуется для узлов, созданных ранее. Дело в том, что в тексте модели могут существовать привязки к номеру узла, созданные вручную. Конструктор не может их отследить, поэтому при перенумерации логика модели рушится.

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

Класс узла может быть выбран из списка. В списке приводятся только те типы узлов, которые имеют одинаковое обозначение. Например, узел типа send можно сменить на attach (но при этом изменяется набор и смысл параметров). Поэтому функция смены типа полезна и имеет смысл только при создании нового узла.

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

Модель получает дополнительную гибкость за счет использования вставок C++ кода. Панель Общий C++ текст позволяет пользователю включить в процедуру обработки узла произвольный текст на языке C++. Текст делится на две части: одна выполняется до вызова функции узла, другая - после нее. Смысл такого разбиения заключается в том, что программный текст, выполняющийся до вызова функции узла, может подготавливать какие-либо переменные, которые функцией будут использованы. Так, например, может быть подсчитано время обслуживания транзакта перед выполнением функции узла типа serv. Программный текст, следующий после вызова функции узла, на ее выполнение уже никак не влияет и может использоваться для обработки параметров выполненной функции или подготовки параметров для других функций модели.

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

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

Итак, рассмотрена схема определения параметров узла типа serv . Аналогичным образом определяются параметры для узлов любого типа, но окно определения параметров функции узла (рис. 5.6) имеет различный вид. Например, для узла типа queue окно содержит на стройку единственного параметра - признака приоритета прохожде ния транзактов, а для узлов типа term параметров функции узла и исходящих ссылок не существует вовсе.