Порты играют центральную роль в механизме передачи сообщений. Сообщения посылаются и получаются портами. Порты являются двунаправленными и могут служить одновременно как для приема, так и для посылки сообщений.
Имя – Имя порта. Имя используется для идентификации порта и доступа к нему из кода.
Отображать имя – Если опция выбрана, то имя порта будет отображаться в графическом редакторе.
Исключить – Если опция выбрана, то порт будет исключен из модели.
Отображается на верхнем агенте – Если опция выбрана, то порт будет виден на презентации типа агента, в который будет вложен данный объект.
Видимость – Если опция выбрана, то порт будет отображаться на презентации во время выполнения модели.
Действие при получении – Код, выполняемый при получении сообщения (при вызове пользователем метода receive() этого порта, или при поступлении в порт сообщения из порта вложенного объекта). Только что полученное сообщение доступно здесь как msg (локальная переменная типа Object).*
Действие при отправке – Код, выполняемый при отправке сообщения (при вызове пользователем метода send() этого порта, или при поступлении в порт сообщения из порта агента, находящегося выше или на том же уровне иерархии, что и агент-владелец этого порта). Сообщение доступно здесь как msg (локальная переменная типа Object).*
* Если поле будет оставлено пустым, или введенный в поле код будет возвращать true, то сообщение будет перенаправляться дальше согласно правилам пересылки сообщений, в противном случае оно будет уничтожено.
Порт пользовательского класса – Если опция выбрана, то порт будет экземпляром пользовательского класса порта, вызов конструктора которого должен быть написан в поле Код конструктора.Такая возможность требуется в том случае, если у вас в модели(моделях) несколько портов с одинаковой нестандартной функциональностью (например, одинаковое Действие при получении сообщений), и вы хотите задать эту функциональность только один раз с помощью своего класса порта, а в дальнейшем просто создавать экземпляры этого класса.
Тип входящего сообщения – Тип сообщений, которым разрешено поступать в этот порт. Сообщения, которые не смогут быть приведены к указанному типу, будут проигнорированы и удалены. Если вы оставите в поле Object, то фильтрация сообщений по типу производиться не будет и портом смогут приниматься сообщения всех типов.
Тип исходящего сообщения – Тип сообщений, которым разрешено отсылаться через этот порт. Сообщения, которые не смогут быть приведены к указанному типу, будут проигнорированы и удалены. Если вы оставите в поле Object, то фильтрация сообщений по типу производиться не будет и через порт смогут посылаться сообщения всех типов.