Sirve para la provisión del lado del servidor de un servicio y para el procesamiento de invocaciones de métodos entrantes.
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 9f566e4418f7ProcedenciaPreguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán
Sirve para la provisión del lado del servidor de un servicio y para el procesamiento de invocaciones de métodos entrantes.
La clase <SI-Namespace>::skeleton::<SI>Skeleton sirve como base del lado del servidor para la provisión de un servicio en la AUTOSAR Adaptive Platform y vincula eventos, campos (fields) y métodos al middleware. Tras la instanciación con un identificador de instancia, el servicio se pone a disposición de los consumidores en la red mediante OfferService() y puede retirarse de nuevo con StopOfferService()[SWS_CM_00101], [SWS_CM_00111]. Según el modo de procesamiento configurado, las invocaciones de métodos entrantes se procesan bien basadas en eventos o bien deben iniciarse activamente por la aplicación mediante sondeo (polling). Dado que las operaciones de copia están eliminadas, la propiedad de la instancia permanece estrictamente en la aplicación de servicio creadora.
Contexto
La clase plantilla <SI-Namespace>::skeleton::<SI>Skeleton conforma el extremo del lado del servidor para la provisión de una Service Interface en la AUTOSAR Adaptive Platform. Como nexo de unión entre la lógica de aplicación y la capa de comunicación, el skeleton encapsula la vinculación específica del middleware y proporciona elementos de interfaz tipados. Para ello, la clase declara variables miembro para eventos mediante events::<Event>[SWS_CM_99557], para campos (fields) mediante fields::<Field>[SWS_CM_99558], para disparadores (triggers) mediante triggers::<Trigger>[SWS_CM_99559] así como para parámetros de salida de métodos mediante <MethodOutArgType>[SWS_CM_11550]. Interpretación: para proporcionar la funcionalidad real del servicio, la aplicación de servicio suele derivar una clase concreta de <SI>Skeleton para implementar los métodos de la interfaz. Pregunta Q-0cd48946e67c75b4 (abierta)
Ciclo de vida
La instanciación de un skeleton se realiza especificando la asignación de instancia y el modo de procesamiento para invocaciones de métodos (ara::com::MethodCallProcessingMode, por defecto kEvent). Los constructores válidos aceptan un ara::core::InstanceSpecifier[SWS_CM_00152], un único ara::com::InstanceIdentifier[SWS_CM_00130] o un conjunto de identificadores a través de un ara::com::InstanceIdentifierContainer[SWS_CM_00153]. Dado que la identidad del extremo del servicio es unívoca, el constructor de copia [SWS_CM_00134] y el operador de asignación por copia [SWS_CM_11548] están explícitamente eliminados (delete). No obstante, los recursos pueden transferirse mediante el constructor de movimiento [SWS_CM_00135] así como el operador de asignación por movimiento [SWS_CM_11549].
Directamente tras la construcción, la instancia de servicio está creada localmente, pero aún no es visible en la red de comunicación. La publicación para los consumidores del servicio se produce únicamente mediante la invocación de OfferService()[SWS_CM_00101], EXP_ARAComAPI p. 10. Si el servicio ya no debe ofrecerse, StopOfferService() retira la provisión [SWS_CM_00111], EXP_ARAComAPI p. 10. A continuación, el skeleton puede ofrecerse de nuevo o destruirse mediante el destructor virtual ~<SI>Skeleton()[SWS_CM_11370].
El flujo regular para la provisión de un servicio se divide en los siguientes pasos:
Configuración y registro de manejadores: antes de ofrecer el servicio, pueden depositarse manejadores específicos de la aplicación. Mediante SetTransportFaultConditionHandler() se registra un manejador de errores de transporte bien directamente [SWS_CM_00093] o bien con un ejecutor dedicado para tareas asíncronas [SWS_CM_00094]; puede eliminarse en caso necesario mediante UnsetTransportFaultConditionHandler()[SWS_CM_00095]. Los manejos de errores End-to-End pueden sobrescribirse mediante el método virtual E2EErrorHandler()[SWS_CM_10470].
Oferta del servicio: la aplicación de servicio invoca OfferService()[SWS_CM_00101]. Una invocación exitosa devuelve un ara::core::Result<void> vacío y habilita la instancia de servicio en la red.
Procesamiento de solicitudes entrantes: si el skeleton se instanció en el modo MethodCallProcessingMode::kPoll, la aplicación debe ejecutar activamente las llamadas de clientes pendientes invocando ProcessNextMethodCall()[SWS_CM_00199]. La invocación del método se ejecuta en el contexto de este hilo; el valor de retorno señala si hay más llamadas pendientes.
Finalización del servicio: antes de destruir la instancia, la oferta se finaliza con StopOfferService()[SWS_CM_00111].
Diagrama de secuencia: secuencia de interacción entre la aplicación de servidor, el skeleton de servicio y la capa de comunicación durante el funcionamiento del servicio. Fuentes: [SWS_CM_00101], [SWS_CM_00111], [SWS_CM_00199], [SWS_CM_00093]
Escenarios de error
Al utilizar la clase skeleton deben tenerse en cuenta diversos escenarios de error y precondiciones:
Infracciones de construcción: si falla la autorización mediante Grant Enforcement, la construcción se interrumpe con InsufficientPermissionsViolation[SWS_CM_00130], [SWS_CM_00152], [SWS_CM_00153]. La transmisión de un modo de procesamiento no admisible da lugar a una WrongMethodCallProcessingModeViolation. Si se utiliza un InstanceSpecifier, las inconsistencias de modelo o las asignaciones múltiples pueden provocar los errores InstanceSpecifierMappingIntegrityViolation, PortInterfaceMappingViolation, ProcessMappingViolation o InstanceSpecifierAlreadyInUseViolation[SWS_CM_00152].
Fallo en la oferta del servicio: si OfferService() falla, se devuelve un código de error de ara::com::ComErrc[SWS_CM_00101]: ComErrc::kFieldValueNotInitialized (un campo no se inicializó previamente mediante Update()), ComErrc::kFieldSetHandlerNotSet (falta un manejador de establecimiento requerido de un campo) o ComErrc::kCommunicationFailure (error de conexión o de seguridad de la vinculación de red).
Infracción del modo de procesamiento: una invocación de ProcessNextMethodCall() desencadena una WrongMethodCallProcessingModeViolation si el skeleton no fue configurado para kPoll, sino para kEvent o kEventSingleThread[SWS_CM_00199].
Manejadores de errores no válidos: si se pasa a SetTransportFaultConditionHandler() un invocable (callable) inexistente o vacío, esto resulta en una InvalidHandlerViolation[SWS_CM_00093], [SWS_CM_00094].
Errores E2E y corrupción de datos: al recibir mensajes erróneos, se invoca E2EErrorHandler() con un correspondiente ComE2EErrc[SWS_CM_10470]. Si se trata de un error de CRC, también la DataID puede estar corrompida, por lo que la aplicación no debe considerar fiable el identificador transferido.
Errores de destrucción: si al destruir el skeleton aún existen muestras de datos abiertas, el destructor se interrumpe con una DanglingSamplesViolation[SWS_CM_11370].
Esta guía se basa exclusivamente en las prescripciones de especificación de la AUTOSAR Adaptive Platform R25-11.
Implementation may be overridden by the actual ServiceSkeleton implementation and it is not required to be reentrant. If the E2E error is a CRC error then some parts of the received message are faulty. If this part is the DataID then the E2E error handler is called with a faulty DataID. Consequently, in case of CRC error the server application can not rely on the DataID received by its error handler.
Allows the service to trigger the execution of the next service consumer method call at a specific point of time if the ara::com::MethodCallProcessingMode == kPoll The pending service method (see [SWS_CM_00191] or [SWS_CM_90434]) is executed in the context of the call to ProcessNextMethodCall().
Implementation may be overridden by the actual ServiceSkeleton implementation and it is not required to be reentrant. If the E2E error is a CRC error then some parts of the received message are faulty. If this part is the DataID then the E2E error handler is called with a faulty DataID. Consequently, in case of CRC error the server application can not rely on the DataID received by its error handler.
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: a9ce66768cdfProcedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán
El método OfferService() se invoca en una instancia de la clase Skeleton para ofrecer un servicio proporcionado en el sistema y hacerlo localizable para los consumidores a través de Service Discovery [SWS_CM_00101], ARAComAPI §6.5 «Service Discovery». La llamada se realiza sin parámetros y de forma síncrona tan pronto como la implementación del servicio se ha instanciado completamente y se ha colocado en un estado listo para operar AUTOSAR_AP_EXP_ARAComAPI §5.4.4 «Offering Service instance». La función está declarada como noexcept y devuelve un ara::core::Result<void>[SWS_CM_00101].
El ofrecimiento es un requisito indispensable para la comunicación funcional a través de métodos, eventos, campos o disparadores (triggers) AUTOSAR_AP_EXP_ARAComAPI §4.2 «Means of Communication». Si, por ejemplo, se intenta enviar un trigger sin haberlo ofrecido previamente, la operación fallará con ComErrc::kServiceNotOffered[SWS_CM_00721]. En lo relativo a la concurrencia, se aplica lo siguiente: tan pronto como se invoca OfferService(), las llamadas a métodos entrantes ya pueden entregarse a la instancia del servicio, incluso si la llamada a OfferService() aún no ha retornado AUTOSAR_AP_EXP_ARAComAPI §5.4.4 «Offering Service instance».
Si el ofrecimiento falla, el ara::core::Result devuelto contiene el código de error correspondiente de ComErrc[SWS_CM_00101], [SWS_CM_10432]:
ComErrc::kFieldValueNotInitialized: Al menos un valor de campo configurado aún no se había inicializado antes del ofrecimiento [SWS_CM_00101].
ComErrc::kFieldSetHandlerNotSet: Para un campo con soporte de setter todavía no se ha registrado ningún manejador mediante RegisterSetHandler()[SWS_CM_00101].
ComErrc::kCommunicationFailure: La vinculación de red notifica un error de comunicación subsanable o el fallo de la comunicación segura [SWS_CM_00101].
• If successful: an ara::core::Result containing a ara:: core::Result::value_type • If unsuccessful: an ara::core::Result containing an ara:: core::Result::error_type i.e. a corresponding ara:: com::ComErrc
Fehler
Fehlercode
Beschreibung
ComErrc::kFieldValueNotInitialized
rollback_semantics Field value has yet not been initialized via Update() (see [SWS_CM_00128]
ComErrc::kFieldSetHandlerNotSet
rollback_semantics Field SetHandler has not been registered via RegisterSet Handler()
ComErrc::kCommunicationFailure
rollback_semantics The network binding reported a recoverable communications error or a secure communication failure
Request a governed re-review of this record. The record is not changed immediately.
Allows the service to trigger the execution of the next service consumer method call at a specific point of time if the ara::com::MethodCallProcessingMode == kPoll The pending service method (see [SWS_CM_00191] or [SWS_CM_90434]) is executed in the context of the call to ProcessNextMethodCall().
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 34fad791a392ProcedenciaPreguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán
El método ProcessNextMethodCall() sirve a los proveedores de servicios en el Skeleton para procesar de forma determinista las llamadas a métodos entrantes en modo polling [SWS_CM_00199]. Solo debe utilizarse si la instancia de Skeleton ha sido configurada con el modo ara::com::MethodCallProcessingMode::kPollEXP ARAComAPI §2 «Polling».
Uso y semántica
La función no toma parámetros y ejecuta una solicitud de llamada a método pendiente de forma síncrona en el contexto del hilo de quien la invoca [SWS_CM_00199], [SWS_CM_00191]. Esto permite en particular a las aplicaciones de tiempo real procesar solicitudes de servicio sin cambios de contexto de hilo incontrolados dentro de su presupuesto de tiempo asignado EXP ARAComAPI §5.4 «ProcessNextMethodCall». El valor de retorno señala el resultado de la consulta:
true: Al menos una solicitud pendiente se encontraba en la cola y ha sido procesada [SWS_CM_00199].
La función está especificada como noexcept y exception safe [SWS_CM_00199]. Una llamada a un Skeleton que ha sido instanciado con kEvent o kEventSingleThread representa una infracción (WrongMethodCallProcessingModeViolation) [SWS_CM_00199]. Interpretación: dado que las excepciones regulares de C++ quedan descartadas por noexcept, es probable que la plataforma trate dicha infracción como un error grave de tiempo de ejecución. Pregunta Q-61661dbd6cc37bc7 (abierta)
Este texto ha sido generado automáticamente. Toda la información se basa en la especificación de AUTOSAR.
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 5601f5155355ProcedenciaPreguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán
usar
La función SetTransportFaultConditionHandler sirve para registrar un callback del tipo ara::com::e2e::TransportFaultConditionHandler en el espacio de nombres de la clase Skeleton (<SI-Namespace>::skeleton::<SI>) [SWS_CM_00093]. A través de este gestor se notifican errores de transporte para todos los métodos de la respectiva instancia de servicio AUTOSAR_AP_SWS_CommunicationManagement §7.4.1 «End-to-end communication protection for SOMEIP». La función toma el objeto invocable handler y no tiene valor de retorno (void) [SWS_CM_00093].
Manejo de errores
La operación está declarada con noexcept y es segura ante excepciones (exception safe) [SWS_CM_00093]. Si la entidad invocable pasada no existe o es null, se desencadena una InvalidHandlerViolation[SWS_CM_00093]. En caso de error, el gestor configurado notifica anomalías de transporte ocurridas como, por ejemplo, TransportFaultCondition::kSampleRejected, cuando las solicitudes se descartan por falta de recursos o corrupción en la capa de transporte AUTOSAR_AP_SWS_CommunicationManagement §7.4.2.3 «Methods».
Concurrencia y restricciones
Interpretación: Puesto que esta interfaz básica no recibe ningún contexto de ejecución, es de suponer que el callback se invoque de forma síncrona desde el hilo interno de la gestión de comunicaciones. Pregunta Q-e4007fa72de6aa12 (abierta) En caso de que la ejecución del gestor deba realizarse en un grupo de hilos (thread pool) o worker definido, debe utilizarse la sobrecarga con ExecutorT&& executor[SWS_CM_00094].
Interacción
El registro vincula el tratamiento de errores de manera centralizada a todos los métodos de una instancia de Skeleton [SWS_CM_00093]. Este se integra en el tratamiento de errores de nivel superior de ara::com:
Mientras que los métodos de Skeleton notifican errores de transporte a través de este gestor, los métodos de cliente señalan fallos de transporte de forma asíncrona a través de su ara::core::Future resultante con ComErrc::kCommunicationFailure[SWS_CM_00090].
Para operaciones de campos (Get/Set) en el nivel de Skeleton existen interfaces separadas [SWS_CM_00096].
Esta nota de uso se ha elaborado de forma automatizada. Se basa exclusivamente en las estipulaciones de la especificación AUTOSAR Adaptive Release R25-11.
Execution Context overload for SetTransportFaultConditionHandler for all methods in a given Skeleton.
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 9140fdcb385aProcedenciaPreguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán
La función plantilla SetTransportFaultConditionHandler en el espacio de nombres de la clase skeleton sirve para registrar un manejador de errores ante fallos de transporte de todos los métodos de una instancia de servicio [SWS_CM_00094]. Amplía la función básica sin parámetros [SWS_CM_00093] con un contexto de ejecución:
Llamada y parámetros: se transfieren un invocable handler de tipo ara::com::e2e::TransportFaultConditionHandler y una referencia universal executor[SWS_CM_00094]. En este objeto ejecutor se deben iniciar todos los cálculos asincrónicos y ejecuciones de callbacks. La función no tiene valor devuelto.
Tratamiento de errores: la interfaz está declarada como noexcept y especificada como segura frente a excepciones [SWS_CM_00094]. Si el invocable suministrado no existe o es nulo, se produce un InvalidHandlerViolation[SWS_CM_00094].
Interacción: el ámbito de validez abarca todos los métodos del skeleton [SWS_CM_00094], mientras que para las operaciones Field-Get y Set se dispone de funciones de registro independientes ([SWS_CM_00096], [SWS_CM_00097]). En el enlace de red de DDS, el manejador configurado notifica errores de transporte como TransportFaultCondition::kSampleRejected[SWS_CM_00216]; en el lado del cliente, en cambio, tales errores se señalan mediante ComErrc::kCommunicationFailure en los futuros de resultado [SWS_CM_00090].
Concurrencia: interpretación: la entrega del ejecutor desacopla el tratamiento de errores del contexto interno de la capa de comunicación; presumiblemente, el registro debería realizarse de forma temprana durante la inicialización del skeleton, antes de la llegada de las primeras llamadas a métodos. Pregunta Q-e56b2a1928cf32ad (abierta)
Esta nota de uso se ha generado automáticamente a partir de la especificación de AUTOSAR.
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: ee0471348c1bProcedenciaPreguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán
El constructor [SWS_CM_00130] instancia un skeleton de servicio a partir de un ara::com::InstanceIdentifier concreto. El skeleton conecta la implementación del servicio del lado de la aplicación con la capa de transporte de Communication Management para que los consumidores de servicios distribuidos puedan acceder a él (ARAComAPI §5.1 «Proxy Skeleton Pattern»).
A través del parámetro mode se determina cómo se procesan las llamadas a métodos entrantes. Como valor por defecto se establece el modo basado en eventos ara::com::MethodCallProcessingMode::kEvent[SWS_CM_00130]. Si en su lugar se selecciona un modo basado en sondeo, la ejecución de las llamadas a métodos pendientes se realiza de forma sincrónica en el contexto de llamada de ProcessNextMethodCall()[SWS_CM_00199].
Tratamiento de errores y condiciones límite
La función constructora está declarada con noexcept y no lanza excepciones de C++ [SWS_CM_00130]. Las posibles infracciones se señalan a través del sistema en tiempo de ejecución: si el Grant-Enforcement deniega la creación, se produce una InsufficientPermissionsViolation; si se pasa un modo de procesamiento no válido, resulta una WrongMethodCallProcessingModeViolation[SWS_CM_00130]. Interpretación: la validación del modo de procesamiento presumiblemente tiene lugar inmediatamente durante la ejecución del constructor. Pregunta Q-80e02c0079757082 (abierta)
Las operaciones de copia están explícitamente eliminadas para el skeleton [SWS_CM_00134], mientras que la construcción por movimiento está admitida [SWS_CM_00135]. Para que el servicio se pueda localizar en la red, debe invocarse OfferService() tras la instanciación [SWS_CM_00101] (ARAComAPI §6.5 «Service Discovery»). Antes de la destrucción de la instancia [SWS_CM_11370], la puesta a disposición puede finalizarse de nuevo mediante StopOfferService()[SWS_CM_00111].
Esta nota de uso fue generada por una IA a partir de la especificación AUTOSAR R25-11.
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 9052bf72bafdProcedenciaPreguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán
El constructor instancia un skeleton de servicio a partir de un identificador de instancia [SWS_CM_00152]. Sirve para conectar una implementación de servicio concreta a la capa de transporte de Communication Management. Como parámetros se transfieren un ara::core::InstanceSpecifier y, opcionalmente, el modo de procesamiento ara::com::MethodCallProcessingMode, el cual está predeterminado por defecto a kEvent[SWS_CM_00152].
En lo relativo al tratamiento de errores y al comportamiento ante excepciones, el constructor está declarado como noexcept y exception safe [SWS_CM_00152]. En caso de configuraciones erróneas o desviaciones de modelado, se especifican las siguientes violations:
InstanceSpecifierMappingIntegrityViolation, en caso de que el identificador no pueda resolverse en el contexto de ejecución o no haga referencia a un PortPrototype [SWS_CM_00152].
PortInterfaceMappingViolation y ProcessMappingViolation, si el tipo de mapeo y el tipo de interfaz no coinciden [SWS_CM_00152].
InstanceSpecifierAlreadyInUseViolation, si el InstanceSpecifier ya está en uso [SWS_CM_00152].
WrongMethodCallProcessingModeViolation, así como InsufficientPermissionsViolation en caso de permisos insuficientes [SWS_CM_00152].
Interpretación: Dado que el constructor está declarado como noexcept, es de suponer que las violations especificadas no se propaguen como excepciones de C++ lanzadas en tiempo de ejecución, sino que sean interceptadas mediante comprobaciones de la plataforma o Grant Enforcement. Pregunta Q-f1a1a0baeb56e482 (abierta)
Para el ciclo de vida y la concurrencia, el constructor de copia está eliminado [SWS_CM_00134], mientras que se encuentra disponible un constructor de movimiento [SWS_CM_00135]. La liberación se realiza a través del destructor virtual [SWS_CM_11370]. Tras una construcción correcta, el servicio se ofrece típicamente en la red mediante [SWS_CM_00101] (OfferService). Si se seleccionó kPoll como modo de procesamiento, la aplicación debe procesar explícitamente las llamadas entrantes a los métodos de servicio [SWS_CM_00191] a través de [SWS_CM_00199] (ProcessNextMethodCall).
Esta nota de uso se generó automáticamente a partir de las especificaciones de AUTOSAR para R25-11.
InstanceSpeci- InstanceSpecifier either cannot be resolved in the model in the fierMappingIn- context of the executable, or it refers to a model element other than tegrityViolation a PortPrototype. PortInterfaceMap- The type of mapping does not match the expected type of Port pingViolation Interface: ServiceInterface referenced by a ServiceInstanceToPortPrototypeMapping. ProcessMappingVio- The type of mapping does not match the expected type of Port lation Interface
InstanceSpecifier- The constructor was called with an Instance Specifier already AlreadyInUseViola- tion WrongMethodCall- Wrong processing mode passed to constructor ProcessingModeVio- lation InsufficientPer- Refused by Grant Enforcement missionsViolation
Parameter (in)
Parameter
Beschreibung
instanceSpec
The specifier of a specific instance of a service.
mode
Mode (as per [SWS_CM_00301]) for processing incoming service method invocations. Default argument is kEvent.
Request a governed re-review of this record. The record is not changed immediately.
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: cadca550210aProcedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán
usar
El constructor instancia un esqueleto de servicio a partir de un contenedor de identificadores de instancia (instanceIDs) y conecta la implementación del servicio en el lado del servidor con la capa de transporte de Communication Management [SWS_CM_00153], ARAComAPI §5.1 «Proxy Skeleton Pattern». Mediante el parámetro mode se define cómo se procesan las llamadas a métodos entrantes; de forma predeterminada, la tramitación se realiza dirigida por eventos mediante kEvent[SWS_CM_00153]. Alternativamente, están disponibles constructores para identificadores de instancia individuales [SWS_CM_00130] o especificadores de instancia [SWS_CM_00152].
Tratamiento de errores y concurrencia
La función está declarada como noexcept y especificada como segura frente a excepciones (exception safe) [SWS_CM_00153]. Las posibles infracciones durante la creación son WrongMethodCallProcessingModeViolation en caso de pasar un modo de procesamiento no permitido, así como InsufficientPermissionsViolation si falla la comprobación de autorizaciones (Grant Enforcement) [SWS_CM_00153].
Si para mode se configura el modelo de sondeo (kPoll), la aplicación de servidor debe procesar las llamadas a métodos pendientes de forma síncrona en el contexto de su propio hilo mediante la llamada a ProcessNextMethodCall()[SWS_CM_00199]. El constructor de copia de la clase de esqueleto está eliminado (delete) [SWS_CM_00134]; los movimientos, en cambio, son compatibles mediante el constructor de movimiento [SWS_CM_00135].
Interacción
Tras una instanciación correcta, el servicio se pone a disposición de consumidores remotos o locales mediante OfferService()[SWS_CM_00101], ARAComAPI §6.5 «Service Discovery». Antes de destruir el esqueleto mediante el destructor [SWS_CM_11370], se debe finalizar la provisión a través de StopOfferService()[SWS_CM_00111]. Las llamadas a métodos entrantes devuelven, en cada caso, un ara::core::Future en el lado del servidor [SWS_CM_00191].
Esta nota de uso se ha creado de forma automatizada sobre la base de la especificación AUTOSAR R25-11.
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 5ee7b8c6b839ProcedenciaPreguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán
El destructor virtual ~<SI>Skeleton()[SWS_CM_11370] finaliza el ciclo de vida de una instancia de skeleton de servicio. Como artefacto generado, el skeleton de servicio conecta la implementación concreta del servicio con la capa de transporte de Communication Management, de modo que los consumidores de servicios puedan acceder a los métodos y a las funcionalidades ofrecidos (ARAComAPI §5.1 «Proxy Skeleton Pattern»).
La destrucción se produce de forma síncrona al desmontar la clase de implementación derivada. El método no recibe parámetros y no declara ningún valor de retorno. A diferencia de los constructores del skeleton, como [SWS_CM_00130] o [SWS_CM_00152], el destructor está clasificado explícitamente en la especificación como not exception safe[SWS_CM_11370].
En cuanto al tratamiento de errores y las condiciones de contorno, se establece que en caso de incumplimiento de una precondición puede producirse una DanglingSamplesViolation[SWS_CM_11370]. Si el servicio se ofreció previamente hacia el exterior mediante OfferService()[SWS_CM_00101] (ARAComAPI §6.5 «Service Discovery»), probablemente deba llamarse al método StopOfferService()[SWS_CM_00111] antes de la invocación del destructor para finalizar limpiamente las relaciones de comunicación activas. Pregunta Q-c430a7f0fc838eba (abierta)
Para el skeleton, el constructor de copia está eliminado [SWS_CM_00134], mientras que las operaciones de movimiento están soportadas [SWS_CM_00135]. Los procesos de tratamiento en curso —como la ejecución de llamadas pendientes a través de ProcessNextMethodCall()[SWS_CM_00199]— deberían completarse antes de iniciar la destrucción.
Este texto ha sido generado por una IA a partir de la especificación AUTOSAR R25-11.
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: f2e7dd4743d8Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán
El método [SWS_CM_00111] finaliza el ofrecimiento de una instancia de servicio por parte de la aplicación proveedora de servicios en ara::com. La llamada se efectúa sin parámetros sobre la instancia concreta de Skeleton en el espacio de nombres <SI-Namespace>::skeleton::<SI> y no devuelve ningún valor (EXP_ARAComAPI §5.4.1 «Skeleton Class API’s»).
Para el uso y el comportamiento en tiempo de ejecución aplican las siguientes condiciones:
Contexto de llamada y condición previa: el método se invoca cuando una instancia proporcionada previamente mediante OfferService() —por ejemplo, a raíz de cambios de estado— ya no deba estar disponible (EXP_ARAComAPI §5.4.4 «Offering Service instance»).
Aseguramiento (contrato): una vez que StopOfferService() ha retornado, según el contrato ya no se reenviarán más llamadas a métodos a esta instancia de servicio (EXP_ARAComAPI §5.4.4 «Offering Service instance»).
Ciclo de vida y destructor: en caso de que una instancia de servicio todavía se ofrezca activamente al invocarse el destructor de la clase Skeleton, el destructor ejecutará StopOfferService() internamente de forma obligatoria (EXP_ARAComAPI §5.4.4 «Offering Service instance»).
La función está declarada como noexcept y se considera segura frente a excepciones ([SWS_CM_00111]). No notifica errores ni mediante excepciones ni mediante mensajes de error o códigos de retorno.
gemini-3.8-flash-low· 2026-10-13 · Original en alemán