DEENESPTFRRUARHIKOZHNL

module ara::sm — State Management

Spezifikation: AUTOSAR_AP_SWS_StateManagement.pdf (R25-11) · 51 API-Records

ModulegidsAI-GEGENEREERD

Orkestreert systeemtoestanden, functiegroepen, energiebesparende modi en software-updates van een Adaptive Machine.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 35b1c28da865 Herkomst Open vragen (2)
Causaal anker: R25-11 Geldig vanaf R25-11 Nieuw gesynthetiseerd voor deze specificatiestand.
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Orkestreert systeemtoestanden, functiegroepen, energiebesparende modi en software-updates van een Adaptive Machine.

Het adaptieve cluster State Management bestuurt de systeembrede bedrijfsmodi, functiegroeptoestanden en software-updatefasen van een Adaptive Machine in samenwerking met Execution Management en UCM EXP SWArchitecture p. 51. Het verwerkt transitietriggers deterministisch via geconfigureerde tabellen en actielijsten, meldt tussentoestanden via StateMachineNotification en orkestreert suspend-to-RAM via een hub-satellite-patroon [SWS_SM_91107], [SWS_SM_81110]. Randvoorwaarden zoals de strikte controle op updatevrijgaven en verplichte ANY-foutafhandelingspaden borgen de robuuste platformwerking [SWS_SM_91108].

Het functionele cluster State Management (SM) fungeert in het AUTOSAR Adaptive Platform als centrale platformdaemon voor het aansturen van machine- en functiegroeptoestanden en uitvoeringsmodi EXP SWArchitecture p. 51. Het scheidt de voertuigspecifieke beslissingslogica in besturingsapplicaties (SMControlApplication) strikt van het daadwerkelijke procesbeheer door het Execution Management (EM) EXP PlatformDesign p. 40. Naast fabrikanteigen implementaties biedt AUTOSAR een gestandaardiseerde StateMachine-benadering, waarin transities worden verwerkt via tabellarische metamodellen en geconfigureerde actielijsten SWS StateManagement p. 42.

Toestandsovergangen worden geïnitieerd via de methode RequestTransition van de StateMachineService [SWS_SM_91107] en gevalideerd tegen de TransitionRequestTable SWS StateManagement p. 44. Tijdens de verwerking van de bijbehorende ActionList signaleert het notificatieveld CurrentState de overgangswaarde "inTransition" aan consumerende applicaties, voordat de doeltoestand na volledige bevestiging wordt gepubliceerd [SWS_SM_91109], SWS StateManagement p. 67.

Verloop van een toestandstransitie volgens de StateMachine-aanpakSMControlApplicationStateMachineServiceState ManagementStateMachineNotificationExecution ManagementRequestTransition(TransitionRequest)Trigger TransitionControle TransitionRequestTableStoppe laufende ActionListSetze CurrentState = 'inTransition'SetState(targetFGState)kSuccessActionListItems volledig uitgevoerdErgebnisse gesammeltSetze CurrentState = TargetStatekSuccess

Sequentiediagram: Verloop van een reguliere toestandstransitie via StateMachineService en notificatie via StateMachineNotification. Bronnen: [SWS_SM_91107], [SWS_SM_91109], SWS StateManagement p. 51

Voor het uitvoeren van software-updates stelt het State Management de interface UpdateRequest beschikbaar voor het Update and Configuration Management (UCM) [SWS_SM_91102], EXP SWArchitecture p. 56. Na controle van het applicatieve veld UpdateAllowed coördineert de module voorbereidings- (PrepareUpdate), verificatie- (VerifyUpdate) of rollback-stappen (PrepareRollback) alsmede herstarts van de machine via ResetMachine [SWS_SM_91100], [SWS_SM_91103], [SWS_SM_91108]. Voor energiebesparende modi zoals suspend-to-RAM synchroniseren S2RHub en S2RSatellite het bevriezen en opnieuw opstarten van applicaties en besturingssysteem [SWS_SM_81010], [SWS_SM_81110], [SWS_SM_71001].

In geval van fouten garanderen de SmErrorDomain [SWS_SM_81247] evenals een verplicht ANY-opvangitem in de ErrorRecoveryTable dat onvoorziene uitvoeringsfouten vanuit Execution Management of Platform Health Management deterministisch worden opgevangen en lopende acties direct naar gedefinieerde hersteltoestanden worden overgebracht SWS StateManagement p. 42.

Rol en functionele systeemgrenzen binnen het platformverband

Het functionele cluster State Management (SM) vormt in het AUTOSAR Adaptive Platform de centrale instantie voor de orkestratie van systeembrede bedrijfsmodi, functiegroepen en proceslevenscycli EXP SWArchitecture p. 51. Uitgevoerd als autonome platformdaemon ontkoppelt het State Management de platforminterne toestandsuitvoering van de voertuig- en fabrikantspecifieke controlelogica, die typisch in een zelfstandige besturingstoepassing (SMControlApplication) is ingekapseld EXP PlatformDesign p. 40. Terwijl het State Management de logische toestandsbeslissingen neemt en valideert, delegeert het het fysieke starten, beëindigen en omschakelen van processen via de StateClient naar het Execution Management (EM) SWS StateManagement p. 40.

Architectonisch steunt de module op een duale integratiefilosofie: integrators kunnen ofwel de gestandaardiseerde, op manifesten gebaseerde StateMachine-benadering van de platformstack inzetten, ofwel een volledig fabrikanteigen toestandslogica implementeren, aangezien de interfaces naar het State Management openbaar zijn gehouden SWS StateManagement p. 42. In de gestandaardiseerde benadering reageert het State Management deterministisch op externe triggers uit besturingstoepassingen, foutmeldingen van het Platform Health Management (PHM) en netwerktoestandswijzigingen van het Network Management (NM) SWS StateManagement p. 45. Bovendien vormt het State Management de doorslaggevende controle-instantie voor software-updates door het Update and Configuration Management (UCM) EXP SWArchitecture p. 56.

diag_architektur SMControlApp SMControlApplication (Applikative Kontrolllogik) SM State Management (daemon-based) SMControlApp->SM StateMachineService UpdateAllowedService UCM UCM (Update & Configuration) UCM->SM UpdateRequest PHM PHM (Platform Health Management) PHM->SM ExecutionError / Recovery NM Network Management NM->SM NetworkHandle EM Execution Management (ara::exec) SM->EM StateClient (SetState) OS Betriebssystem / BSP (apext::sm) SM->OS PowerStateInterface (SetPowerState) Apps Adaptive Applications (S2RSatellite / Consumer) SM->Apps StateMachineNotification S2RHub / S2RSatellite

Contextdiagram: Inbedding van het Functional Cluster State Management in het AUTOSAR-Adaptive-systeemverband. Bronnen: EXP PlatformDesign p. 40, SWS StateManagement p. 28

Toestandsovergangen en besturing via de StateMachineService-interface

Voor het initiëren van toestandsveranderingen stelt State Management de servicegebaseerde service StateMachineService beschikbaar voor elke geconfigureerde instantie van een StateMachine SWS StateManagement p. 44. De applicatie verzoekt om een transitie via de servicemethode RequestTransition [SWS_SM_91107]. State Management controleert dit verzoek aan de hand van een statisch in het manifest opgeslagen TransitionRequestTable tegen de actuele toestand van de toestandsmachine SWS StateManagement p. 44. Als de overgang gedefinieerd is, wordt de uitvoering van de actuele actielijst (ActionList) gestopt en de overgang naar de doeltoestand ingezet SWS StateManagement p. 45.

Zodra een toestandstransitie start, stelt State Management de waarde van het serviceveld CurrentState van de StateMachineNotification-interface in op "inTransition" [SWS_SM_91109], SWS StateManagement p. 67. Deze overgangstoestand signaleert aan afhankelijke Adaptive Applications via ara::com dat een herconfiguratie van het systeem gaande is EXP SWArchitecture p. 52. Binnen de actielijsten kunnen functiegroepen via SYNC-elementen gesynchroniseerd of parallel geschakeld worden om afhankelijkheden exact weer te geven SWS StateManagement p. 56. Pas nadat alle ActionListItems volledig zijn verwerkt en de resultaten zijn verzameld, neemt CurrentState de definitieve naam van de nieuwe toestand aan SWS StateManagement p. 67.

Verloop van een toestandstransitie volgens de StateMachine-aanpakSMControlApplicationStateMachineServiceState ManagementStateMachineNotificationExecution ManagementRequestTransition(TransitionRequest)Trigger TransitionControle TransitionRequestTableStoppe laufende ActionListSetze CurrentState = 'inTransition'SetState(targetFGState)kSuccessActionListItems volledig uitgevoerdErgebnisse gesammeltSetze CurrentState = TargetStatekSuccess

Sequentiediagram: verloop van een reguliere toestandstransitie via StateMachineService en notificatie via StateMachineNotification. Bronnen: [SWS_SM_91107], [SWS_SM_91109], SWS StateManagement p. 51, EXP SWArchitecture p. 219

diag_statemachine_lebenszyklus Start Off Off Start->Off On On Off->On Request 1001 Startup Startup Startup->Off Request 1001 On->Off Request 1000 Recovery Recovery On->Recovery ExecutionError (PHM/EM) Suspend Suspend Suspend->On Request 1000 Recovery->Off Request 1000 / 1002

Toestandsdiagram: typische levenscyclus en overgangslogica van een StateMachine gebaseerd op de TransitionRequestTable. Bronnen: EXP InterfacesGuidelines p. 22, SWS StateManagement p. 44

Orkestratie van software-updates in samenspel met UCM

In het kader van software-updates vervult State Management de interfacefunctie tussen Update and Configuration Management (UCM) en de uitvoeringstoestanden van de machine EXP SWArchitecture p. 142. Hiervoor stelt State Management de interface UpdateRequest beschikbaar, die per machine maximaal één keer geïinstantieerd mag worden en exclusief gebonden is aan het proces dat de controller-toestandsmachine beheert SWS StateManagement p. 79. Een update wordt geïnitieerd doordat UCM de methode RequestUpdateSession aanroept [SWS_SM_91102]. State Management neemt de beslissing over de toelaatbaarheid niet autonoom, maar raadpleegt het serviceveld UpdateAllowed van UpdateAllowedService, dat door de applicatieve besturingslogica wordt ingesteld [SWS_SM_91108], SWS StateManagement p. 81.

Als de sessie wordt goedgekeurd, markeert de controller de desbetreffende toestandsautomaten als ImpactedByUpdate SWS StateManagement p. 81. Voorafgaand aan de daadwerkelijke installatie roept UCM PrepareUpdate aan met de lijst van getroffen functiegroepen, waarna deze naar inactieve toestanden worden overgebracht [SWS_SM_91103], PlatformDesign p. 58. Indien de update een herstart vereist, verzoekt UCM via de fire-and-forget-methode ResetMachine om een ordelijke reset, waarbij vooraf alle gegevens moeten worden veiliggesteld [SWS_SM_91100]. State Management informeert UCM over statuswijzigingen tijdens de reset via het veld ResetMachineNotifier [SWS_SM_91106], SWS StateManagement p. 92. Na de herstart of update volgt de verificatie via VerifyUpdate [SWS_SM_91104], SWS StateManagement p. 87. Mislukt de controle, dan bereidt PrepareRollback de rollback voor [SWS_SM_91105], SWS StateManagement p. 88. De voltooiing van de gehele cyclus wordt bevestigd met StopUpdateSession [SWS_SM_91101], SWS StateManagement p. 79.

Software-updatesessie tussen UCM en State ManagementUCMUpdateRequestState ManagementUpdateAllowedServiceExecution ManagementRequestUpdateSession()Controleer update-autorisatieLese Feld UpdateAllowedkUpdateAllowedSession AkzeptiertPrepareUpdate(functionGroupList)Zet FunctionGroups over naar Inactief/OffBereitkSuccessoptNeustart erforderlichResetMachine() [Fire&Forget]ResetMachineNotifier (Updating)VerifyUpdate(functionGroupList)kSuccessStopUpdateSession()kSuccess

Sequentiediagram: interactieverloop van een software-updatesessie tussen UCM, State Management en besturingslogica. Bronnen: [SWS_SM_91100], [SWS_SM_91102], [SWS_SM_91103], [SWS_SM_91104], SWS StateManagement p. 78

Energiebeheer en Suspend-to-RAM in hub-satellietverband

Voor geavanceerde energiebeheerfuncties zoals Suspend-to-RAM (S2R) implementeert State Management een hub-satelliet-architectuurpatroon EXP SWArchitecture p. 54. De centrale besturingsinstantie in de platform-daemon gebruikt de klasse S2RHub [SWS_SM_81103], terwijl participerende Adaptive Applications in hun eigen procesruimte instanties van S2RSatellite integreren [SWS_SM_81003], [SWS_SM_81014], SWS StateManagement p. 35. Satellieten activeren hun gereedheid voor het ontvangen van moduswisselingen via Offer [SWS_SM_81012] resp. deactiveren deze via StopOffer [SWS_SM_81013]. Ze implementeren de zuiver virtuele methoden EnterSuspendMode [SWS_SM_81010] en LeaveSuspendMode [SWS_SM_81011] als callback-mechanisme voor de voorbereiding en afhandeling van de slaaptoestand.

Wanneer een suspend-procedure wordt ingezet, adresseert de S2RHub alle geregistreerde satellieten asynchroon via RequestToEnterSuspendMode met een configureerbare time-out [SWS_SM_81110]. Hebben alle satellieten hun slaaptoestandvoorbereidingen succesvol afgerond, dan bewerkstelligt de hub via EnterSuspendToRamOs de overgang van het besturingssysteem naar de toestand van RAM-behoud [SWS_SM_81112], SWS StateManagement p. 101. Op het hardwarenabije OS-wrapper-niveau grijpt State Management terug op de apext::sm::PowerStateInterface: deze maakt het instellen van hardwarenabije bedrijfstoestanden mogelijk via SetPowerState [SWS_SM_71001] aan de hand van de enumeratie PowerState [SWS_SM_71002] en de registratie en deregistratie van autonome wake-up-handlers via RegisterWakeUpHandler [SWS_SM_71003] en UnregisterWakeUpHandler [SWS_SM_71005] met het functietype WakeUpHandler [SWS_SM_71004], SWS StateManagement p. 105. Na het ontwaken verzoekt de hub via RequestToLeaveSuspendMode om het gecoördineerde heropstarten van alle satellieten [SWS_SM_81111].

Suspend-to-RAM-orchestratie via S2RHub en S2RSatelliteSmControlAppState ManagementS2RHubS2RSatellite (Apps)OS / BSPRequestTransition(Suspend)RequestToEnterSuspendMode(timeout=1000)EnterSuspendMode()Quiescentie en voorbereiding op rusttoestandFuture<void> ReadyEnterSuspendToRamOs() / SetPowerState(kPmSuspendToRam)Use Case: Systeem in RAM-retentiemodus (Suspend-to-RAM)Autonomes Aufwachen via WakeUpHandler()RequestToLeaveSuspendMode(timeout=1000) / LeaveSuspendMode()Future<void> ReadySystem aktiv (Normal Mode)

Sequentiediagram: tweefasig verloop bij het overbrengen van het systeem naar Suspend-to-RAM en het daaropvolgende ontwaken. Bronnen: [SWS_SM_71001], [SWS_SM_81110], [SWS_SM_81112], SWS StateManagement p. 101

Gedrag in het foutgeval

De module definieert voor eigen operationele fouten de SmErrorDomain [SWS_SM_81247], die via GetSmDomain wordt opgevraagd [SWS_SM_81251] en de aanduiding "Sm" draagt [SWS_SM_81248]. Deze stelt foutbeschrijvingen beschikbaar [SWS_SM_81249] en zet codes in uitzonderingsgevallen via ThrowAsException om in een SmException [SWS_SM_81243], [SWS_SM_81250]. Via de enumeratie SmErrc worden specifieke uitvaloorzaken getypeerd, waaronder kOfferFailed voor verbindingsonderbrekingen met de platform-daemon en kCommunicationFailed voor falende satellietcommunicatie [SWS_SM_81240], te genereren met MakeErrorCode [SWS_SM_81244].

Op het gebied van logische toestandsautomaten dwingt State Management een sluitende foutafhandeling af via de ErrorRecoveryTable SWS StateManagement p. 69. Elke tabel moet dwingend exact één item met de waarde ANY bevatten, dat dient als deterministisch opvangpad voor alle niet expliciet gemapte uitvoeringsfouten SWS StateManagement p. 42, SWS StateManagement p. 69. Wordt een fout gemeld door Platform Health Management of Execution Management en is de getroffen toestandsmachine niet gemarkeerd als ImpactedByUpdate, dan zet deze een interne vlag voor actieve foutafhandeling, breekt de actuele actielijst onmiddellijk af en schakelt direct over naar de geparametriseerde hersteltoestand SWS StateManagement p. 42. Bij kritieke fouten van Execution Management zoals kIntegrityOrAuthenticityCheckFailed gaat State Management ervan uit dat de betrouwbaarheid van het platform gecompromitteerd is en daaropvolgende requests zullen falen, waardoor corrigerende maatregelen buiten het cluster liggen SWS StateManagement p. 40.

diag_error_recovery_flow Start Inkomende ExecutionError (van PHM of EM) CheckUpdate Is StateMachine gemarkeerd als 'ImpactedByUpdate'? Start->CheckUpdate Ignore Reguliere foutafhandeling onderdrukt (UCM-foutpad treedt in werking) CheckUpdate->Ignore Ja SetFlag Setze internes Flag: ErrorRecoveryOngoing CheckUpdate->SetFlag Nein EvalTable Evalueer ErrorRecoveryTable (zoek specifieke code resp. ANY) SetFlag->EvalTable SpecificFound Spezifischer Folgezustand konfiguriert EvalTable->SpecificFound Code gefunden AnyFallback Verwende Catch-All-Zustand (ANY-Eintrag) EvalTable->AnyFallback Unbekannter Code StopActionList Stoppe aktuelle ActionList sofort SpecificFound->StopActionList AnyFallback->StopActionList ExecuteRecovery Schakel direct naar recovery-toestand en voer recovery-ActionList uit StopActionList->ExecuteRecovery End Zustandswechsel abgeschlossen ExecuteRecovery->End

Activiteitendiagram: beslissings- en verwerkingsverloop bij binnenkomende uitvoeringsfouten en evaluatie van de ErrorRecoveryTable. Bronnen: SWS StateManagement p. 42, SWS StateManagement p. 69

Verdere gedetailleerde bewijzen

De architectuur en de interactiepaden van State Management worden onderbouwd door de volgende normatieve eisen en ontwerpspecificaties:

Deze modulehandleiding is opgesteld door een AI-curatie-assistent op basis van de AUTOSAR Adaptive-specificatie voor release R25-11 en structureert de normatieve voorschriften voor State Management.

function: 31 service method: 7 class: 5 type alias: 3 service field: 3 enumeration: 2

apext::sm

class for power state coordination with OS

PowerState enumeratie

Power State Enumeration.

enum class PowerState : std::uint32_t {...};
WakeUpHandler typealias

WakeUpHandler function.

using WakeUpHandler = std::function<void(void)>;

ara::sm

Defines the error domain for State Management.

erft van ara::core::ErrorDomain

Exception type thrown by State Management.

erft van ara::core::Exception

GetSmDomain functie

Returns the global SmErrorDomain object.

constexpr const ara::core::ErrorDomain & GetSmDomain () noexcept;

Creates an error code.

constexpr ara::core::ErrorCode MakeErrorCode (SmErrc code, ara::core::ErrorDomain::SupportDataType data) noexcept;
SmErrc enumeratie

Defines an enumeration class for the State Management error codes.

enum class SmErrc : ara::core::ErrorDomain::CodeType {...};

ara::sm::s2r

S2RHub klasse

S2RHub class.

S2RSatellite abstract class.

Service-interfaces

StateMachineNotification service-interface

Als ara::com-Dienst modellierte Schnittstelle; Methoden/Felder werden über generierte Proxies/Skeletons aufgerufen (Parameterrichtung IN/OUT).

StateMachineService service-interface

Als ara::com-Dienst modellierte Schnittstelle; Methoden/Felder werden über generierte Proxies/Skeletons aufgerufen (Parameterrichtung IN/OUT).

UpdateAllowedService service-interface

Als ara::com-Dienst modellierte Schnittstelle; Methoden/Felder werden über generierte Proxies/Skeletons aufgerufen (Parameterrichtung IN/OUT).

UpdateRequest service-interface

Als ara::com-Dienst modellierte Schnittstelle; Methoden/Felder werden über generierte Proxies/Skeletons aufgerufen (Parameterrichtung IN/OUT).

Namespaces

Service-interfaces (gemodelleerd via ara::com)

UML-klassendiagram van de module

Abgerundete Rahmen = Namespaces; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = modulfremde bzw. externe Basisklassen. Klicken öffnet die Klassenseite.

G cluster_1 apext::sm cluster_2 ara::sm cluster_3 ara::sm::s2r napext__sm__PowerStateInterface528 PowerStateInterface nara__sm__SmErrorDomain386 SmErrorDomain nara__core__ErrorDomain335 ara::core::ErrorDomain nara__sm__SmErrorDomain386->nara__core__ErrorDomain335 nara__sm__SmException872 SmException nara__core__Exception792 ara::core::Exception nara__sm__SmException872->nara__core__Exception792 nara__sm__s2r__S2RHub106 S2RHub nara__sm__s2r__S2RSatellite502 S2RSatellite