La classe des simulations serveur d'un client externe


o OpenSimulation

La classe OpenSimulation est une spécialisation de la classe Simulation. Alors que le message adressé à une instance de Simulation était Run, celui adressé à une instance de OpenSimulation est RunOpenSimulation.

Elle doit être exploitée lorsque la fin de la période de simulation confiée à un et un seul appel à la méthode Run peut correspondre, non plus seulement comme dans les couches BASIC DIESE et CONTROL DIESE à :

... mais aussi :

Il est cependant possible, après avoir instancié la classe OpenSimulation, de lui adresser un message RunOpenSimulation qui n'indique pas de date d'arrêt particulière. Dans ce cas, le moteur de simulation se comporte comme si on avait instancié la classe Simulation.

Lorsqu'une date d'arrêt particulière est à indiquer, on la place en argument du message RunOpenSimulation, dans le format ISO 8601 "aaaa-mm-qqThh:mi:sszzzzzz" (par exemple "2005-02-15T00:00:00+00:00").

Un cas d'utilisation typique est l'enchaînement d'une série d'appel à RunOpenSimulation qui partitionnent la simulation globale en une séquence d'épisodes de simulation entre lesquels s'opère une communication entre le programme-maître et le simulateur.

A cette fin de communication, deux arguments complémentaires de ma méthode RunOpenSimulation permettent au programme maître de transmettre et de recevoir des informations, vers et en provenance du simulateur. Les valeurs de ces deux arguments sont des tableaux, respectivement 'in' et 'out', d'instances de la classe InterfaceDataItem. Voir la documentation de cette classe.

Avant l'invocation de cette méthode par une procédure cliente, ce client a valué, pour chaque instance de InterfaceDataItem du tableau 'in', ses descripteurs qui portent (i) les identifications de l'entité visée et de son descripteur visé, (ii) la valeur de ce descripteur et (iii) la date à laquelle elle a été capturée ou pour laquelle elle est valide. Si la date n'est pas précisée, c'est la valeur à l'instant de l'invocation qui est supposée transmise par le client. Noter que ces valeurs seront affectées aux descripteurs avant toute autre tâche, procédure ou opération à cette date-là. On peut donc les considérer comme des valeurs acquises au pas précédent.

Le client a aussi valué pour les instances du tableau 'out' les descripteurs portant les identifications de l'entité visée, de son descripteur visé et de la date à laquelle la valeur doit être capturée, aprè toute autre tâche, procédure ou opération à cette date-là. Si la date n'est pas précisée, c'est la valeur à l'instant 'pauseDate' qui sera transmise au client. Avant le retour à la procédure cliente, la présente méthode écrit dans chaque instance la valeur du descripteur visé.


This page was generated with the help of DOC++.