En sistemas
embebidos, un evento es algo que ocurre en el sistema y que debe ser
atendido. Puede ser una señal del hardware (como la activación de un sensor) o
un dato que llega desde una red (como un mensaje de un protocolo industrial). Los
eventos son "disparadores": activan o desencadenan una acción.
Una acción o proceso es cómo el sistema responde a un evento. Estas respuestas se
implementan usando: callbacks: Funciones que se ejecutan automáticamente cuando
ocurre un evento. Ejemplo: Una función que se llama cuando el sensor envía un
dato nuevo. Tasks: Tareas más estructuradas que ejecutan acciones
completas, generalmente en sistemas con RTOS (como FreeRTOS). Ejemplo: Una task
que procesa un dato recibido y lo guarda en la memoria.
La Arquitectura Orientada a Eventos (EDA - Event-driven architecture) se basa en: ① Detectar eventos (hardware, datos, comandos). ② Ejecutar acciones (callbacks o tasks) que respondan a esos eventos.
En lugar de
realizar operaciones continuamente (como un bucle infinito que chequea
cambios), el sistema está diseñado para ser reactivo: solo actúa cuando
algo sucede. Esto lo hace muy eficiente, especialmente en aplicaciones en
tiempo real como sistemas embebidos industriales o sistemas de monitoreo
continuo.
En contraste están
las llamadas Arquitecturas Orientadas a Servicios (SOA - Service Oriented
Architecture) proporcionan servicios que se invocan explícitamente cuando
se los necesitan. Ambos enfoques son distintos pero no excluyentes.