Als ara::com-Dienst modellierte Schnittstelle; Methoden/Felder werden über generierte Proxies/Skeletons aufgerufen (Parameterrichtung IN/OUT).
Guide utilisateurGÉNÉRÉ PAR IA
Informe les Adaptive Applications de l'état actuel et des transitions en cours d'une machine à états.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 6ddf9de6db11ProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Informe les Adaptive Applications de l'état actuel et des transitions en cours d'une machine à états.
Le ServiceInterface StateMachineNotification met l'état d'une machine à états à la disposition des Adaptive Applications via le champ lisible et souscriptible CurrentState ([SWS_SM_91028], [SWS_SM_91109]). Lors des changements d'état, le champ signale la valeur intermédiaire "inTransition" jusqu'à ce que toutes les actions aient été exécutées ([SWS_SM_00616]). L'interface est proposée après le démarrage de la machine à états et de nouveau retirée lors de son arrêt ([SWS_SM_00618], [SWS_SM_00619]).
Rôle et contexte système de l'interface de service
Le ServiceInterface StateMachineNotification est fourni par le module State Management (SM) d'AUTOSAR Adaptive Platform ([SWS_SM_91028]). Tandis que les applications de contrôle demandent de nouvelles transitions d'état via des interfaces dédiées, StateMachineNotification interagit principalement avec les Adaptive Applications régulières au niveau applicatif (AUTOSAR_AP_SWS_StateManagement p. 44). Le service fait office de fournisseur (Skeleton), tandis que les applications consommatrices sont rattachées en tant que consommateurs (Proxy) via ara::com. Si cela est configuré pour une machine à états concrète, State Management instancie une instance propre de cette interface ([SWS_SM_00665]). Dans les projets où certaines machines à états fonctionnent de manière purement interne et ne présentent aucun intérêt pour les applications, la configuration et la mise à disposition peuvent être omises (AUTOSAR_AP_SWS_StateManagement p. 45).
Méthodes, événements et champs
L'interface ne définit aucune méthode classique ni aucun événement pur, mais encapsule l'état de la machine à états surveillée dans un champ central ([SWS_SM_91109]). Le champ CurrentState possède le type de données StateMachineStateNameType et est conçu en lecture seule : il dispose d'un accesseur en lecture (HasGetter: true) ainsi que d'un Notifier (HasNotifier: true), mais ne possède aucun accesseur en écriture (HasSetter: false) ([SWS_SM_91109]). Les Adaptive Applications peuvent ainsi aussi bien interroger la valeur actuelle de manière synchrone via l'accesseur en lecture que souscrire à des notifications afin d'être informées de manière asynchrone via ara::com lors des changements d'état de la machine à états respective ([SWS_SM_91109]).
Dès qu'une transition d'état de la machine à états est démarrée, le champ CurrentState prend la valeur fixe "inTransition" ([SWS_SM_00616]). Cet état intermédiaire est défini indépendamment de la source déclenchante — par exemple Execution Management, Platform Health Management ou une application de contrôle — et persiste même si d'autres transitions ont lieu en réaction à des notifications d'erreurs (AUTOSAR_AP_SWS_StateManagement p. 67). Ce n'est que lorsque l'ensemble des actions associées ont été traitées que la valeur est mise à jour vers l'état cible réel de la machine à états ([SWS_SM_00617]).
Cycle de vie, mise à disposition et dépendances d'état
Le démarrage d'une machine à états est un processus en plusieurs étapes (AUTOSAR_AP_SWS_StateManagement p. 59). Du point de vue des contrôleurs de niveau supérieur, une machine à états n'est considérée comme démarrée que lorsqu'elle existe et que ses interfaces associées sont proposées (AUTOSAR_AP_SWS_StateManagement p. 59). Chaque instance de StateMachineNotification configurée est mise à disposition (offered) via ara::com dès que le ActionListItem avec la commande StartStateMachine a été traité avec succès ([SWS_SM_00618]). Cela permet aux applications de se lier au service à un stade précoce.
Lorsqu'une machine à états est arrêtée ou ramenée à un état antérieur, le service est de nouveau retiré : l'interface n'est plus disponible (StopOffer) à partir du moment où l'action d'arrêt correspondante est traitée ([SWS_SM_00619]). Lorsque les machines à états sont pilotées par un contrôleur, le métamodèle exige en outre que chaque liste d'actions référence l'ensemble complet des agents contrôlés ([SWS_SM_CONSTR_00016]).
Gestion des erreurs et conditions limites
Pour StateMachineNotification, aucune erreur applicative (telle que kOperationRejected) propre à l'application n'est définie dans le modèle d'interface, car l'interface fonctionne de manière purement observatrice et ne propose aucune méthode modificatrice ([SWS_SM_91109]). Le traitement des erreurs s'appuie sur les mécanismes de communication de ara::com lors de l'interrogation du champ ainsi que sur l'évaluation de l'état "inTransition" : les consommateurs peuvent interpréter cette valeur intermédiaire comme la caractérisation d'un processus de basculement ou de résolution d'erreur en cours (AUTOSAR_AP_SWS_StateManagement p. 67).
Ce guide repose exclusivement sur les extraits de spécification d'AUTOSAR Adaptive Platform R25-11.
Mitglieder
CurrentStateThis field represents the current state of StateMachine
This field represents the current state of StateMachine. If StateMachine is currently in transition between two different states, then the value of this field is set to "InTransition". Adaptive Applications can use this field for notifications if they are interested in state changes of a particular StateMachine.
CurrentState : StateMachineStateNameType // Field (Getter, Notifier)
CurrentState : StateMachineStateNameType // Field (Getter, Notifier)
This field represents the current state of StateMachine. If StateMachine is currently in transition between two different states, then the value of this field is set to "InTransition". Adaptive Applications can use this field for notifications if they are interested in state changes of a particular StateMachine.
gemini-3.8-flash-low· 2026-10-13 · Original allemand