State Machine
Cette section donne un aperçu des états de fonctionnement possibles du logiciel d'edge device smartCORE et de leurs relations.
Motivation
Au cours de l'exécution du logiciel smartCORE, différents états de fonctionnement sont généralement parcourus.
Démarrage du fonctionnement de mesure
Pour démarrer avec succès le fonctionnement de mesure, les états suivants sont parcourus successivement.
| État | Signification | |
|---|---|---|
| 1. | Ready | État initial après le démarrage de l'application |
| 2. | LoadSystemConfig | Chargement de la configuration système /sdi/config/smartcore.json |
| 3. | LoadSystemModules | Chargement des modules spécifiés dans la configuration système |
| 4. | InitSystemModules | Initialisation des modules spécifiés dans la configuration système |
| 5. | InitSystemProducerChannels | Création des canaux à produire pour tous les modules spécifiés dans la configuration système |
| 6. | InitSystemConsumerChannels | Sélection des canaux à consommer pour tous les modules spécifiés dans la configuration système |
| 7. | Ready | État transitoire après le traitement réussi de la configuration système |
| 8. | LoadMeasurementConfig | Chargement de la configuration de mesure /sdi/config/smartcore_dynamic.json |
| 9. | LoadMeasurementModules | Chargement des modules spécifiés dans la configuration de mesure |
| 10. | InitMeasurementModules | Initialisation des modules spécifiés dans la configuration de mesure |
| 11. | InitMeasurementProducerChannels | Création des canaux à produire pour tous les modules spécifiés dans la configuration de mesure |
| 12. | InitMeasurementConsumerChannels | Sélection des canaux à consommer pour tous les modules spécifiés dans la configuration de mesure |
| 13. | StartConsume | Démarrage de la fonctionnalité de consommation de tous les modules |
| 14. | StartProduce | Démarrage de la fonctionnalité de production de tous les modules |
| 15. | Running | État après l'entrée en fonctionnement de mesure |
Les canaux créés dans des modules système peuvent être sélectionnés et consommés aussi bien dans des modules système que dans des modules de mesure, alors que les canaux créés dans des modules de mesure NE peuvent PAS être sélectionnés dans des modules système et donc NE peuvent PAS y être consommés.
Les canaux producteurs sont d'abord créés afin qu'une sélection des canaux consommateurs puisse ensuite être effectuée parmi eux.
En revanche, les mécanismes de consommation de tous les modules sont d'abord démarrés, et seulement ensuite les mécanismes de production, afin d'éviter les débordements.
Alors que les canaux (producteurs) ne peuvent être créés QUE dans les états prévus pour la création (initialisation) de ces canaux, il existe certes des états pour la sélection en vue de la consommation (également appelés initialisation), mais une nouvelle sélection des canaux à consommer peut en outre être effectuée à tout moment. C'est notamment le cas dans les scénarios de sélection interactive (comme p. ex. la consommation/mise à disposition de données via SCPI).
Arrêt/redémarrage explicite
L'arrêt de smartCORE n'a lieu que lorsque l'utilisateur le demande explicitement (p. ex. dans le cadre d'une mise à jour de la configuration).
Les mécanismes suivants existent
- pour arrêter le fonctionnement de mesure
- pour arrêter l'ensemble du fonctionnement de mesure et du système de smartCORE
ainsi que pour redémarrer l'appareil de mesure.
Arrêt explicite du fonctionnement de mesure
Pendant l'arrêt du fonctionnement de mesure, les états suivants sont parcourus séquentiellement.
| État / opération | Signification | |
|---|---|---|
| 1. | Running | État de départ (fonctionnement de mesure) |
| 2. | StopProduce | Arrêt de la fonctionnalité de production de tous les modules |
| 3. | StopConsume | Arrêt de la fonctionnalité de consommation de tous les modules |
| 4. | CleanupMeasurementModules | Destruction des modules spécifiés dans la configuration de mesure |
| 5. | Ready | État après l'arrêt réussi du fonctionnement de mesure |
Un redémarrage optionnel s'effectue comme décrit ci-dessus sous Démarrage du système (partie II).
Arrêt explicite du fonctionnement du système
Pendant l'arrêt du fonctionnement du système (ou de l'ensemble de smartCORE), les états suivants sont parcourus séquentiellement.
| État / opération | Signification | |
|---|---|---|
| 1. | Running | État de départ (fonctionnement de mesure) |
| 2. | StopProduce | Arrêt de la fonctionnalité de production de tous les modules |
| 3. | StopConsume | Arrêt de la fonctionnalité de consommation de tous les modules |
| 4. | CleanupMeasurementModules | Destruction des modules spécifiés dans la configuration de mesure |
| 5. | CleanupSystemModules | Destruction des modules spécifiés dans la configuration système |
| 6. | Ready | État après l'arrêt réussi du fonctionnement de mesure |
Un redémarrage optionnel s'effectue comme décrit ci-dessus sous Démarrage du système (partie I), suivi de Démarrage du système (partie II).
La différence entre l'arrêt du fonctionnement de mesure et celui du fonctionnement du système réside donc uniquement dans la destruction de tous les modules système. Il est par conséquent judicieux d'inclure dans la configuration système les modules qui doivent rester persistants lors d'un redémarrage du fonctionnement de mesure.
Redémarrage de l'appareil
Le redémarrage de l'appareil entraîne un arrêt du fonctionnement du système, suivi du démarrage du fonctionnement de mesure après le redémarrage de l'appareil de mesure.