Diese Seite wurde vollständig KI-generiert auf Basis von SWS Safe Hardware Acceleration (R25-11) — kein offizieller AUTOSAR-Text und keine automatisch extrahierte API-Seite wie die übrigen Module. Als Interpretation gekennzeichnete Aussagen sind Schlussfolgerungen aus den Quellen.
[AP_SWS_SHWA_01201] texto aún no importadoUpstream: RS_SHWA_00001
class TaskHandler final {...};
Die Spezifikation definiert diesen Klassentyp mit der gezeigten Schnittstelle.
Permite la creación y el envío de tareas de cálculo individuales y paralelas a dispositivos aceleradores.
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 6d7c7c77c2a9ProcedenciaPreguntas abiertas (2)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán
Permite la creación y el envío de tareas de cálculo individuales y paralelas a dispositivos aceleradores.
La clase ara::shwa::TaskHandler sirve para ejecutar tareas en hardware acelerador mediante envíos a colas [AP_SWS_SHWA_01203]. Las nuevas instancias se crean de forma segura para subprocesos mediante el método de fábrica estático Create(), que devuelve errores en el ara::core::Result[AP_SWS_SHWA_01202]. A través de SingleTask y ParallelFor es posible transmitir pasos de cálculo individuales o con paralelismo de datos al dispositivo de destino. Si bien la instanciación es segura para subprocesos, los envíos de tareas no lo son y requieren sincronización externa en caso de acceso paralelo.
Contexto
La clase ara::shwa::TaskHandler forma parte, como clase final (final), del módulo para aceleración de hardware (shwa) dentro de la AUTOSAR Adaptive Platform. Actúa como interfaz central para el envío y la ejecución de tareas de cálculo en un dispositivo de destino (Device) seleccionado. Dentro de la arquitectura de software, la clase asume el rol mediador entre el componente de software consumidor y la infraestructura de ejecución subyacente.
La interacción se produce principalmente entre dos participantes del sistema: la aplicación llamadora y el acelerador de hardware seleccionado o su cola de tareas. Las operaciones de cálculo definidas por la aplicación se reciben a través de las interfaces de ara::shwa::TaskHandler y se reenvían al dispositivo como envíos a la cola [AP_SWS_SHWA_01203]. Esto permite procesar tanto pasos de cálculo individuales como patrones de procesamiento con paralelismo de datos [AP_SWS_SHWA_01204]. Interpretación: es probable que la clase encapsule las colas específicas del dispositivo, permitiendo a los componentes de aplicación controlar los recursos del acelerador sin estar acoplados a detalles de bajo nivel del hardware. Pregunta (abierta)
Ciclo de vida
El ciclo de vida de una instancia de ara::shwa::TaskHandler se controla mediante un estricto patrón de diseño Factory. La instanciación se realiza exclusivamente a través del método de fábrica estático Create()[AP_SWS_SHWA_01202]. Dado que la clase está declarada como final, queda excluida la especialización mediante herencia. El objeto generado se devuelve encapsulado en un ara::core::Result<TaskHandler>, por lo que el éxito de la inicialización debe verificarse explícitamente [AP_SWS_SHWA_01202].
En lo referente a la concurrencia y la seguridad para subprocesos, la clase presenta características diferenciadas:
Instanciación: la llamada al método estático Create() es segura para subprocesos (thread-safe) [AP_SWS_SHWA_01202]. Por consiguiente, varios subprocesos pueden crear de forma concurrente nuevas instancias del manejador a través de la vía de la factoría.
Envío de tareas: los métodos para la transmisión de órdenes de trabajo, SingleTask[AP_SWS_SHWA_01203] y ParallelFor[AP_SWS_SHWA_01204], están especificados expresamente como no seguros para subprocesos (not thread-safe). Por tanto, no se debe acceder a una única instancia de TaskHandler de forma descoordinada y simultánea desde varios subprocesos; la sincronización es responsabilidad del llamador.
Seguridad frente a excepciones: todos los métodos de la interfaz están declarados como noexcept y garantizan seguridad frente a excepciones (exception safe) [AP_SWS_SHWA_01202], [AP_SWS_SHWA_01203], [AP_SWS_SHWA_01204]. En el caso de Create(), se aplican además semánticas de reversión (rollback_semantics) si la inicialización falla [AP_SWS_SHWA_01202].
La propiedad permanece en el componente usuario, que retiene la instancia y la destruye tan pronto como no se requieran más envíos a la cola.
Ruta de uso
El flujo típico se divide en las fases de creación, configuración de la orden y transmisión de tareas. En primer lugar, la aplicación solicita una nueva instancia mediante ara::shwa::TaskHandler::Create()[AP_SWS_SHWA_01202]. Tras la validación correcta del ara::core::Result, el objeto queda listo para recibir órdenes de trabajo.
A continuación, la aplicación decide el método de transmisión adecuado en función del patrón de procesamiento:
Para tareas de cálculo individuales se invoca SingleTask(cfg), lo que encola la función de tarea pasada como parámetro en la cola del dispositivo de destino seleccionado [AP_SWS_SHWA_01203].
Para patrones de procesamiento con paralelismo de datos se dispone de la plantilla de función ParallelFor(bufferSize, cfg)[AP_SWS_SHWA_01204]. En este caso, además de la configuración, se pasa el tamaño del búfer (bufferSize) para controlar la ejecución paralela en múltiples elementos de datos en el dispositivo acelerador.
Interpretación: se asume que el parámetro de plantilla T representa una función invocable, una expresión lambda o una configuración de tarea correspondiente que encapsula la lógica de cálculo que debe ejecutarse en el dispositivo. Pregunta Q-2fca8604440b44e9 (abierta)
El tratamiento de errores en ara::shwa::TaskHandler sigue el paradigma exento de excepciones (noexcept) de la Adaptive Platform.
Los estados de error se presentan principalmente durante la instanciación:
El método de fábrica Create() notifica los fallos a través del canal de error en el valor de retorno ara::core::Result[AP_SWS_SHWA_01202].
Como identificador de error concreto está definido ShwaErrorCode::kRuntime, el cual señala errores generales de tiempo de ejecución durante la creación del objeto [AP_SWS_SHWA_01202]. Gracias a las semánticas de reversión especificadas, se garantiza que en caso de fallo no queden estados parcialmente inicializados ni fugas de recursos [AP_SWS_SHWA_01202].
Las llamadas SingleTask[AP_SWS_SHWA_01203] y ParallelFor[AP_SWS_SHWA_01204] no devuelven ningún valor (void) y no lanzan excepciones. Por lo tanto, los llamadores deben asegurarse de que la instancia del manejador sea válida y de que los accesos desde subprocesos concurrentes se sincronicen externamente.
Este texto ha sido generado por una IA a partir de la especificación AUTOSAR R25-11.
gemini-3.8-flash-low· 2026-10-13 · Original en alemán