DEENESPTFRRUARHIKOZHNL

interface de serviço StateMachineService

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

Guia do utilizadorGERADO POR IA

Permite que aplicações de controle solicitem mudanças de estado para máquinas de estados configuradas.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: e242ff13fc20 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Permite que aplicações de controle solicitem mudanças de estado para máquinas de estados configuradas.

A interface de serviço StateMachineService é fornecida pelo State Management para cada máquina de estados configurada, a fim de que uma SMControlApplication possa solicitar mudanças de estado de maneira direcionada por meio do método RequestTransition [SWS_SM_00600], [SWS_SM_91107]. O serviço é oferecido imediatamente após a conclusão bem-sucedida da etapa de inicialização da máquina de estados e confirma solicitações sem semântica de Fire-and-Forget. No entanto, solicitações são rejeitadas com erros específicos se o valor fornecido for inválido, se a transição a partir do estado atual não for permitida ou se uma sessão de atualização ou de recuperação estiver ativa simultaneamente [SWS_SM_91107].

Papel e contexto de sistema da interface de serviço

A interface de serviço StateMachineService é fornecida pelo cluster funcional State Management (SM) por meio de uma porta de serviço padronizada [SWS_SM_91021]. De acordo com a definição formal de interface [SWS_SM_91022], o State Management instancia e oferece esse serviço baseado em ara::com para cada instância configurada individual de uma StateMachine [SWS_SM_00600].

Como consumidor primário dessa interface atua uma SMControlApplication, a qual interage diretamente com a máquina de estados por meio do serviço para solicitar mudanças de estado SWS StateManagement §9.2.2 «StateMachine service». Enquanto notificações sobre estados ocorridos para aplicações adaptativas regulares são realizadas primariamente por meio da interface de serviço separada StateMachineNotification [SWS_SM_00665], StateMachineService forma a interface de controle ativa para a iniciação de transições.

Métodos e semântica de chamada

A interface define o método RequestTransition, que precisa ser chamado pela SMControlApplication para provocar uma mudança de estado na StateMachine referenciada [SWS_SM_91107]. O método espera o parâmetro de entrada TransitionRequest do tipo TransitionRequestType, que representa o valor de transição requerido dentro da TransitionRequestTable subjacente [SWS_SM_91107], SWS StateManagement §7.x «TransitionRequestTable».

Para RequestTransition, a propriedade Fire & Forget está definida como false [SWS_SM_91107]. A aplicação chamadora recebe, assim, uma confirmação vinculativa da requisição. Interpretação: dentro do padrão proxy-skeleton de ara::com, o retorno deve ser fornecido tipicamente por meio de um ara::core::Future ou de um respectivo objeto de resultado, que resolve em caso de sucesso ou transmite um status de erro específico em caso de falha. Pergunta Q-41fa67738672c735 (aberta)

Ciclo de vida e dependências de estado

Cada serviço ara::com configurado para uma StateMachine a ser iniciada – incluindo StateMachineService – precisa estar disponível e ser oferecido (Offer) assim que o ActionListItem «StartStateMachine» tiver sido processado com sucesso [SWS_SM_00618]. Isso permite à SMControlApplication solicitar uma transição imediatamente após a criação bem-sucedida da máquina de estados, mesmo que a máquina de estados ainda esteja processando a ActionList inicial nesse momento SWS StateManagement §7.x «StateMachine service interfaces - Offer».

A oferta do serviço é encerrada (StopOffer) assim que ocorre o processamento para parar a respectiva máquina de estados [SWS_SM_00619]. Além disso, as chamadas estão sujeitas a pré-requisitos funcionais: se uma sessão de atualização estiver em execução no sistema no momento, a iniciação de mudanças de estado é, por princípio, inadmissível [SWS_SM_91107].

Tratamento de erros e Application Errors

Durante a execução de RequestTransition, podem ocorrer Application Errors específicos, que são retornados pelo State Management ao chamador [SWS_SM_91107]:

  • kInvalidValue: o valor fornecido não está associado a nenhuma transição na TransitionRequestTable [SWS_SM_91107].
  • kTransitionNotAllowed: a transição de estado solicitada não é permitida a partir do estado atual da StateMachine [SWS_SM_91107].
  • kRecoveryTransitionOngoing: a solicitação é descartada, pois uma recuperação (recovery) está sendo executada no momento [SWS_SM_91107].
  • kTransitionFailed: ocorreu um erro durante a execução da transição para o estado de destino [SWS_SM_91107].
  • kOperationCanceled: a solicitação foi cancelada porque foi substituída por uma solicitação mais recente [SWS_SM_91107].
  • kUpdateInProgress: a operação é proibida porque uma sessão de atualização está ativa no momento [SWS_SM_91107].
Sequência de uma solicitação de transição via StateMachineServiceSMControlApplicationStateMachineServiceState ManagementUse Case: Service-BereitstellungStartStateMachine verarbeitet: OfferService()Use Case: Solicitar transição de estadoRequestTransition(TransitionRequest)Zustandswechsel verarbeitenaltTransição bem-sucedidaExecutar transição de acordo com TransitionRequestTableErfolgRetorno: sucessoFehlerfall (z. B. kTransitionNotAllowed, kUpdateInProgress)Application ErrorRetorno com código de erro

Diagrama de sequência: fluxo de uma solicitação de transição via StateMachineService com disponibilização, confirmação de sucesso e tratamento de erros. Fontes: [SWS_SM_91107], [SWS_SM_00618], SWS StateManagement §7.x «StateMachine service interfaces - Offer».

Este guia foi gerado por uma IA com base na especificação AUTOSAR R25-11.

Mitglieder

Mapa de membros

Vista de detalhes

Selecione uma entrada no índice.

Métodos

RequestTransition método de serviço

Has to be called by a SMControlApplication to request a change in the referenced StateMachine.

RequestTransition (IN TransitionRequestType TransitionRequest)

Tipos de dados

TransitionRequestType tipo de dados

Erros de aplicação

kInvalidValue erro de aplicação

The provided value is not mapped to any transition.

kOperationCanceled erro de aplicação

The request was replaced by a newer one and therefore it was cancelled

kRecoveryTransitionOngoing erro de aplicação

Request will not be carried out, because currently recovery is ongoing.

kTransitionFailed erro de aplicação

During transition to the requested state an error occurred.

kTransitionNotAllowed erro de aplicação

Requested transition is not possible from current StateMachine state.

kUpdateInProgress erro de aplicação

Requested operation is not allowed as update session is in progress.

Documentação

método de serviço RequestTransition [SWS_SM_91107] Upstream: RS_SM_00001, RS_SM_00004

RequestTransition (IN TransitionRequestType TransitionRequest)

Has to be called by a SMControlApplication to request a change in the referenced StateMachine.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: e769039e5880 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

usar

O método de serviço RequestTransition é chamado por um SMControlApplication na interface StateMachineService para solicitar uma transição de estado de uma StateMachine referenciada ([SWS_SM_91107], SWS StateManagement §7.7 «SMControlApplication»). Como parâmetro é passado TransitionRequest. O método possui valores de retorno e não opera segundo o princípio Fire-and-Forget. O State Management mapeia o valor de entrada através do TransitionRequestTable, dependendo do estado atual, para um estado seguinte ([SWS_SM_00607]) e solicita os Function Group States resultantes via SetState() ao Execution Management (AP EXP SWArchitecture §11.1 «Change System State»).

Tratamento de erros

Em caso de erro, o processamento é interrompido e RequestTransition retorna erros de aplicação específicos ([SWS_SM_91107]):

  • kInvalidValue: O valor passado para TransitionRequest não está configurado na TransitionRequestTable ([SWS_SM_00604]).
  • kTransitionNotAllowed: A transição não é permitida a partir do estado atual da StateMachine de acordo com a configuração ([SWS_SM_00603]).
  • kRecoveryTransitionOngoing: Uma recuperação interna de erros está ativa, razão pela qual a solicitação não é mais processada ([SWS_SM_00605]).
  • kUpdateInProgress: Durante uma sessão de atualização ativa, a mudança de estado é inadmissível ([SWS_SM_91107]).
  • kTransitionFailed: Ocorreu um erro durante o processamento de ActionListItems ([SWS_SM_00650]).

Simultaneidade e restrições

Se um novo desejo de transição for aceito enquanto uma chamada anterior de RequestTransition para a mesma StateMachine ainda estiver pendente, a solicitação anterior será abortada e confirmada com kOperationCanceled ([SWS_SM_00606]). Ações temporizadas como Sleep ActionListItem não bloqueiam disparadores recebidos; uma chamada de RequestTransition pode, portanto, desencadear uma mudança de estado mesmo durante tal tempo de espera (SWS StateManagement §7.7.9 «ActionListItem Sleep»).

Esta nota de uso foi gerada automaticamente e baseia-se exclusivamente nas especificações do AUTOSAR R25-11.

Guia do implementador em breve (complexidade I2)

Scopeservice interface StateMachineService
Fire & Forgetfalse
Version1.0

Parameter

NameRichtungTypBeschreibung
TransitionRequestINTransitionRequestTypeRepresents the value to be used as TransitionRequest value in the Transition RequestTable.

Application Errors

FehlerBeschreibung
kInvalidValueThe provided value is not mapped to any transition.
kTransitionNotAllowedRequested transition is not possible from current StateMachine state.
kRecoveryTransitionOngoingRequest will not be carried out, because currently recovery is ongoing.
kTransitionFailedDuring transition to the requested state an error occurred.
kOperationCanceledThe request was replaced by a newer one and therefore it was cancelled
kUpdateInProgressRequested operation is not allowed as update session is in progress.

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

Record
AUTOSAR/AP/record/SWS_SM_91107
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_SM_91107@rel:R25-11#42c3ce19
Content hash
42c3ce19
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_StateManagement.pdf#nameddest=SWS_SM_91107
Status: valid/unmigrated Version: rel:R25-11#d4767b6b 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_91107@rel:R25-11#d4767b6b
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#a5b9b5c32026-09-30
  • R24-11rel:R24-11#75ea2a2c2026-10-14
  • R25-11rel:R25-11#d4767b6b2026-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