AnyLogic
Развернуть
Размер шрифта

Динамическое соединение портов

AnyLogic поддерживает создание динамических моделей с динамически меняющейся структурой и взаимосвязями компонентов

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

Тип соединения Метод для соединения Метод для отсоединения
Порт и порт вложенного объекта port.map(source.out); port.unmap(source.out);

Обратите внимание на то, что методы map() и unmap() не должны вызываться у порта вложенного объекта. Следующая строка вызовет ошибку:
source.out.map(port);
Порты вложенных объектов source.out.connect(sink.in); source.out.disconnect(sink.in);

Класс порта Port также предоставляет метод, производящий отсоединение порта от всех соединенных с ним портов:

disconnectAndUnmapAll();

Эта демонстрационная модель показывает пример динамического соединения объектов Библиотеки моделирования процессов. Она содержит два отдельных участка диаграммы процесса, которые вы можете соединить щелчком по расположенной между ними кнопке. Чтобы понять реализацию подхода, вы можете посмотреть на поле Действие этой кнопки.

Как мы можем улучшить эту статью?