Als ara::com-Dienst modellierte Schnittstelle; Methoden/Felder werden über generierte Proxies/Skeletons aufgerufen (Parameterrichtung IN/OUT).
Guía del usuarioGENERADO POR IA
Informa a las Adaptive Applications sobre el estado actual y las transiciones en curso de una máquina de estados.
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 6ddf9de6db11ProcedenciaPreguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán
Informa a las Adaptive Applications sobre el estado actual y las transiciones en curso de una máquina de estados.
La ServiceInterface StateMachineNotification pone a disposición de las Adaptive Applications el estado de una máquina de estados a través del campo legible y suscribible CurrentState ([SWS_SM_91028], [SWS_SM_91109]). En caso de cambios de estado, el campo señala el valor intermedio "inTransition" hasta que se hayan ejecutado todas las acciones ([SWS_SM_00616]). La interfaz se ofrece tras el inicio de la máquina de estados y se retira de nuevo cuando esta finaliza ([SWS_SM_00618], [SWS_SM_00619]).
Rol y contexto de sistema de la interfaz de servicio
La ServiceInterface StateMachineNotification es proporcionada por el módulo State Management (SM) de AUTOSAR Adaptive Platform ([SWS_SM_91028]). Mientras que las aplicaciones de control solicitan nuevas transiciones de estado a través de interfaces específicas, StateMachineNotification interactúa principalmente con Adaptive Applications regulares en el nivel de aplicación (AUTOSAR_AP_SWS_StateManagement p. 44). El servicio actúa como proveedor (Skeleton), mientras que las aplicaciones consumidoras están vinculadas como consumidoras (Proxy) a través de ara::com. En caso de estar configurada para una máquina de estados concreta, State Management instancia una instancia propia de esta interfaz ([SWS_SM_00665]). En proyectos en los que determinadas máquinas de estados funcionan de manera puramente interna y no son relevantes para las aplicaciones, se puede prescindir de su configuración y provisión (AUTOSAR_AP_SWS_StateManagement p. 45).
Métodos, eventos y campos
La interfaz no define métodos clásicos ni eventos puros, sino que encapsula el estado de la máquina de estados monitorizada en un campo central ([SWS_SM_91109]). El campo CurrentState posee el tipo de datos StateMachineStateNameType y está diseñado exclusivamente para lectura: dispone de un getter (HasGetter: true) así como de un notificador (HasNotifier: true), pero no cuenta con un setter (HasSetter: false) ([SWS_SM_91109]). De este modo, las Adaptive Applications pueden tanto consultar el valor actual de forma síncrona a través del getter como suscribirse a notificaciones para ser informadas de forma asíncrona a través de ara::com en caso de cambios de estado de la respectiva máquina de estados ([SWS_SM_91109]).
Tan pronto como se inicia una transición de estado de la máquina de estados, el campo CurrentState adopta el valor fijo "inTransition" ([SWS_SM_00616]). Este estado intermedio se establece independientemente de la fuente desencadenante —por ejemplo, Execution Management, Platform Health Management o una aplicación de control— y permanece incluso si se producen transiciones adicionales como reacción a notificaciones de error (AUTOSAR_AP_SWS_StateManagement p. 67). Solo cuando se han procesado todas las acciones correspondientes, el valor se actualiza al estado de destino real de la máquina de estados ([SWS_SM_00617]).
El inicio de una máquina de estados es un proceso de múltiples etapas (AUTOSAR_AP_SWS_StateManagement p. 59). Desde la perspectiva de los controladores de nivel superior, una máquina de estados se considera iniciada solo cuando existe y sus interfaces asignadas son ofrecidas (AUTOSAR_AP_SWS_StateManagement p. 59). Cada instancia de StateMachineNotification configurada se pone a disposición (offered) a través de ara::com tan pronto como el ActionListItem con el comando StartStateMachine se ha procesado con éxito ([SWS_SM_00618]). Esto permite a las aplicaciones vincularse tempranamente al servicio.
Si una máquina de estados finaliza o se detiene, el servicio se retira de nuevo: la interfaz deja de estar disponible (StopOffer) a partir del momento en que se procesa la correspondiente acción de finalización ([SWS_SM_00619]). Si las máquinas de estados son controladas por un controlador, el metamodelo exige además que cada lista de acciones referencie el conjunto completo de agentes controlados ([SWS_SM_CONSTR_00016]).
Tratamiento de errores y condiciones límite
Para StateMachineNotification no se definen Application Errors específicos de la aplicación propios (como kOperationRejected) en el modelo de interfaz, ya que esta opera de forma meramente observadora y no ofrece métodos modificadores ([SWS_SM_91109]). El tratamiento de errores se apoya en los mecanismos de comunicación de ara::com durante la consulta del campo, así como en la evaluación del estado "inTransition": los consumidores pueden interpretar este valor intermedio como la indicación de un proceso de conmutación o de subsanación de errores en curso (AUTOSAR_AP_SWS_StateManagement p. 67).
Esta guía se basa exclusivamente en los extractos de especificación de 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 en alemán