r-io suiter-io suitereference docs
← Documentation home
Reference / Simulation & observation

Scenario timelines & observation

Plan dated events in r-iosemit, emit them through the real interpretation pipeline, and compare the plan with the facts observed in r-iose.

01

Plan a shared local timeline

In r-iosemit, define a start and an end, then add dated actualities, messages, potentiality changes, referenced actualities or sensor values. Dates are local wall-clock values such as 2026-09-24T09:00:00: do not append Z or a timezone offset. The server rejects duplicate dates, instants outside the bounds and an end that does not follow the start.

Several events may share one instant. Every instant expands into exactly two dataset events per participating sensor: preparation, then principal. The preparation establishes the state before a CEP transition; the principal event performs the planned change. This is not a fixed-interval clock.

09:00  preparation → principal  [smoke activated + message]
09:07  preparation → principal  [smoke deactivated]
09:25  preparation → principal  [risk becomes certain]
02

Keep DATA and the plan consistent

The ACTUALITIES and DATA views share the timeline. Adding or removing a global pair changes every dataset; editing one sensor must retain that common number of points. The editor checks quantitative thresholds and dedicated boolean transitions so a preparation value cannot accidentally trigger or remove another planned alert.

Planned contentContract
ActualityA unique id, sensor id and CEP rule id; activation or deactivation at the chosen date.
MessageText or a picture is required. At most one message per sensor and date; authors and location are optional.
Reflex photoOne image per camera and activated actuality. The mock camera selects it by occurrence date without consuming it; it does not fall back to an unrelated image.
PotentialityAn eligible emerging/intrinsic Risk or Opportunity, not an unvalidated ML prediction. Activation sets probability to 100%; deactivation restores the stored previous probability.
Referenced actualityPushed directly on the principal step of its date, without sensor nor CEP rule. FREEZE mode activates an existing FREEZE actuality (at most once per actuality). REFERENCE mode clones a reference actuality into a new ACTIVE one, Near its reference and optionally Impacting a resource, with an optional name, description and picture used as instance icon; these four fields are refused in FREEZE mode.
Sensor valueA precise value emitted by a sensor on the principal step of its date and held until its next planned value: exactly one of a number (QUANTITATIVE sensor, finite), a boolean (DEDICATED sensor) or a latitude/longitude pair (GPS, both required and within range), optionally with the name of the model element it was placed on. At most one value per sensor and date.

Use r-iored to inspect the CEP rules and r-ioda to check the sensor, impacted assets and generated objectives. A scenario cannot compensate for a missing model relation.

03

Advance, acknowledge, restart

The player starts the participating controllers, waits for every preparation emission, then waits for every principal emission. A failure prevents progression to the next phase or instant. Acknowledgement confirms emission, not completion of downstream CEP processing, ML inference or workflow execution.

start all participating controllers; wait for all
emit preparation[2 × instant]; wait for all
emit principal[2 × instant + 1]; wait for all
apply planned potentiality changes
advance the shared cursor

On reload, common progress is reconstructed from the least-advanced controller. A partially emitted pair is retried without replaying already acknowledged steps. Restart resets the datasets and the probabilities changed by the timeline; it is not a rollback of the entire knowledge graph or of already executed processes.

04

Narrate the scenario without changing its facts

The STORY view can request an English or French narrative from the project's configured AI provider. Author guidance is limited to 1,000 characters. It can influence tone and emphasis, but event identifiers and chronology remain constrained. Existing message text is preserved; the narrator can fill messages whose text was left empty. The description of an actuality is passed to the narrator as author context, and planned sensor values are narrated as measures (value read, state switched, carrier moving to a place). A story already written in the other language can be sent with translationOf: the narrator then translates it segment by segment, keeping groups, dates and event identifiers, and also translates the guidance.

The browser validates coverage, group order, dates and event identifiers before applying the result. The saved story has a fingerprint derived from meaningful timeline content, including photo content: changing the plan can make the narrative stale. Inspect the generated text before using it in a demonstration; structural validation is not a guarantee that every sentence is factually correct. Generation and photo description may call a paid external provider.

The narrative adapter removes technical sensor and CEP metadata and uses temporary event identifiers. This is data minimisation, not anonymisation: scenario text, names and supplied images can still contain sensitive information. See AI assistants.

05

Separate planned events from observed facts

r-iose provides a read-only observation timeline fed by received sensor events and governance notifications. It restores evidence from SensorManager and KnowledgeHistory, rather than treating the simulator's plan as proof that an event occurred. Occurred at preserves the scenario date through CEP creation and removal notifications.

SensorManager retains up to 300 received payloads per sensor during its current lifetime. The observer correlates event ids with CEP evidence, generated actualities and reflex photos. Unvalidated ML predictions do not count as confirmed observations. Clearing the timeline clears the view, not server records; restarting the manager does not restore an earlier run from browser storage.

Continue in r-iota to qualify alerts, validate predictions, deduce a response and supervise it. Sensor emission, interpretation, expert validation and resolution are separate stages.

06

Existing use cases and historical captures

The schema now stores timeAxis, instant and optional storyJson, replacing numberOfTimeSteps and timeBetweenSteps. Four committed packages now ship a game scenario in the folder layout described below: IMT Albi Crisis and IMT Albi Healthcare (Default Game Scenario), Crisis Event Show — Parc des Princes (Full scenario) and Barbecue (Henri barbecue story). Legacy packaged game scenarios were removed from Albi, Cathedral Albi, Nantes Macro, Golfech, RealWorld, Skateboard Logistics and Toulouse PrisonBreak; their project models remain separate assets.

A project export stores each scenario in its own folder, game_scenarios/<Name_of_scenario>/, holding the scenario XML, a datasets/ folder and a media/ folder for the pictures of referenced actualities and planned messages, all referenced relatively (./datasets/…, ./media/…). On import the media are uploaded into the knowledge space; scenarios that reference a dataset only by name are still read.

Older screenshots and guided demonstrations are retained as historical examples. Their scenario names, step numbers and screens may differ from the current editor; prepare a dated timeline instead of expecting Default_with10steps to be present. The Fire at Albi Cathedral walkthrough remains a model-building and human-task example, not a new standalone Maven use-case module.

07

Implementation and contracts

The authenticated r-iosemit /gameMaster POST endpoints create, update, save, select, list and delete scenarios. JSON uses local ISO date strings; attachments are base64 values, not Java stream objects. See API reference and simulation architecture.

Référence / Simulation et observation

Chronologies de scénario et observation

Planifier des événements datés dans r-iosemit, les émettre par le véritable pipeline d’interprétation et comparer le plan aux faits observés dans r-iose.

01

Planifier une chronologie locale commune

Dans r-iosemit, définissez un début et une fin, puis ajoutez des actualités, messages, changements de potentialité, actualités référencées ou valeurs de capteur datés. Les dates sont des heures locales, par exemple 2026-09-24T09:00:00 : sans Z ni décalage de fuseau. Le serveur refuse les dates dupliquées, les instants hors bornes et une fin qui ne suit pas le début.

Plusieurs événements peuvent partager un instant. Chaque instant produit exactement deux événements de jeu de données par capteur participant : préparation, puis principal. La préparation établit l’état précédant une transition CEP ; l’événement principal réalise le changement prévu. Il ne s’agit pas d’une horloge à intervalle fixe.

09:00  préparation → principal  [fumée activée + message]
09:07  préparation → principal  [fumée désactivée]
09:25  préparation → principal  [risque devenu certain]
02

Garder DATA et le scénario cohérents

Les vues ACTUALITIES et DATA partagent la chronologie. Ajouter ou supprimer une paire globale modifie tous les jeux de données ; l’édition d’un capteur doit conserver ce nombre commun de points. L’éditeur contrôle les seuils quantitatifs et les transitions booléennes dédiées pour qu’une valeur de préparation ne déclenche ni ne supprime accidentellement une autre alerte prévue.

Contenu planifiéContrat
ActualitéUn identifiant unique, un capteur et une règle CEP ; activation ou désactivation à la date choisie.
MessageUn texte ou une image est nécessaire. Un message au maximum par capteur et par date ; auteur et position facultatifs.
Photo réflexeUne image par caméra et actualité activée. La caméra simulée la sélectionne par date d’occurrence sans la consommer ; elle ne renvoie pas une image sans rapport en remplacement.
PotentialitéUn Risk ou une Opportunity émergent/intrinsèque éligible, pas une prédiction ML non validée. L’activation porte la probabilité à 100 % ; la désactivation restaure la probabilité précédente enregistrée.
Actualité référencéePoussée directement sur le pas principal de sa date, sans capteur ni règle CEP. Le mode FREEZE active une actualité FREEZE existante (une seule fois par actualité). Le mode REFERENCE clone une actualité de référence en une nouvelle actualité ACTIVE, Near de sa référence et éventuellement Impacting une ressource, avec nom, description et image facultatifs servant d’icône d’instance ; ces quatre champs sont refusés en mode FREEZE.
Valeur de capteurUne valeur précise émise par un capteur sur le pas principal de sa date et maintenue jusqu’à sa valeur planifiée suivante : exactement un nombre (capteur QUANTITATIVE, fini), un booléen (capteur DEDICATED) ou un couple latitude/longitude (GPS, les deux requis et dans les bornes), avec éventuellement le nom de l’élément du modèle où il a été placé. Une valeur au maximum par capteur et par date.

Utilisez r-iored pour inspecter les règles CEP et r-ioda pour vérifier le capteur, les biens impactés et les objectifs générés. Un scénario ne peut pas compenser une relation absente du modèle.

03

Avancer, acquitter, redémarrer

Le lecteur démarre les contrôleurs participants, attend toutes les émissions de préparation, puis toutes les émissions principales. Un échec empêche le passage à la phase ou à l’instant suivant. L’acquittement confirme l’émission, pas la fin du traitement CEP, de l’inférence ML ni de l’exécution du workflow en aval.

démarrer tous les contrôleurs participants ; attendre tous
émettre préparation[2 × instant] ; attendre tous
émettre principal[2 × instant + 1] ; attendre tous
appliquer les changements de potentialité prévus
avancer le curseur commun

Au rechargement, la progression commune est reconstruite depuis le contrôleur le moins avancé. Une paire partiellement émise est reprise sans rejouer les étapes déjà acquittées. Redémarrer réinitialise les jeux de données et les probabilités modifiées par la chronologie ; ce n’est pas une annulation de tout le graphe de connaissances ni des processus déjà exécutés.

04

Raconter le scénario sans changer ses faits

La vue STORY peut demander un récit anglais ou français au fournisseur d’IA configuré pour le projet. Les consignes d’auteur sont limitées à 1 000 caractères. Elles orientent le ton et les points à souligner, mais les identifiants d’événement et la chronologie restent contraints. Le texte des messages existants est conservé ; le narrateur peut compléter les messages laissés vides. La description d’une actualité est transmise au narrateur comme contexte d’auteur, et les valeurs de capteur planifiées sont racontées comme des mesures (valeur lue, état basculé, porteur se déplaçant vers un lieu). Un récit déjà écrit dans l’autre langue peut être envoyé avec translationOf : le narrateur le traduit alors segment par segment, en conservant groupes, dates et identifiants d’événement, et traduit aussi les consignes.

Le navigateur valide la couverture, l’ordre des groupes, les dates et les identifiants avant d’appliquer le résultat. Le récit enregistré possède une empreinte des éléments significatifs de la chronologie, y compris les photos : modifier le plan peut rendre le récit périmé. Relisez le texte avant une démonstration ; la validation structurelle ne garantit pas l’exactitude de chaque phrase. Génération et description de photos peuvent appeler un fournisseur externe payant.

L’adaptateur narratif retire les métadonnées techniques des capteurs et règles CEP et emploie des identifiants d’événement temporaires. C’est une minimisation des données, pas une anonymisation : texte, noms et images fournis peuvent rester sensibles. Voir les assistants IA.

05

Distinguer événements prévus et faits observés

r-iose propose une chronologie d’observation en lecture seule, alimentée par les événements reçus des capteurs et les notifications de gouvernance. Elle restaure les preuves depuis SensorManager et KnowledgeHistory, sans prendre le plan du simulateur pour une preuve d’occurrence. Occurred at conserve la date du scénario dans les notifications de création CEP et de suppression.

SensorManager conserve jusqu’à 300 messages reçus par capteur pendant sa durée de vie courante. L’observateur rapproche les identifiants d’événement des preuves CEP, des actualités générées et des photos réflexes. Les prédictions ML non validées ne comptent pas comme observations confirmées. Effacer la chronologie efface la vue, pas les enregistrements serveur ; redémarrer le gestionnaire ne restaure pas une ancienne exécution depuis le stockage du navigateur.

Poursuivez dans r-iota pour qualifier les alertes, valider les prédictions, déduire une réponse et la superviser. Émission, interprétation, validation experte et résolution sont des étapes distinctes.

06

Cas d’usage existants et captures historiques

Le schéma stocke désormais timeAxis, instant et éventuellement storyJson, à la place de numberOfTimeSteps et timeBetweenSteps. Quatre paquets commités fournissent désormais un scénario de jeu dans l’arborescence décrite ci-dessous : IMT Albi Crisis et IMT Albi Healthcare (Default Game Scenario), Crisis Event Show — Parc des Princes (Full scenario) et Barbecue (Henri barbecue story). Les anciens scénarios de jeu empaquetés ont été retirés d’Albi, Cathedral Albi, Nantes Macro, Golfech, RealWorld, Skateboard Logistics et Toulouse PrisonBreak ; leurs modèles de projet restent des ressources distinctes.

Un export de projet range chaque scénario dans son propre dossier, game_scenarios/<Nom_du_scenario>/, contenant le XML du scénario, un dossier datasets/ et un dossier media/ pour les images des actualités référencées et des messages planifiés, tous référencés relativement (./datasets/…, ./media/…). À l’import, les médias sont téléversés dans l’espace de connaissance ; les scénarios qui ne désignent un jeu de données que par son nom restent lus.

Les anciennes captures et démonstrations guidées sont conservées comme exemples historiques. Noms de scénario, numéros d’étape et écrans peuvent différer de l’éditeur actuel ; préparez une chronologie datée sans supposer la présence de Default_with10steps. Le parcours Fire at Albi Cathedral reste un exemple de construction de modèle et de tâches humaines, pas un nouveau module Maven de cas d’usage standalone.

07

Implémentation et contrats

Les endpoints POST authentifiés /gameMaster de r-iosemit créent, modifient, sauvegardent, sélectionnent, listent et suppriment les scénarios. Le JSON utilise des dates ISO locales ; les pièces jointes sont des valeurs base64, pas des objets de flux Java. Voir la référence API et l’architecture de simulation.