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

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

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

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

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