Aller au contenu principal

Les flux de communications

La communication entre le code compilé, exécuté en arrière-plan, et le Sim4Sys-VB Javascript, exécuté dans Chrome, utilise websockets. Chaque système peut avoir son propre port, permettant de simuler des scénarios avec plusieurs systèmes en interaction.

L’horloge est contrôlée dans Sim4Sys-VB. À chaque étape, des informations sont échangées entre Sim4Sys-VB et le code de chaque système fonctionnant en arrière-plan. Lorsque plusieurs systèmes échangent des informations, l’échange passe par Sim4Sys-VB.

Communication Architecture

Cette architecture fait de Sim4Sys-VB un banc d’intégration continue de tous les systèmes de la première branche du cycle de développement V. Toute partie prenante peut voir dans Sim4Sys-VB, à tout moment pendant le développement, comment les systèmes collaborent pour produire un scénario opérationnel.

Plusieurs vues sont disponibles dans Sim4Sys-VB : la scène physique en 2D ou 3D, les vues IHM, les calendriers, la carte de mesure et les vues entièrement personnalisées. Les événements déclencheurs peuvent se produire de différentes façons :

  1. des capteurs peuvent être fixés à un objet qui sera ensuite en mesure de capturer d’autres objets dans son environnement et de fournir l’information dans le websocket.
  2. les actions de l’utilisateur peuvent être définies :
  • sur une trajectoire d’objet : le déclencheur se produira alors lorsqu’un objet atteint une position ou lorsqu’il se trouve dans une zone
  • sur la timeline : le déclencheur se produira alors lorsque l’horloge atteint un temps ou alors qu’elle est dans un fuseau horaire
  • en interagissant en direct avec le scénario avec des objets IHM comme des boutons, curseurs et ainsi de suite.

Les déclencheurs sont généralement communiqués au code en cours d’exécution en arrière-plan, grâce à la définition appropriée des flux. Certains flux internes sont également nécessaires dans Sim4Sys-VB, lorsqu’un déclencheur dans une vue doit être vu dans une autre vue simultanément.

L’explication étape par étape sur la façon de définir des "mappages" de toutes sortes est donnée dans le guide de l’utilisateur Virtual Bench.