SystÚmes de simulation distribués



Pour pouvoir combiner des simulateurs individuels dans un systÚme de simulation distribué, les normes et technologies suivantes sont actuellement utilisées:



  • IEEE1516 (remplace Ă©galement HLA et DIS)
  • OPC;
  • CAPE-OPEN et autres normes «industrielles».


Le standard IEEE 1516 est le plus intéressant, car ce standard est directement lié aux simulateurs, visant à construire des systÚmes de simulation distribués (protocoles, méthodes de contrÎle et de rétroaction recommandées, architecture systÚme, etc.).



La famille de technologies logicielles OPC (OLE for Process Control) qui fournit une interface unique pour la gestion des objets d'automatisation et des processus technologiques prĂ©sente Ă©galement un intĂ©rĂȘt considĂ©rable, mais uniquement si l'intĂ©gration avec des objets d'automatisation et des processus technologiques est nĂ©cessaire. La norme CAPE-OPEN est utilisĂ©e pour l'interaction de simulateurs conçus spĂ©cifiquement pour l'industrie chimique.



L'Institut des ingénieurs électriciens et électroniciens (IEEE) a apporté une contribution significative à la normalisation de la modélisation et de la simulation. La modélisation distribuée (simulation) est une technologie d'échange de données entre simulateurs sur des réseaux informatiques locaux ou mondiaux. Cela permet aux simulateurs individuels de fonctionner ensemble comme un systÚme de modélisation ou de simulation contrÎlé. Le concept de modélisation distribuée est basé sur l'utilisation d'une architecture de haut niveau (HLA). En pratique, la norme IEEE 1516 définit l'architecture en utilisant une seule API (interface de programmation d'application). Les postulats de départ de la norme sont:



  1. les modÚles de simulation «monolithiques» simples ne peuvent pas répondre aux besoins des utilisateurs professionnels;
  2. toutes les applications possibles de la simulation sont inconnues Ă  l'avance;
  3. la possibilitĂ© d'une combinaison arbitraire de simulateurs individuels dans des systĂšmes de simulation complexes devrait ĂȘtre prĂ©vue;
  4. L'architecture de modĂ©lisation distribuĂ©e doit ĂȘtre aussi ouverte que possible aux futures technologies de modĂ©lisation et de simulation.


Actuellement, IEEE 1516 est la norme absolue pour l'interaction des simulateurs et des simulateurs dans les applications militaires, en raison des exigences strictes de compatibilité avec les simulateurs développés et utilisés par le ministÚre américain de la Défense et l'OTAN. Actuellement, IEEE 1516 est de plus en plus utilisé dans la sphÚre civile, dans le développement de simulateurs pour la formation du personnel de systÚmes techniques complexes, dans l'aviation, l'astronautique, les transports, etc.



La famille OPC de technologies logicielles a Ă©tĂ© conçue pour rĂ©duire le coĂ»t de crĂ©ation et de maintenance des applications d'automatisation industrielle. Au dĂ©but des annĂ©es 90, les dĂ©veloppeurs de logiciels industriels avaient besoin d'un outil universel pour Ă©changer des donnĂ©es avec des appareils de diffĂ©rents fabricants ou avec diffĂ©rents protocoles de communication. OPC fournit aux dĂ©veloppeurs de logiciels industriels une interface fixe universelle pour l'Ă©change de donnĂ©es avec n'importe quel appareil. Dans le mĂȘme temps, les dĂ©veloppeurs de pĂ©riphĂ©riques fournissent un programme qui implĂ©mente cette interface.



Pour crĂ©er des systĂšmes de simulation complexes, vous pouvez combiner l'utilisation d'IEEE 1516 et d'OPC, en obtenant la possibilitĂ© d'utiliser des Ă©quipements rĂ©els et des systĂšmes SCADA (figure), ce qui peut ĂȘtre trĂšs utile dans de nombreuses tĂąches.



La communication entre les normes IEEE 1516 (qui est de base pour les simulateurs) et OPC (utilisĂ© dans les systĂšmes SCADA) peut ĂȘtre mise en Ɠuvre soit directement dans le simulateur, soit par un intermĂ©diaire. Le rĂŽle d'un tel intermĂ©diaire, par exemple, pour moi, est assurĂ© par le package National Instruments LabView. LabView peut prendre en charge des modĂšles mathĂ©matiques de toute complexitĂ©, a un support OPC intĂ©grĂ©, peut agir comme un serveur OPC, a un support efficace pour l'interaction avec diverses cartes d'E / S, ce qui vous permet d'utiliser directement l'Ă©quipement nĂ©cessaire, mais, malheureusement, ne dispose pas de moyens d'interaction avec IEEE 1516 , ce qui nĂ©cessite l'Ă©criture des composants logiciels appropriĂ©s.



En raison de l'utilisation de la norme IEEE 1516 et OPC, il est possible de créer des systÚmes de simulation distribués relativement complexes, y compris de nombreux simulateurs, équipements réels, les systÚmes SCADA, etc. La



question de la certification d'un simulateur ou simulateurs par rapport à l' aide à la norme IEEE 1516 mérite un examen séparé . fédÚre dans la terminologie IEEE 1516) et les bibliothÚques de logiciels qui implémentent l'interaction. Mais le but de cette certification n'est pas d'identifier les défauts fonctionnels du programme (uniquement la certification de prise en charge de la norme IEEE 1516).



Organisations capables de certification:



  • ETATS-UNIS. Bureau de coordination de la modĂ©lisation et de la simulation du ministĂšre de la DĂ©fense (DoD) (M&S CO). Site Web: www.msco.mil
  • . ONERA. (Office National d’Etudes et Recherches AĂ©rospatiales) is the French national aerospace research center. : www.onera.fr
  • . Pitch Technologies AB. : www.pitch.se














Examinons les problĂšmes liĂ©s Ă  la construction de systĂšmes de simulation distribuĂ©s basĂ©s sur la norme IEEE 1516. Les termes de base utilisĂ©s dans le support de l'information correspondent Ă  la terminologie des systĂšmes de simulation interactifs distribuĂ©s IEEE 1516 - ils sont fĂ©dĂ©ration, fĂ©dĂ©ration, objet, attribut et interaction. Le concept d'objet est dĂ©fini comme un modĂšle d'un phĂ©nomĂšne distinct dans le monde rĂ©el. Les objets n'ont pas de mĂ©thodes, ils n'ont que des Ă©tats (seulement une structure de donnĂ©es sans fonctions pour les traiter). L'Ă©tat des objets est caractĂ©risĂ© par un ensemble fixe d'attributs - des valeurs prĂ©cises qui peuvent changer avec le temps. Chaque objet Ă  tout moment est caractĂ©risĂ© par son Ă©tat, qui est dĂ©terminĂ© par un ensemble de valeurs actuelles de ses attributs. Les fĂ©dĂ©rĂ©s sont des descriptions mathĂ©matiques du comportement des objets - modĂšles de simulation,dĂ©fini par logiciel (implĂ©mentĂ© en langage directive) ou reprĂ©sentĂ© par des valeurs de capteur matĂ©riel. En fait, les autoritĂ©s fĂ©dĂ©rales peuvent ĂȘtre Ă  la fois des imitateurs et de vĂ©ritables Ă©quipements ou logiciels spĂ©ciaux. La seule exigence est de fournir une interface uniforme pour la communication. Les fĂ©dĂ©rĂ©s peuvent manipuler des objets en modifiant (mettant Ă  jour) ou en obtenant (affichant) les valeurs de leurs attributs. En particulier, les utilisateurs des imitateurs sont Ă©galement des fĂ©dĂ©rĂ©s. L'ensemble de tous les fĂ©dĂ©rĂ©s participant Ă  la simulation forme une fĂ©dĂ©ration.La seule exigence est de fournir une interface uniforme pour la communication. Les fĂ©dĂ©rĂ©s peuvent manipuler des objets en modifiant (mettant Ă  jour) ou en obtenant (affichant) les valeurs de leurs attributs. En particulier, les utilisateurs des imitateurs sont Ă©galement des fĂ©dĂ©rĂ©s. L'ensemble de tous les fĂ©dĂ©rĂ©s participant Ă  la simulation forme une fĂ©dĂ©ration.La seule exigence est de fournir une interface uniforme pour la communication. Les fĂ©dĂ©rĂ©s peuvent manipuler des objets en modifiant (mettant Ă  jour) ou en obtenant (affichant) les valeurs de leurs attributs. En particulier, les utilisateurs des imitateurs sont Ă©galement des fĂ©dĂ©rĂ©s. L'ensemble de tous les fĂ©dĂ©rĂ©s participant Ă  la simulation forme une fĂ©dĂ©ration.



Le terme «interaction» est défini comme un message instantané (événement) qui n'est pas lié à une instance d'objet ou à une fédération spécifique, se produisant au niveau de la fédération (c'est-à-dire qu'il est impossible de déterminer l'expéditeur). Les interactions, contrairement aux états des objets, ne sont pas constamment maintenues dans le systÚme, mais sont de nature instantanée. Un exemple serait la diffusion unidirectionnelle d'un message texte à tous les membres intéressés de la fédération. Le schéma de fédération hiérarchique (HLA / IEEE 1516) est illustré dans la figure



L'interaction des fédérés est réalisée à l'aide d'un mécanisme d'interaction général (RTI), implémenté sous forme d'abonnement. Un fédéré intéressé par l'obtention de certains attributs et interactions d'une autre fédération doit s'y abonner via le RTI. Le mécanisme de demande, de fourniture et de modification des valeurs d'attribut est illustré dans la figure. Le mécanisme d'organisation de la simulation distribuée et de la collaboration est illustré dans la figure.





Image. Schéma de fédération hiérarchique Les



objets dans le simulateur sont, en rĂšgle gĂ©nĂ©rale, des modĂšles 3D, des sources sonores, respectivement, les attributs de ces objets sont la position et l'orientation dans l'espace, la taille, le volume, etc. En ce qui concerne les simulateurs, les actions de l'utilisateur (fĂ©dĂ©ration), par exemple l'inclusion d'une clĂ©, peuvent ĂȘtre considĂ©rĂ©es comme des interactions.





. (RTI)





. (RTI)





.



Lors de la crĂ©ation de systĂšmes de simulation distribuĂ©s qui interagissent via RTI, il est nĂ©cessaire de prendre en compte les caractĂ©ristiques importantes suivantes. Tous les Ă©lĂ©ments des fĂ©dĂ©rations et fĂ©dĂ©rations doivent ĂȘtre documentĂ©s dans certains fichiers (les fichiers FOM (federation object model) sont utilisĂ©s pour dĂ©crire la fĂ©dĂ©ration), les fĂ©dĂ©rations sont dĂ©crites dans les fichiers SOM (Simulation Object Model). Toutes les donnĂ©es sont stockĂ©es uniquement dans les fĂ©dĂ©rations, RTI ne stocke aucune donnĂ©e, mais les transfĂšre uniquement. HLA permet Ă  une seule fĂ©dĂ©ration de changer la valeur d'un attribut Ă  un moment donnĂ© (il existe un mĂ©canisme spĂ©cial de gestion des droits pour le transfert des droits). Les fĂ©dĂ©rĂ©s peuvent gĂ©rer l'heure locale, HLA utilise divers mĂ©canismes internes de gestion de l'heure (synchronisation).



De maniĂšre gĂ©nĂ©rale, la norme IEEE 1516 aborde un grand nombre de problĂšmes liĂ©s Ă  la crĂ©ation de systĂšmes de simulation distribuĂ©s, tels que le maintien de l'Ă©tat de la fĂ©dĂ©ration, le renouvellement de l'Ă©tat, les diffĂ©rents mĂ©canismes de synchronisation temporelle, les zones d'interaction des fĂ©dĂ©rĂ©s, etc. En raison du volume important de la norme elle-mĂȘme et, de plus, du volume de code de programme pour dĂ©montrer tous les aspects dĂ©crits dans la norme, seule la mise en Ɠuvre fondamentale des capacitĂ©s «de base» sera dĂ©montrĂ©e ci-dessous (figure).





Image. SchĂ©ma fonctionnel de mise en Ɠuvre des capacitĂ©s de base IEEE 1516



Une prĂ©sentation plus dĂ©taillĂ©e de la mise en Ɠuvre est associĂ©e Ă  la nĂ©cessitĂ© de prĂ©senter une liste assez large du programme, pour cette raison, le lecteur peut utiliser indĂ©pendamment les exemples de programmes fournis avec le logiciel pour prendre en charge RTI. Des exemples simples avec de nombreux commentaires sont inclus dans la bibliothĂšque The Portico Project et sont disponibles gratuitement sur porticoproject.org . Presque toutes les implĂ©mentations commerciales de la norme contiennent Ă©galement de nombreux exemples.



À titre d'exemple, considĂ©rons la fĂ©dĂ©ration suivante, qui se compose de deux fĂ©dĂ©rĂ©s: une voiture radiocommandĂ©e et un panneau de contrĂŽle. Supposons que le contrĂŽle soit effectuĂ© en rĂ©glant la vitesse de chacun des 4 moteurs de la voiture et en tournant les roues avant. La machine est Ă©quipĂ©e d'un capteur qui dĂ©termine la distance Ă  l'obstacle et transmet un signal au panneau de commande. Pour cela, il est nĂ©cessaire de dĂ©finir deux classes d'objets, cYpravlenie pour le panneau de contrĂŽle et cDatchik pour le capteur de distance. Les attributs de la classe cYpravlenie sont wheel1, wheel2, wheel3, wheel4, wheel_angle. L'attribut de classe cDatchik est la distance. Voici un fichier de description de fĂ©dĂ©ration, au format HLA 1.3 (les interactions sont donnĂ©es Ă  titre d'exemple).



;;  —   (FED )   HLA 1.3

(Fed 
  (Federation Test) 
  (FedVersion v1.3) 
  (Federate "fed" "Public") 
  (Spaces 
	(Space "Geo" 
		(Dimension X) 
		(Dimension Y) 
	) 
  ) 

(Objects 
	(Class cYpravlenie 
		(Attribute wheel1 reliable timestamp) 
		(Attribute wheel2 reliable timestamp) 
		(Attribute wheel3 reliable timestamp) 
		(Attribute wheel4 reliable timestamp) 
		(Attribute wheel_angle reliable timestamp) 
	) 
	(Class cDatchik 
		(Attribute distance reliable timestamp) 
	) 
) 
	 
(Interactions 
	(Class reaction BEST_EFFORT RECEIVE 
	(Sec_Level "Public") 
		(Parameter dx) 
		(Parameter dy) 
		(Parameter dz) 
	) 
) 

)
	


Ensuite, le simulateur représentant le contrÎle crée une fédération et un objet basés sur la classe cYpravlenie. Le simulateur représentant la voiture crée également une fédération et un objet basés sur la classe cDatchik. Les fédérés souscrivent également aux changements qui les intéressent, c'est-à-dire La machine fédérée s'abonne pour recevoir des données d'objet de la classe cYpravlenie (c'est-à-dire la classe cYpravlenie), et le contrÎle fédéré s'abonne à la classe cDatchik. Ainsi, la machine reçoit les modifications du panneau de commande et le panneau de commande reçoit les données du capteur de la voiture.



La construction de systĂšmes de simulation plus sophistiquĂ©s nĂ©cessite une conception sĂ©rieuse. Tout d'abord, il est nĂ©cessaire de dĂ©terminer la composition principale de la fĂ©dĂ©ration en premiĂšre approximation, c'est-Ă -dire les fĂ©dĂ©rations, les objets fĂ©dĂ©rĂ©s et les attributs d'objet. Lors de l'Ă©laboration du schĂ©ma de fĂ©dĂ©ration, il est nĂ©cessaire de prendre en compte les composants matĂ©riels des systĂšmes de simulation distribuĂ©s, c'est-Ă -dire que les capteurs et les dispositifs matĂ©riels de contrĂŽle doivent Ă©galement ĂȘtre reprĂ©sentĂ©s sous la forme de fĂ©dĂ©rations, d'objets et d'attributs. Sur l'image. montre la structure de la fĂ©dĂ©ration du simulateur d'installation de pompe Ă  ventouse.





Image. Structure de la fédération



Une fois la fédération composée, il est nécessaire de définir des liens, c'est-à-dire un reflet de quels fédérés publient (c'est-à-dire modifient) les attributs des objets et lesquels souscrivent aux modifications de ces attributs. En rÚgle générale, au stade de la définition des liens, un grand nombre de «modifications» sont établies pour la structure de la fédération. AprÚs le nombre requis d'itérations du «raffinement» de la structure et des relations, les concepteurs doivent établir le fait de «l'exactitude du modÚle» de la fédération. Un exemple de définition de liens est illustré sur la figure (les objets sans liens sont masqués).





Image. Un exemple de la premiÚre étape de définition des liens



Dans l'étape suivante, le nombre d'ordinateurs requis est déterminé et la répartition correspondante des fédérés. Par exemple, la fédération «A» fonctionnera sur l'ordinateur «1», les fédérations «B, C, D» fonctionneront sur l'ordinateur «2».





Image. Répartition des fédérés par ordinateurs



En rĂšgle gĂ©nĂ©rale, la rĂ©partition des fĂ©dĂ©rĂ©s est basĂ©e sur l'Ă©conomie de leur modĂšle mathĂ©matique, si les modĂšles mathĂ©matiques des fĂ©dĂ©rĂ©s ne nĂ©cessitent pas de ressources informatiques importantes, alors un ordinateur peut ĂȘtre utilisĂ©, si les modĂšles mathĂ©matiques des fĂ©dĂ©rĂ©s nĂ©cessitent des ressources informatiques importantes, il est nĂ©cessaire de dĂ©terminer le nombre d'ordinateurs et la rĂ©partition correspondante des fĂ©dĂ©rations.



L'étape suivante consiste à créer un fichier de description de fédération (voir l'exemple ci-dessus) qui reflÚte le «modÚle correct» approuvé de la fédération. Vous créez ensuite une implémentation logicielle des fédérations en écrivant le code approprié pour interagir avec le RTI et le code pour implémenter le modÚle mathématique de la fédération. Au stade final, il est nécessaire de tester le systÚme de simulation distribué, d'identifier les erreurs, les «surcharges» de certains composants du systÚme (sur la base des statistiques), la synchronisation correcte, etc. Les



statistiques pour chaque fĂ©dĂ©ration sĂ©parĂ©ment et pour la fĂ©dĂ©ration dans son ensemble montrent le nombre et les types de requĂȘtes exĂ©cutĂ©es et vous permet d'identifier d'Ă©ventuels problĂšmes pendant le fonctionnement du systĂšme.



Exemple de statistiques pour une fédération:



RTIA: Statistics (processed messages)
Joined federation as car_federate
Synchronization point announced: ReadyToRun
Achieved sync point: ReadyToRun, waiting for federation...
Federation Synchronized: ReadyToRun
Time Policy Enabled
Published and Subscribed
Add instance object: obj_datchik
Removing temporary file _RTIA_3033_ExampleFederation.fed on resign federation.
Resigned from Federation
Didn't destroy federation, federates still joined
List of federate initiated services 
--------------------------------------------------
1 Message::CLOSE_CONNEXION (MSG#1)
1 Message::DESTROY_FEDERATION_EXECUTION (MSG#3)
1 Message::JOIN_FEDERATION_EXECUTION (MSG#4)
1 Message::RESIGN_FEDERATION_EXECUTION (MSG#5)
1 Message::SYNCHRONIZATION_POINT_ACHIEVED (MSG#10)
1 Message::PUBLISH_OBJECT_CLASS (MSG#28)
1 Message::SUBSCRIBE_OBJECT_CLASS_ATTRIBUTES (MSG#32)
1 Message::SUBSCRIBE_INTERACTION_CLASS (MSG#34)
1 Message::REGISTER_OBJECT_INSTANCE (MSG#40)
1708 Message::UPDATE_ATTRIBUTE_VALUES (MSG#41)
855 Message::TIME_ADVANCE_REQUEST (MSG#91)
3 Message::GET_OBJECT_CLASS_HANDLE (MSG#112)
6 Message::GET_ATTRIBUTE_HANDLE (MSG#114)
1 Message::GET_INTERACTION_CLASS_HANDLE (MSG#116)
120516 Message::TICK_REQUEST (MSG#141)
2564 Message::TICK_REQUEST_NEXT (MSG#142)
List of RTI initiated services 
--------------------------------------------------
1 NetworkMessage::ANNOUNCE_SYNCHRONIZATION_POINT (MSG#13)
1 NetworkMessage::FEDERATION_SYNCHRONIZED (MSG#15)
1 NetworkMessage::DISCOVER_OBJECT (MSG#43)
1711 NetworkMessage::REFLECT_ATTRIBUTE_VALUES (MSG#45)
49 NetworkMessage::GET_FED_FILE (MSG#84)
Number of Federate messages : 125662
Number of RTIG messages : 1763
RTIA: Federate destroyed
TCP Socket 3 : total = 122015 Bytes sent 
TCP Socket 3 : total = 340249 Bytes received
UDP Socket 4 : total = 0 Bytes sent 
UDP Socket 4 : total = 0 Bytes received
	     :
CERTI RTIG up and running ... 
New federation: ExampleFederation 
Looking for FOM file... 
   Trying... open_test.fed --> cannot access. 
   Now trying.../usr/local/share/federations/open_test.fed... opened. 

 TCP Socket  7 : total =    340400 Bytes sent 
 TCP Socket  7 : total =    122015 Bytes received 
 UDP Socket  4 : total =         0 Bytes sent 
 UDP Socket  4 : total =         0 Bytes received 
 TCP Socket  6 : total =    258616 Bytes sent 
 TCP Socket  6 : total =    283044 Bytes received 
 UDP Socket  4 : total =         0 Bytes sent 
 UDP Socket  4 : total =         0 Bytes received 


Synchronisation de l'heure



Comme l'a montrĂ© la pratique de la conception et de la mise en Ɠuvre de systĂšmes de simulation distribuĂ©s, la plus grande difficultĂ© est causĂ©e par des problĂšmes liĂ©s au contrĂŽle du flux temporel (synchronisation temporelle).



En rÚgle générale, lorsque vous définissez la façon dont l'heure fédérée est synchronisée, deux paramÚtres sont définis, TimeRegulating et TimeConstrained. En pratique, ces modes affectent le processus de réception des messages d'autres fédérés et sont directement liés au mécanisme de classement des messages:

  • dans l'ordre de rĂ©ception (les messages sont transmis dans l'ordre dans lequel ils ont Ă©tĂ© reçus sans contrĂŽle horaire);
  • prioritĂ© (les messages entrants sont situĂ©s dans une file d'attente prioritaire, son horodatage est utilisĂ© pour dĂ©terminer la prioritĂ© d'un message);
  • causal (garantit que les messages sont envoyĂ©s aux fĂ©dĂ©rĂ©s dans un ordre cohĂ©rent avec les Ă©vĂ©nements prĂ©cĂ©dents et suivants reprĂ©sentĂ©s par ces messages);
  • par horodatage (lors de l'utilisation de ce service, les messages seront envoyĂ©s aux fĂ©dĂ©rĂ©s dans l'ordre de leurs horodatages).


Il convient également de noter que différents fédérés peuvent utiliser différentes méthodes de synchronisation.



BibliothÚques logicielles pour l'implémentation RTI



Une liste des implémentations HLA \ IEE1516 disponibles est disponible sur en.wikipedia.org/wiki/Run-Time_Infrastructure . Aujourd'hui, un assez grand nombre d'implémentations sont disponibles, à la fois commerciales et non commerciales. La plupart des implémentations sont faites en JAVA et C ++ (ce sont les langages qui sont utilisés dans le standard), mais il existe également des implémentations pour MatLab, Python (projet CERTI), etc.



Lors du choix d'une bibliothĂšque, une attention particuliĂšre doit ĂȘtre portĂ©e Ă  la «certification» pour supporter IEEE 1516. En rĂšgle gĂ©nĂ©rale , toutes les implĂ©mentations commerciales ont un "certificat", les libres n'en ont pas (beaucoup d'implĂ©mentations libres se prĂ©parent Ă  une telle certification).



Tableau des ventes commerciales:





Tableau des ventes non commerciales:





J'utilise personnellement le projet ONERA CERTI (https://savannah.nongnu.org/projects/certi) pour soutenir l'infrastructure des applications distribuées.



Mesures de la vitesse d'interaction des fédérés via RTI



Ces tests sont trÚs importants dans la conception de systÚmes de simulation distribués, en particulier si différentes fédérations sont situées sur des réseaux informatiques différents, et encore plus importants lors de l'interaction de fédérés sur Internet.



Pour obtenir les dĂ©lais minimaux, vous devez choisir le serveur avec les dĂ©lais de transit de paquets les plus faibles (vous pouvez vĂ©rifier Ă  l'aide de la commande ping). A titre d'exemple, considĂ©rons le travail de l'un des systĂšmes distribuĂ©s crĂ©Ă©s au NII EOR de TyumGNGU. Un rĂ©seau de 100 mĂ©gabits est utilisĂ© (dĂ©lais de ping <0,231 ms), il n'y a pas de synchronisation horaire (pour rĂ©duire les dĂ©lais Ă  l'intĂ©rieur de RTI), 2 ordinateurs, le serveur (rtig) fonctionne sur l'une des machines. ParamĂštres de fĂ©dĂ©ration - 2 objets contiennent 5 attributs (un objet par fĂ©dĂ©ration / ordinateur), l'interaction entre les fĂ©dĂ©rĂ©s est bidirectionnelle. À la suite du traitement des mesures, la dĂ©pendance du nombre d'interactions par seconde Ă  la taille des donnĂ©es transmises a Ă©tĂ© obtenue.



Les rĂ©sultats de telles mesures nous permettent de tirer de nombreuses conclusions, par exemple si le simulateur doit fonctionner en un «temps rĂ©el» donnĂ©, c'est-Ă -dire mise Ă  jour, par exemple, au moins 60 fois par seconde, puis pour une interaction (pour Fast Ethernet) pas plus de 300 kilo-octets doivent ĂȘtre transmis (si, par exemple, 5 attributs, puis 60 kilo-octets chacun). Dans le mĂȘme temps, 300 kilo-octets de donnĂ©es transmises 60 fois par seconde indiquent Ă©galement la possibilitĂ© d'utiliser RTI pour transfĂ©rer des donnĂ©es vocales et vidĂ©o entre simulateurs, ainsi que pour interagir avec des appareils VR.



Lorsqu'elle est fédérée sur Internet, la latence minimale est largement déterminée par les délais de transmission des paquets. Par exemple, si les délais de transmission d'un paquet entre le serveur et le simulateur sont de 300 ms, alors le nombre maximum d'interactions par seconde ne dépassera pas 3.



L'utilisation de solutions plus rapides comme IpoIB (IP over InfiniBand, RFC 4392), 10G Ethernet, Myrinet-10G, etc. . permettra d'augmenter le débit et de réduire significativement la latence (les solutions existantes permettent de produire 30 millions d'interactions par seconde ou plus).



Interaction avec des systÚmes réels



Non seulement les modÚles mathématiques d'objets, c'est-à-dire les systÚmes artificiels, mais aussi les systÚmes et dispositifs réels peuvent agir en tant que fédérés. Les exemples comprennent:



  • microphone fournissant des donnĂ©es audio;
  • camĂ©ra vidĂ©o fournissant des donnĂ©es vidĂ©o;
  • divers pĂ©riphĂ©riques d'entrĂ©e / sortie tels que joysticks (image), imprimantes, etc.
  • divers capteurs et mĂ©canismes de contrĂŽle connectĂ©s Ă  l'ordinateur via des cartes ADC / DAC;
  • Ă©quipements rĂ©els et systĂšmes SCADA (Figure 2.10.1., Chapitre 1.4.1.) via l'interface OPC industrielle;
  • Interfaces avec le «bureau» d'un systĂšme d'exploitation rĂ©el fonctionnant sur un ordinateur ou une machine virtuelle sĂ©parĂ© (figure);
  • Appareils VR (chapitre 4.5.9.);
  • Interface de base de donnĂ©es, etc.


Ces possibilitĂ©s prĂ©sentent un intĂ©rĂȘt considĂ©rable pour les simulateurs et les systĂšmes de simulation en gĂ©nĂ©ral.



All Articles