Элемент диаграммы действий задает основные свойства диаграммы — ее тип возвращаемого значения, аргументы, уровень доступа и т.д.
Чтобы создать новую диаграмму действий
- Перетащите элемент Диаграмма действий из палитры Диаграмма действий на диаграмму типа агентов.
- Будет нарисована простейшая диаграмма действий, состоящая из начальной точки (задаваемой блоком "диаграмма действий") и блока "вернуть значение".
- Измените имя диаграммы действий (прямо в текстовом редакторе, который активируется в графическом редакторе при добавлении нового элемента). Это имя будет использоваться для вызова функции, заданной этой диаграммой действий.
- Чтобы задать свойства диаграммы действий, перейдите в панель Свойства.
- Если функция, задаваемая вашей диаграммой действий, только выполняет какие-то действия, но не возвращает никакого результата проведенных вычислений, укажите, что эта функция не возвращает ничего, выбрав в группе кнопок Действие (не возвращает ничего).
- Если вам нужно, чтобы диаграмма действий возвращала результат проведенных ею вычислений, то вам нужно будет указать, какого типа будет возвращаемое значение. Диаграмма действий может возвращать как значение одного из наиболее часто используемых типов (int, double, boolean, String), так и значение любого другого Java класса (в этом случае вам нужно будет выбрать опцию Другой и ввести имя типа в расположенном справа поле).
- Диаграмма действий может быть объявлена статической. Статическая диаграмма действий не требует создания экземпляров того типа агентов, в котором она задана. Статическая диаграмма действий мояФункция, объявленная в типе агента MyClass, будет доступна из любого места модели как MyClass.мояФункция(). Чтобы сделать диаграмму действий статической, установите флажок Статическая в секции свойств Специфические.
- Вы закончили создание простейшей диаграммы действий. Теперь вам будет нужно добавить в созданную структуру другие блоки диаграммы действий согласно задаваемому вами алгоритму.
- Основные
-
— Имя диаграммы действий. Это имя будет использоваться для вызова функции, заданной этой диаграммой действий.
— Если опция выбрана, то имя диаграммы действий будет отображаться в графическом редакторе.
— Если опция выбрана, то диаграмма действий будет исключена из модели.
— Если опция выбрана, то диаграмма действий будет отображаться на презентации во время выполнения модели.
— Если опция выбрана, то заданная диаграммой действий функция не будет возвращать значения в результате своего выполнения.
— Если опция выбрана, то заданная диаграммой действий функция будет возвращать результат проведенных ею вычислений.
— Тип возвращаемого диаграммой действий значения. Функция может возвращать как значение одного из наиболее часто используемых типов (int, double, boolean, String), так и объект любого Java класса (в этом случае вам нужно будет выбрать опцию Другой и ввести имя типа в расположенном справа поле).
— Здесь вы можете задать аргументы функции, с помощью которых вы сможете передавать функции данные, необходимые для вычислений. Каждый аргумент задается в отдельной строке таблицы.
- Специфические
-
— Задает цвет заливки блока. Щелкните мышью внутри элемента управления и выберите нужный цвет из списка наиболее часто используемых цветов или же выберите любой другой цвет с помощью диалога Цвета.
— [Параметр доступен только в Режиме разработчика библиотек] Если опция выбрана, то функция, заданная данной диаграммой действий, будет статической. Статическая функция не требует создания экземпляров того типа агентов, в котором она задана. Статическая диаграмма действий мояФункция, объявленная в типе агента MyClass, будет доступна из любого места модели как MyClass.мояФункция().
— Уровень доступа к задаваемой диаграммой действий функции. Есть четыре уровня доступа:
private — функция доступна только из этого типа агентов
protected — функция доступна из этого типа агентов и его подклассов
default — функция доступна из любого места модели
public — функция доступна из всех открытых моделей— Если опция выбрана, то вы можете задать единицы измерения для возвращаемого диаграммой действий значения.
Для вызова заданной с помощью диаграммы действий функции используется тот же синтаксис, что и для самих функций. Вы должны указать имя диаграммы действий, за которым следуют скобки, в которых через запятую перечисляются передаваемые диаграмме значения аргументов (если они есть), например:
мояФункция()
move(15, 35)
Если вам будет нужно передавать заданной с помощью диаграммы действий функции какие-то данные, необходимые для проведения вычислений, вы можете использовать для этого аргументы.
Чтобы задать аргументы диаграммы действий
- Выберите элемент Диаграмма действий в графическом редакторе или в панели Проекты.
- Задайте аргументы в таблице Аргументы в панели Свойства. Каждый аргумент задается в отдельной строке таблицы.
- Введите имя аргумента в ячейке Имя.
- Укажите тип аргумента в ячейке Тип. Щелкните мышью в ячейке и выберите нужный вам тип из выпадающего списка, либо же введите его самостоятельно.
Если вы зададите аргументы, то при каждом вызове диаграммы действия вам будет нужно передавать ей значения этих аргументов (в том же порядке, в каком они заданы в таблице Аргументы).
AnyLogic позволяет изменять порядок следования аргументов в таблице с помощью кнопок и .
Чтобы удалить аргумент, выделите соответствующую строку в таблице и щелкните по кнопке .
Если объем кода, заданный в вашей диаграмме действий с помощью элементов Код, достаточно существенен, вам может быть удобнее продолжить работу над этим алгоритмом не как c диаграммой действий, а как с обычной функцией AnyLogic (в текстовом виде). Для таких случаев AnyLogic предлагает возможность преобразования диаграммы действия в функцию (обратная конвертация невозможна).
Чтобы преобразовать диаграмму действий в функцию
- Щелкните правой кнопкой мыши по элементу в графическом редакторе.
- Выберите команду Преобразовать в функцию из контекстного меню. Вы увидите значок функции , появившийся рядом с диаграммой действий в графическом редакторе. Имя созданной функции будет отличаться от имени диаграммы действий последней цифрой.
- Если вы уверены, что хотите продолжить работу над алгоритмом как с функцией, удалите вашу диаграмму действий.
- Измените имя функции, чтобы оно соответствовало имени удаленной диаграммы действий.
- Продолжите работу над алгоритмом в кодовом редакторе, расположенном в секции свойств Тело функции созданной функции.
-
Как мы можем улучшить эту статью?
-