11 research outputs found

    A model-driven approach for facilitating user-friendly design of complex event patterns

    Get PDF
    Complex Event Processing (CEP) is an emerging technology which allows us to efficiently process and correlate huge amounts of data in order to discover relevant or critical situations of interest (complex events) for a specific domain. This technology requires domain experts to define complex event patterns, where the conditions to be detected are specified by means of event processing languages. However, these experts face the handicap of defining such patterns with editors which are not user-friendly enough. To solve this problem, a model-driven approach for facilitating user-friendly design of complex event patterns is proposed and developed in this paper. Besides, the proposal has been applied to different domains and several event processing languages have been compared. As a result, we can affirm that the presented approach is independent both of the domain where CEP technology has to be applied to and of the concrete event processing language required for defining event patterns

    ModeL4CEP: Graphical domain-specific modeling languages for CEP domains and event patterns

    Get PDF
    Complex event processing (CEP) is a cutting-edge technology that allows the analysis and correlation of large volumes of data with the aim of detecting complex and meaningful events through the use of event patterns, as well as permitting the inference of valuable knowledge for end users. Despite the great advantages that CEP can bring to expert or intelligent business systems, it poses a substantial challenge to their users, who are business experts but do not have the necessary knowledge and experience using this technology. The main problem these users have to face is precisely hand-writing the code for event pattern definition, which requires them to implement the conditions to be met to detect relevant situations for the domain in question by using a particular event processing language (EPL). In order to respond to this need, in this paper we propose both a graphical domain-specific modeling language (DSML) for facilitating CEP domain definitions by domain experts, and a graphical DSML for event pattern definition by non-technological users. The proposed languages provide high expressiveness and flexibility and are independent of event patterns and actions’ implementation code. This way, domain experts can define the relevant event types and patterns within their business domain, without having to be experts on EPL programming, nor on other complicated computer science technological issues, beyond an understandable and intuitive graphical definition. Furthermore, with these DSMLs, users will also be able to define the actions to be automatically taken once a pattern is detected in the system. Further benefits of these DSMLs are evaluated and discussed in depth in this paper

    MEdit4CEP: A model-driven solution for real-time decision making in SOA 2.0

    Get PDF
    Organizations all around the world need to manage huge amounts of data from heterogeneous sources every day in order to conduct decision making processes. This requires them to infer what the value of such data is for the business in question through data analysis as well as acting promptly for critical or relevant situations. Complex Event Processing (CEP) is a technology that helps tackle this issue by detecting event patterns in real time. However, this technology forces domain experts to define these patterns indicating such situations and the appropriate actions to be executed in their information systems, generally based on Service-Oriented Architectures (SOAs). In particular, these users face the incommodity of implementing these patterns manually or by using editors which are not user-friendly enough. To deal with this problem, a model-driven solution for real-time decision making in event-driven SOAs is proposed and conducted in this paper. This approach allows the integration of CEP with this architecture type as well as defining CEP domain and event pattern through a graphical and intuitive editor, which also permits automatic code generation. Moreover, the solution is evaluated and its benefits are discussed. As a result, we can assert this is a novel solution for bringing CEP technology closer to any user, positively impacting on business decision making processes

    Analysis of temporal complex events in sensor networks

    Get PDF
    International audienceIn this paper we introduce a framework for detecting anomalies in the clocks of the different components of a network of sensor stations connected with a central server for measuring of air quality. Local clocks of sensor stations can be advanced/delayed with respect to the central server clock and this situation provokes the inaccuracy in the interpretation of the collected data. We propose a novel approach, supported by a formal representation of the network using fuzzy-timed automata, to precisely represent the expected behaviour of each component of the network. Using fuzzy logic concepts, we can specify admissible mismatches between the clocks. In addition, we apply complex event processing (CEP) technology in order to automatically detect situations of interest while processing the massive amount of data transferred across the network. Specifically, we have designed a collection of CEP patterns that trigger alarms when unexpected differences are observed. We also report the results obtained from the application of our approach to the network during December 2016

    A definition-by-example approach and visual language for activity patterns in engineering disciplines

    Get PDF
    Modeling tools are well established in software development. A model is the result of a series of modeling activities. The ability to recognize when a user is working on a certain modeling activity opens up a range of possibilities for context-sensitive support. One possible way to support the user is offering the auto-completion of the current task. The recognition of modeling activities is typically carried out by matching event patterns against events emitted by a user's editing operations. A user that intends to add or customize auto-completions must be able to easily understand and create activity definitions. However, defining the currently required complex event patterns is a challenging and error-prone task even for a person with an intensive knowledge of event-processing languages. In this paper, we propose the visual definition language VisPaRec accompanied by a method that allows creating activity definitions in a semi-automated and graphical way. We evaluate our visual definition language in a comparative user study against the generic event-processing language Rapide. We found that the proposed visual representation increases comprehensibility while reducing time for constructing and modifying activity definitions significantly

    Methods and Tools for Management of Distributed Event Processing Applications

    Get PDF
    Die Erfassung und Verarbeitung von Ereignissen aus cyber-physischen Systemen bietet Anwendern die Möglichkeit, kontinuierlich über Leistungsdaten und aufkommende Probleme unterrichtet zu werden (Situational Awareness) oder Wartungsprozesse zustandsabhängig zu optimieren (Condition-based Maintenance). Derartige Szenarien verlangen aufgrund der Vielzahl und Frequenz der Daten sowie der Anforderung einer echtzeitnahen Auswertung den Einsatz geeigneter Technologien. Unter dem Namen Event Processing haben sich dabei Technologien etabliert, die in der Lage sind, Datenströme in Echtzeit zu verarbeiten und komplexe Ereignismuster auf Basis räumlicher, zeitlicher oder kausaler Zusammenhänge zu erkennen. Gleichzeitig sind heute in diesem Bereich verfügbare Systeme jedoch noch durch eine hohe technische Komplexität der zugrunde liegenden deklarativen Sprachen gekennzeichnet, die bei der Entwicklung echtzeitfähiger Anwendungen zu langsamen Entwicklungszyklen aufgrund notwendiger technischer Expertise führt. Gerade diese Anwendungen weisen allerdings häufig eine hohe Dynamik in Bezug auf Veränderungen von Anforderungen der zu erkennenden Situationen, aber auch der zugrunde liegenden Sensordaten hinsichtlich ihrer Syntax und Semantik auf. Der primäre Beitrag dieser Arbeit ermöglicht Fachanwendern durch die Abstraktion von technischen Details, selbständig verteilte echtzeitfähige Anwendungen in Form von sogenannten Echtzeit-Verarbeitungspipelines zu erstellen, zu bearbeiten und auszuführen. Die Beiträge der Arbeit lassen sich wie folgt zusammenfassen: 1. Eine Methodik zur Entwicklung echtzeitfähiger Anwendungen unter Berücksichtigung von Erweiterbarkeit sowie der Zugänglichkeit für Fachanwender. 2. Modelle zur semantischen Beschreibung der Charakteristika von Ereignisproduzenten, Ereignisverarbeitungseinheiten und Ereigniskonsumenten. 3. Ein System zur Ausführung von Verarbeitungspipelines bestehend aus geographisch verteilten Ereignisverarbeitungseinheiten. 4. Ein Software-Artefakt zur graphischen Modellierung von Verarbeitungspipelines sowie deren automatisierter Ausführung. Die Beiträge werden in verschiedenen Szenarien aus den Bereichen Produktion und Logistik vorgestellt, angewendet und evaluiert

    Model-Driven Development of Domain-Specific Interfaces for Complex Event Processing in Service-Oriented Architectures

    Get PDF
    Juan Boubeta-Puig has been honoured with the Extraordinary PhD Award.En la actualidad, las empresas y organizaciones de todo el planeta necesitan gestionar cada día una ingente cantidad de datos provenientes de fuentes muy diversas, tales como aplicaciones propias y de terceros, servicios web, sensores, plataformas de Internet de las cosas o redes sociales, con el fin de llevar a cabo la toma de decisiones. Un buen proceso de toma de decisiones requiere, entre otros factores, conocer tan pronto como sea posible cuál es el valor que tienen dichos datos para el negocio empresarial. La realización de un exhaustivo análisis de datos, así como una actuación temprana en relación a las situaciones críticas o relevantes que supongan una amenaza para la empresa, permitirá que esta se posicione por encima de sus competidores. No obstante, se trata de un proceso bastante complejo, debido, entre otras razones, a que gran parte de estos datos son heterogéneos - no comparten un formato común - y además deberían procesarse en tiempo real. En este contexto, el procesamiento de eventos complejos o CEP (Complex Event Processing) es una de las tecnologías software que permite analizar y correlacionar grandes volúmenes de datos en forma de eventos con el propósito de detectar situaciones de una mayor complejidad semántica, así como inferir conocimiento valioso que ayudará en el proceso de toma de decisiones. Para ello, se hace uso de los denominados patrones de eventos en los que se especifican las condiciones que han de cumplirse para detectar dichas situaciones de interés. A pesar de las grandes ventajas que CEP puede aportar en el ámbito empresarial, supone un gran reto para los usuarios que son expertos en el negocio, pero que carecen de la experiencia y los conocimientos necesarios para el uso de esta tecnología. Uno de los principales problemas a los que deben enfrentarse estos usuarios es precisamente la definición de dichos patrones usando algún lenguaje concreto, los denominados lenguajes de procesamiento de eventos o EPL (Event Processing Language). Aunque algunas soluciones software actuales ofrecen herramientas gráficas con la finalidad de solventar este problema, estas no son lo suficientemente amigables, puesto que requieren que el usuario escriba manualmente, al menos, una parte del código necesario para la definición de los patrones. Por otra parte, los sistemas de información actuales tienden a estar basados en arquitecturas orientadas a servicios o SOA (Service-Oriented Architecture), debido a que este tipo de arquitectura software permite desarrollar sistemas distribuidos altamente escalables e integrables con otros sistemas propios o de terceros. Recientemente, estas se están combinando con las arquitecturas dirigidas por eventos o EDA (Event-Driven Architecture) dando como resultado las denominadas arquitecturas orientadas a servicios y dirigidas por eventos - ED-SOA (Event-Driven Service-Oriented Architecture) o SOA 2.0, que se caracterizan porque las comunicaciones entre los usuarios, las aplicaciones y los servicios se realizan por medio de eventos de una forma totalmente desacoplada. Para detectar, en tiempo real, situaciones críticas o relevantes en estos sistemas complejos y heterogéneos, así como de ejecutar las acciones pertinentes, se hace necesaria la integración de CEP con SOA 2.0. Con el fin de dar respuesta a estas necesidades, la investigación llevada a cabo en esta tesis doctoral se ha centrado en el desarrollo dirigido por modelos de interfaces específicas de dominio para CEP en SOA 2.0, con el objeto de facilitar a los expertos en el negocio la definición tanto de los patrones que necesiten detectar en sus sistemas de información, como de las alertas que deban notificarse en tiempo real. Para lograrlo, se ha propuesto un enfoque dirigido por modelos para CEP en SOA 2.0, un lenguaje de modelado y un editor gráfico para la definición de dominios CEP, un lenguaje de modelado y un editor gráfico reconfigurable para la definición y la generación de código de patrones de eventos, así como una solución tecnológica que integra CEP con SOA 2.0. Para la evaluación del enfoque se han desarrollado dos casos de estudio que confirman que este es independiente del dominio donde se aplique. Asimismo, se concluye que los lenguajes definidos son independientes del código que implemente los patrones de eventos y las acciones a llevar a cabo, así como que los editores gráficos facilitan todo esto de una forma amigable e intuitiva, y haciendo los detalles de implementación totalmente transparentes para los expertos en el negocio. Se trata, por tanto, de un enfoque novedoso que pone la tecnología CEP al alcance de cualquier usuario, repercutiendo beneficiosamente en el proceso de toma de decisiones.Nowadays, companies and organizations all around the world need to manage huge amounts of data from heterogeneous sources - such as own and third-party applications, web services, sensors, Internet of things platforms or social networks - every day in order to conduct the decision-making process. To be successful, a decision-making process requires, among other factors, prompt information regarding what the value of such data is for the business in question. A thorough analysis of data, as well as early action for critical or relevant situations considered as threats for an organization, will allow the organization to be positioned above its competitors. Nevertheless, it is a complex process since, among other reasons, data are heterogeneous - they do not share a common format - and they should be processed in real time. In this context, Complex Event Processing (CEP) is a technology that allows the analysis and correlation of large volumes of data with the aim of detecting complex and meaningful events, and of inferring valuable knowledge for end users. This knowledge will be really helpful in the decision-making process. To do this, so-called event patterns are used. These patterns specify which conditions must be met in order to detect such situations of interest. Despite the great advantages that CEP can bring to a business, it is a substantial challenge for users who are business experts, but do not have the necessary experience and knowledge for the use of this technology. One of the main problems these users have to face is precisely the definition of these event patterns using particular languages, those called Event Processing Languages (EPLs). Although some current software solutions provide graphical tools in order to solve this problem, none of them are user-friendly enough, since they require users to hand-write at least a portion of the code for the pattern definition. On the other hand, current information systems tend to be based on Service-Oriented Architectures (SOAs) due to the fact that this type of software architecture allows the development of highly scalable distributed systems as well as their integration with own and third-party systems. Recently, these are being combined with Event-Driven Architectures (EDAs), what is known as Event-Driven Service-Oriented Architectures (ED-SOAs or SOAs 2.0). The latter enable us to establish decoupled communications between users, applications and services. The integration of CEP with SOA 2.0 is a requirement to be able to detect real-time, relevant or critical situations in these complex and heterogeneous systems, as well as for the execution of the appropriate actions. In order to respond to these needs, the research carried out in this thesis has focused on the model-driven development of domain-specific interfaces for CEP in SOAs 2.0, with the aim of facilitating the task of defining both event patterns to be detected and alerts for real time notification for domain experts. To reach this goal, the following contributions have been supplied: a model-driven approach for CEP in SOA 2.0, a modeling language and a graphical editor for CEP domain definition, a modeling language and a reconfigurable graphical editor for event pattern definition and code generation, as well as a technological solution integrating CEP with SOA 2.0. The approach has been evaluated through the development of two case studies that have confirmed independence of the approach from the application domain. Besides, we can assert that the proposed languages are independent of event patterns and actions implementation code and that user-friendly and intuitive graphical editors hide all the implementation details from end users. This is therefore a novel approach for bringing CEP technology closer to any user, positively impacting the decision making process

    Arquitecturas software y herramientas de modelado para la integración del procesamiento de eventos complejos y blockchain

    Get PDF
    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.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

    Ingeniería basada en modelos aplicada a sistemas distribuidos sensibles al contexto.

    Get PDF
    239 p.En esta Tesis Doctoral se plantea una metodología, soportada por mecanismos y herramientas, que da soporte al ciclo de desarrollo de aplicaciones distribuidas sensibles al contexto, aquéllas que supervisan su entorno físico con objeto de detectar cambios en él y reaccionar rápida y adecuadamente. Son aplicaciones presentes en diferentes campos de aplicación que demandan requisitos tales como ejecución en entornos distribuidos y heterogéneos, personalización de la supervisión, adaptación a cambios relevantes en su contexto, gestión de la calidad específica de cada aplicación, disponibilidad y recuperación ante situaciones de fallo. En concreto, se propone una aproximación de modelado genérica que permite la especificación y diseño de estas aplicaciones, independientemente de la plataforma de gestión responsable de su ejecución y atendiendo a los diferentes expertos que participan: expertos de dominio y desarrolladores de software. Se hace uso de la ingeniería dirigida por modelos para lograr la separación de dominios necesaria. Así, el experto de dominio realiza el diseño arquitectónico en el que se especifican todos sus requisitos, mientras que el desarrollador de software se centra en el diseño e implementación de la solución software correspondiente. Por tanto, la aproximación de modelado recoge los requisitos de las aplicaciones que una plataforma de gestión debe cumplir en tiempo de ejecución, al mismo tiempo que captura la información necesaria para la generación de su código. También se plantea un entorno de desarrollo integrado, basado en dicha aproximación, que da soporte al ciclo de desarrollo, cuyo prototipo se ha validado en un demostrador en el campo de la asistencia domiciliaria
    corecore