|
|
[[_TOC_]]
|
|
|
# Introduction
|
|
|
|
|
|
# Protocole de communication pour manipuler un modèle J2K
|
|
|
J2K est implémenté dans la plateforme de modélisation et de simulation JAMS. Un modèle JAMS est défini sous la forme d'un état initial, d'un ensemble de données d'entrées, de valeurs de paramètres et enfin d'un agencement de modules qui décrivent les opérations à réaliser au cours d'une simulation. Avant de pouvoir utiliser notre protocole de communication pour communiquer avec un modèle J2K, il est nécessaire d'éditer ce modèle pour y rajouter les modules spécifiques à la communication. Le chapitre [Modules de communication J2K](j2k_modules) décrit ces modules et explique également comment les intégrer dans un modèle existant. Dans la suite de ce chapitre nous considérons donc un modèle J2K "communicant".
|
|
|
|
|
|
Le module de communication `CouplingCommunication` doit être placé en début de boucle temporelle (TimeLoop). Une fois que le modèle J2K est lancé, ce module va interrompre l'exécution à chaque début de boucle temporelle et attendre qu'on lui envoie des commandes.
|
|
|
# Protocole de communication pour manipuler un modèle J2K communicant
|
|
|
|
|
|
La communication est basée sur la présence module de communication `CouplingCommunication` placé en début de boucle temporelle (TimeLoop) de tout modèle communicant. Le principe est le suivant: On lance en ligne de commande la simulaiton d'un modèle communicant et ce module de communication interromp l'exécution à chaque début de boucle temporelle et attend qu'on lui envoie des commandes, permettant un réel pilotage de la simulation du modèle depuis l'extérieur.
|
|
|
|
|
|
La communication se fait par requêtes HTTP POST. Chaque requête contient une commande, comme un ordre donné au module de communication. On peut effectuer ces requêtes par le moyen de son choix. Le moyen le plus simple est d'utiliser l'outil CURL. On peut aussi effectuer ces requêtes avec tous les langages de programmation modernes (Python, C, C++, Java, R, Ruby etc...).
|
|
|
|
... | ... | |