DEENESPTFRRUARHIKOZHNL

interface de service StateMachineNotification

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 IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 6ddf9de6db11 Provenance Questions 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]).

Observation de l’état via StateMachineNotificationAdaptive ApplicationState ManagementUse Case: Service-BereitstellungStartStateMachine verarbeitetOfferService(StateMachineNotification)CurrentState.Subscribe() / Get()CurrentState (Initialer Zustand)Use Case: Transition d’étatZustandswechsel eingeleitetCurrentState.Update("inTransition")ActionListItems verarbeitetCurrentState.Update(Neuer Zustand)Use Case: Retrait du serviceBeendigungsaktion verarbeitetStopOfferService()

Diagramme de séquence : mise à disposition, interrogation et notifications par Notifier lors des transitions d'état via StateMachineNotification. Sources : [SWS_SM_00618], [SWS_SM_91109], [SWS_SM_00616], [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

Carte des membres

Types de données

1

Vue détaillée

Sélectionnez une entrée dans le plan.

Champs

CurrentState champ de service

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)

Types de données

StateMachineStateNameType type de données

Documentation

champ de service CurrentState [SWS_SM_91109] Upstream: RS_SM_00001, RS_SM_00004

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.

Scopeservice interface StateMachineNotification
TypStateMachineStateNameType
Version1.0
HasGettertrue
HasSetterfalse
HasNotifiertrue

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_SM_91109
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_SM_91109@rel:R25-11#c905645f
Content hash
c905645f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_StateManagement.pdf#nameddest=SWS_SM_91109
Status: valid/unmigrated Version: rel:R25-11#9a559903 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_SM_91109@rel:R25-11#9a559903
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#d52d9c602026-09-30
  • R24-11rel:R24-11#7c70cc8c2026-10-14
  • R25-11rel:R25-11#9a5599032026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill