Порядок инициализации модели

Чтобы не возникало ошибок, вызванных тем, что пользователь пытается перед запуском модели присвоить значение или выполнить какие-то действия с элементом, который еще не был создан, мы приводим здесь краткую информацию о порядке инициализации модели.

Модель создается в следующем порядке:

  1. Создается агент верхнего уровня модели, присваиваются начальные значения его параметрам, и вызывается его метод create(). Параметры инициализируются в том порядке, в котором они представлены в секции Предв. просмотр параметров в свойствах типа агента. Инициализируются динамические переменные, создается анимация. Метод create() выполняет эту же последовательность шагов для всех вложенных в данный тип агента агентов. К этому моменту завершается создание всей модели и ее анимации.
  2. Для каждого агента вызывается метод start(). Каждый агент создает и инициализирует свои диаграммы состояний (каждая диаграмма состояний входит в свое начальное состояние) и события. Напоследок выполняется Действие при запуске, вначале у тех вложенных агентов, которые находятся на низших ступенях иерархического дерева модели, и затем выше и выше вдоль веток дерева модели, заканчивая агентом верхнего уровня модели, т.е. Действие при запуске агента Main будет выполняться в последнюю очередь.
  3. Начинается выполнение модели.

Таким образом, Действие при запуске выполняется на финальном этапе инициализации модели, уже после того, как все агенты созданы, соединены и проинициализированы, и перед тем, как в модели что-либо произошло. Именно здесь рекомендуется производить дополнительную инициализацию и запуск активностей агентов, таких, как события.