16 research outputs found

    Quantitative Analysis of Apache Storm Applications: The NewsAsset Case Study

    Get PDF
    The development of Information Systems today faces the era of Big Data. Large volumes of information need to be processed in real-time, for example, for Facebook or Twitter analysis. This paper addresses the redesign of NewsAsset, a commercial product that helps journalists by providing services, which analyzes millions of media items from the social network in real-time. Technologies like Apache Storm can help enormously in this context. We have quantitatively analyzed the new design of NewsAsset to assess whether the introduction of Apache Storm can meet the demanding performance requirements of this media product. Our assessment approach, guided by the Unified Modeling Language (UML), takes advantage, for performance analysis, of the software designs already used for development. In addition, we converted UML into a domain-specific modeling language (DSML) for Apache Storm, thus creating a profile for Storm. Later, we transformed said DSML into an appropriate language for performance evaluation, specifically, stochastic Petri nets. The assessment ended with a successful software design that certainly met the scalability requirements of NewsAsset

    Response Time Analysis of Distributed Web Systems Using QPNs

    Get PDF

    Verification of soundness and other properties of business processes

    Get PDF
    In this thesis we focus on improving current modeling and verification techniques for complex business processes. The objective of the thesis is to consider several aspects of real-life business processes and give specific solutions to cope with their complexity. In particular, we address verification of a proper termination property for workflows, called generalized soundness. We give a new decision procedure for generalized soundness that improves the original decision procedure. The new decision procedure reports on the decidability status of generalized soundness and returns a counterexample in case the workflow net is not generalized sound. We report on experimental results obtained with the prototype implementation we made and describe how to verify large workflows compositionally, using reduction rules. Next, we concentrate on modeling and verification of adaptive workflows — workflows that are able to change their structure at runtime, for instance when some exceptional events occur. In order to model the exception handling properly and allow structural changes of the system in a modular way, we introduce a new class of nets, called adaptive workflow nets. Adaptive workflow nets are a special type of Nets in Nets and they allow for creation, deletion and transformation of net tokens at runtime and for two types of synchronizations: synchronization on proper termination and synchronization on exception. We define some behavioral properties of adaptive workflow nets: soundness and circumspectness and employ an abstraction to reduce the verification of these properties to the verification of behavioral properties of a finite state abstraction. Further, we study how formal methods can help in understanding and designing business processes. We investigate this for the extended event-driven process chains (eEPCs), a popular industrial business process language used in the ARIS Toolset. Several semantics have been proposed for EPCs. However, most of them concentrated solely on the control flow. We argue that other aspects of business processes must also be taken into account in order to analyze eEPCs and propose a semantics that takes data and time information from eEPCs into account. Moreover, we provide a translation of eEPCs to Timed Colored Petri nets in order to facilitate verification of eEPCs. Finally, we discuss modeling issues for business processes whose behavior may depend on the previous behavior of the process, history which is recorded by workflow management systems as a log. To increase the precision of models with respect to modeling choices depending on the process history, we introduce history-dependent guards. The obtained business processes are called historydependent processes.We introduce a logic, called LogLogics for the specification of guards based on a log of a current running process and give an evaluation algorithm for such guards. Moreover, we show how these guards can be used in practice and define LogLogics patterns for properties that occur most commonly in practice

    Complex Event Processing Modeling by Prioritized Colored Petri Nets

    Get PDF
    Complex event processing (CEP) is a technology that allows us to process and correlate large volumes of data by using event patterns, aiming at promptly detecting specific situations that could require special treatment. The event types and event patterns for a particular application domain are implemented by using an event processing language (EPL). Although some current model-driven tools allow end users to easily define these patterns, which are then transformed automatically into a particular EPL, the generated code is syntactically but not semantically validated. To deal with this problem, a prioritized colored Petri net (PCPN) model for CEP is proposed and conducted in this paper. This well-known graphical formalism together with CPNTools makes possible the modeling, simulation, analysis, and semantic validation of complex event-based systems. To illustrate this approach, a case study is presented, as well as a discussion on the benefits from using PCPN for modeling CEP-based systems.El procesamiento de eventos complejos (CEP) es una tecnología que nos permite procesar y correlacionar grandes volúmenes de datos utilizando patrones de eventos, con el objetivo de detectar rápidamente situaciones específicas que podrían requerir un tratamiento especial. Los tipos de eventos y patrones de eventos para un dominio de aplicación particular se implementan utilizando un lenguaje de procesamiento de eventos (EPL). Aunque algunas herramientas actuales impulsadas por modelos permiten a los usuarios finales definir fácilmente estos patrones, que luego se transforman automáticamente en un EPL particular, el código generado se valida sintácticamente pero no semánticamente. Para abordar este problema, en este documento se propone y lleva a cabo un modelo de red de Petri coloreada y priorizada (PCPN) para CEP. Este formalismo gráfico bien conocido junto con CPNTools hace posible la modelización, simulación, análisis y validación semántica de sistemas basados en eventos complejos. Para ilustrar este enfoque, se presenta un estudio de caso, así como una discusión sobre los beneficios de usar PCPN para modelar sistemas basados en CEP.This work was supported in part by the Spanish Ministry of Science and Innovation and the European Union FEDER Funds with the Project DArDOS entitled Formal development and analysis of complex systems in distributed contexts: foundations, tools and applications under Grant TIN2015-65845-C3, subprojects 2-R and 3-R, and the Research Network on Services Science and Engineering under Grant TIN2014-53986-REDT, and in part by the University of Cádiz under Project PR2016-032

    Performance Analysis of Apache Storm Applications using Stochastic Petri Nets

    Get PDF
    Real-time data-processing applications, such as those developed using Apache Storm, need to address highly demanding performance requirements. Engineers should assess these performance requirements while they configure their Storm designs to specific execution contexts, i.e., multi-user private or public cloud infrastructures. To this end, we propose a quality-driven framework for Apache Storm, that covers the following steps. The design with UML, using a novel profile for Apache Storm, allowing performance metrics definition. The transformation of the design into a performance model, con- cretely stochastic Petri nets. Last but not least, the simulation of the performance model and the retrieval of performance results

    Control techniques for thermal-aware energy-efficient real time multiprocessor scheduling

    Get PDF
    La utilización de microprocesadores multinúcleo no sólo es atractiva para la industria sino que en muchos ámbitos es la única opción. La planificación tiempo real sobre estas plataformas es mucho más compleja que sobre monoprocesadores y en general empeoran el problema de sobre-diseño, llevando a la utilización de muchos más procesadores /núcleos de los necesarios. Se han propuesto algoritmos basados en planificación fluida que optimizan la utilización de los procesadores, pero hasta el momento presentan en general inconvenientes que los alejan de su aplicación práctica, no siendo el menor el elevado número de cambios de contexto y migraciones.Esta tesis parte de la hipótesis de que es posible diseñar algoritmos basados en planificación fluida, que optimizan la utilización de los procesadores, cumpliendo restricciones temporales, térmicas y energéticas, con un bajo número de cambios de contexto y migraciones, y compatibles tanto con la generación fuera de línea de ejecutivos cíclicos atractivos para la industria, como de planificadores que integran técnicas de control en tiempo de ejecución que permiten la gestión eficiente tanto de tareas aperiódicas como de desviaciones paramétricas o pequeñas perturbaciones.A este respecto, esta tesis contribuye con varias soluciones. En primer lugar, mejora una metodología de modelo que representa todas las dimensiones del problema bajo un único formalismo (Redes de Petri Continuas Temporizadas). En segundo lugar, propone un método de generación de un ejecutivo cíclico, calculado en ciclos de procesador, para un conjunto de tareas tiempo real duro sobre multiprocesadores que optimiza la utilización de los núcleos de procesamiento respetando también restricciones térmicas y de energía, sobre la base de una planificación fluida. Considerar la sobrecarga derivada del número de cambios de contexto y migraciones en un ejecutivo cíclico plantea un dilema de causalidad: el número de cambios de contexto (y en consecuencia su sobrecarga) no se conoce hasta generar el ejecutivo cíclico, pero dicho número no se puede minimizar hasta que se ha calculado. La tesis propone una solución a este dilema mediante un método iterativo de convergencia demostrada que logra minimizar la sobrecarga mencionada.En definitiva, la tesis consigue explotar la idea de planificación fluida para maximizar la utilización (donde maximizar la utilización es un gran problema en la industria) generando un sencillo ejecutivo cíclico de mínima sobrecarga (ya que la sobrecarga implica un gran problema de los planificadores basados en planificación fluida).Finalmente, se propone un método para utilizar las referencias de la planificación fuera de línea establecida en el ejecutivo cíclico para su seguimiento por parte de un controlador de frecuencia en línea, de modo que se pueden afrontar pequeñas perturbaciones y variaciones paramétricas, integrando la gestión de tareas aperiódicas (tiempo real blando) mientras se asegura la integridad de la ejecución del conjunto de tiempo real duro.Estas aportaciones constituyen una novedad en el campo, refrendada por las publicaciones derivadas de este trabajo de tesis.<br /

    Profiling the publish/subscribe paradigm for automated analysis using colored Petri nets

    Get PDF
    UML sequence diagrams are used to graphically describe the message interactions between the objects participating in a certain scenario. Combined fragments extend the basic functionality of UML sequence diagrams with control structures, such as sequences, alternatives, iterations, or parallels. In this paper, we present a UML profile to annotate sequence diagrams with combined fragments to model timed Web services with distributed resources under the publish/subscribe paradigm. This profile is exploited to automatically obtain a representation of the system based on Colored Petri nets using a novel model-to-model (M2M) transformation. This M2M transformation has been specified using QVT and has been integrated in a new add-on extending a state-of-the-art UML modeling tool. Generated Petri nets can be immediately used in well-known Petri net software, such as CPN Tools, to analyze the system behavior. Hence, our model-to-model transformation tool allows for simulating the system and finding design errors in early stages of system development, which enables us to fix them at these early phases and thus potentially saving development costs

    Predicting Performance in a PaaS Environment: a Case Study for a Web Application

    Get PDF
    This paper demonstrates how the combination of simulation and real-world experiments can be used to aid decisions concerning the performance of a distributed application. It presents a case study of performance analysis carried out for a commercial application implementing a web-based API server for mobile clients. The application was deployed on the Heroku cloud-based Platform as a Service (PaaS). The analysis described in this paper provided information required to choose the proper configuration of resources for the software. Simulation was used in the research to identify factors crucial to the performance of the application. This allowed for the preparation of basic experiments concentrating on these factors. Consequently, the basic parameters of resources crucial for the efficiency of the application could be benchmarked at insignificant cost and effort. This approach allows us to reliably aid decisions concerning resource configuration for an analyzed application. The simulation method used in this research is based on the formalism of Timed Colored Petri Nets, but the complexity of formal modeling is hidden from its users. Application developers are able to conveniently create a high-level model of their designs and perform simulations, while the reliability of the results is ensured by the formalism. The paper demonstrates the usefulness of the simulation method for analyzing real-world distributed systems

    A SysML profile for smart city applications

    Get PDF
    A smart city is an urban center that integrates a variety of solutions to enhance infrastructure performance and achieve sustainable urban development. Urban roads are a critical infrastructure highly demanded by citizens and organizations interested in their deployment, performance, and safety. Urban traffic signal control is a major and challenging problem in the real world, which aims to monitor and enhance traffic congestion. Therefore, the deployment of traffic signals for vehicles or pedestrians at a junction is a complex activity, as it is necessary to establish rules to control the flow of vehicles and pedestrians. Also, traffic flow at intersections changes constantly, depending on weather conditions, day of the week, and period of the year, as well as road works and accidents that further influence complexity and performance. This thesis first describes SmartCitySysML, a proposed profile that adapts SysML with special elements that are specific to smart cities. In addition, an extension of the SmartCitySysML profile to the design of the dimensions of smart cities is proposed. Finally, integration of models is performed, that is, the integration of the SmartCitySysML profile with Petri Net to separately model the basic architectural elements (sensor, controller, and actuator) of an urban traffic control system as sub-models to describe the behavior of each element, and the integration of the SmartCitySysML profile with Timed Coloured Petri Nets (TCPN) for modeling, simulation, and verification of properties of an urban traffic signal control system. CPN tools allow the evaluation of the model behavior through simulation and property verification and perform a simulation-based performance. Model simulation allows observing the behavior of the system under conditions that would be difficult to organize in a truly controlled environment. Consequently, a preliminary evaluation can be performed in the early stages of system development, significantly reducing costs of improvements and increasing quality of the final product.Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPESUma cidade inteligente é um centro urbano que integra uma variedade de soluções para melhorar o desempenho da infraestrutura e alcançar um desenvolvimento urbano sustentável. As estradas urbanas são uma infraestrutura crucial altamente exigida pelos cidadãos e organizações interessadas em sua implantação, desempenho e segurança. O controle de sinais de trânsito urbano é um problema importante e desafiador no mundo real, que visa monitorar e melhorar o congestionamento de trânsito. Portanto, a implantação de semáforos para veículos ou pedestres em um cruzamento é uma atividade complexa, pois é necessário estabelecer regras para controlar o fluxo de veículos e pedestres. O fluxo de tráfego no cruzamento muda constantemente, dependendo das condições climáticas, dia da semana e período do ano, assim como obras e acidentes rodoviários que influenciam ainda mais a complexidade e o desempenho. Esta dissertação descreve primeiro o SmartCitySysML, um perfil proposto que adapta a SysML com elementos especiais que são específicos para cidades inteligentes. Depois, é elaborada uma extensão do perfil SmartCitySysML para o design das dimensões das cidades inteligentes. Em seguida, é realizada a integração de modelos, ou seja, a integração do perfil SmartCitySysML com Redes de Petri para modelar separadamente os elementos arquiteturais básicos (sensor, controlador e atuador) de um sistema de controle de tráfego urbano como sub-modelos para demonstrar o comportamento de cada elemento, e a integração do perfil SmartCitySysML com Redes de Petri Colorida Temporizada (TCPN) para modelagem, simulação e verificação de propriedades do sistema de controle de sinais de trânsito urbano. As ferramentas CPN permitem avaliar o comportamento do modelo por meio de simulação e verificação de propriedades e realizar um desempenho baseado em simulação. A simulação de modelos permite observar o comportamento do sistema sob condições que seriam difíceis de organizar em um ambiente realmente controlado. Consequentemente, uma avaliação preliminar pode ser realizada nos estágios iniciais de desenvolvimento do sistema, reduzindo significativamente os custos de melhorias e aumentando a qualidade do produto final.São Cristóvão, S
    corecore