Modèle atomique fonction init

Description
Cette fonction a pour rôle d'affecter les données de l'état initial du modèle atomique en fonction des valeurs reçues par la fonction constructeur. Elle retourne la durée pendant laquelle le modèle se trouve dans l'état initial et prend en paramètre la date de création du modèle.

Quand est-elle appelée ?
La fonction init est appelée après le constructeur constructeur, c'est-à-dire en début de simulation pour les modèles créés dans le fichier VPZ ou à leurs créations dans le cas de modèles créés dynamiquement pendant la simulation.

Prototype
virtual devs::Time Dynamics::init(const devs::Time& time);


 * La paramètre time indique la date de création du modèle.
 * Le retour devs::Time indique la durée pendant laquelle le modèle se trouve dans l'état d'initialisation.

Comportement par défaut
La fonction init a pour comportement par défaut de définir une durée dans l'état initial à l'infini. C'est-à-dire, un comportement purement réactif. Le modèle attend à l'infini la réception d'un événement externe.

virtual devs::Time Dynamics::init(const devs::Time& time) {   return devs::Time::infinity; }

Quelques exemples d'utilisation
devs::Time MonExemple::init(const devs::Time& time) {   m_x = 0.0; /* Initialisation de la coordonnée du modèle */ m_y = 0.0;
 * Un premier exemple d'initialisation de données :

return 0.0; /* Le prochain changement d'état aura lieu à la même date */ }

devs::Time MonExemple::init(const devs::Time& time) {   return devs::Time::infinity; /* Le modèle ne changera d'état que sur une transition externe. */ }
 * Ne changer d'état que lors de la reception d'un événement externe :

Ensemble de l'API de la classe devs::Dynamics : constructeur, destructeur, init, finish, initialisation, transition interne, avancement du temps, transition externe, sortie, conflit, observation, question-reponse