[en] Blockchain is a cutting-edge technology that provides a distributed and immutable ledger for storing transactions, ensuring security, reliability, traceability, immutability and transparency of information. The behavior of the blockchain can be programmed by means of smart contracts, which can be used to specify agreements between different parties at design time and to validate compliance with agreed conditions at runtime. However, the implementation and management of smart contracts is a difficult task not only for experts in the field, but also for software developers, as it requires advanced knowledge of specific-purpose languages such as Solidity. Moreover, this language does not directly support the possibility of defining business rules with temporal correlation of events and has restrictions on the types of values and their length. Bad practices in smart contract programming can generate bugs or vulnerabilities causing economic losses. Any attack attempt, for example, trying to manipulate the blockchain data can also cause errors and other anomalies in the blockchain network. Nevertheless, detecting this type of situations of interest in real time or automatically checking anomalous situations within the blockchain network is currently a handicap. To alleviate all these problems, this doctoral thesis in the form of a compendium of papers, entitled "Software architectures and modeling tools for integrating complex event processing and blockchain", addresses the challenge of integrating blockchain and Complex Event Processing (CEP) technologies. CEP is a powerful technology that allows analyzing and correlating large volumes of data with the purpose of automatically detecting patterns of interest in real time. The main objective of this doctoral thesis is the development of software architectures (centralized, distributed and containerized) and modeling tools to support the integration of CEP and blockchain. To achieve this goal, state-of-the-art studies have been carried out as well as the design, implementation and testing of architectures and modeling tools for integrating CEP and blockchain. These tools allow, among other things, the real-time monitoring of data generated in blockchain networks and the automatic detection of anomalies in these networks by matching event patterns, the automatic invocation of smart contracts when event pattern conditions are satisfied, as well as the smart contract management in a user-friendly way. This integration has been achieved through lightweight and portable solutions, and eliminating the cumbersome configuration tasks when deploying and operating them, thus facilitating the interaction and use by experts in the application domain, but not in the technologies.

[es] Blockchain es una tecnología de vanguardia que proporciona un libro de contabilidad distribuido e inmutable para almacenar transacciones, garantizando la seguridad, fiabilidad, trazabilidad, inmutabilidad y transparencia de la información. El comportamiento de la blockchain puede programarse mediante contratos inteligentes, que pueden utilizarse para especificar acuerdos entre distintas partes en tiempo de diseño y para validar el cumplimiento de las condiciones acordadas en tiempo de ejecución. Sin embargo, la implementación y gestión de contratos inteligentes es una tarea difícil no solo para expertos en la materia, sino también para desarrolladores de software, ya que requiere conocimientos avanzados de lenguajes de propósito específico como Solidity. Además, este lenguaje no soporta directamente la definición de reglas de negocio con correlación temporal de eventos y tiene restricciones en cuanto a los tipos de valores y su longitud. Las malas prácticas en la programación de contratos inteligentes pueden generar fallos o vulnerabilidades, provocando pérdidas económicas. Cualquier intento de ataque, por ejemplo, tratando de manipular los datos de la blockchain también puede causar errores y otras anomalías en la red blockchain. No obstante, detectar este tipo de situaciones de interés en tiempo real o comprobar automáticamente situaciones anómalas dentro de la red blockchain es actualmente un hándicap. Para dar respuesta a todos estos problemas, esta tesis doctoral en forma de compendio de artículos, titulada "Arquitecturas software y herramientas de modelado para la integración del procesamiento de eventos complejos y blockchain", aborda el reto de integrar las tecnologías de blockchain y el procesamiento de eventos complejos (Complex Event Processing, CEP). CEP es una tecnología potente que permite analizar y correlacionar grandes volúmenes de datos con el fin de detectar automáticamente patrones de interés en tiempo real. El objetivo principal de esta tesis doctoral es el desarrollo de arquitecturas software (centralizadas, distribuidas y contenerizadas) y herramientas de modelado para dar soporte a la integración de CEP y blockchain. Para lograr este objetivo, se han elaborado estudios del estado del arte y se han diseñado, implementado y probado arquitecturas y herramientas de modelado para la integración de CEP y blockchain. Estas herramientas permiten, entre otras cosas, la monitorización en tiempo real de los datos generados en las redes blockchain y la detección automática de anomalías en estas redes mediante patrones de eventos, la invocación automática de contratos inteligentes cuando se cumplen las condiciones de los patrones de eventos, así como la gestión de contratos inteligentes de forma amigable. Esta integración se ha logrado a través de soluciones ligeras y portables, y eliminando las engorrosas tareas de configuración a la hora de desplegarlas y utilizarlas, facilitando así la interacción y uso por parte de expertos en el dominio de aplicación, pero no en las tecnologías.