7 research outputs found

    AIOCJ: A Choreographic Framework for Safe Adaptive Distributed Applications

    Get PDF
    We present AIOCJ, a framework for programming distributed adaptive applications. Applications are programmed using AIOC, a choreographic language suited for expressing patterns of interaction from a global point of view. AIOC allows the programmer to specify which parts of the application can be adapted. Adaptation takes place at runtime by means of rules, which can change during the execution to tackle possibly unforeseen adaptation needs. AIOCJ relies on a solid theory that ensures applications to be deadlock-free by construction also after adaptation. We describe the architecture of AIOCJ, the design of the AIOC language, and an empirical validation of the framework.Comment: Technical Repor

    AIOCJ: A Choreographic Framework for Safe Adaptive Distributed Applications.

    Get PDF
    We present AIOCJ, a framework for programming distributed adaptive applications. Applications are programmed using AIOC, a choreographic language suited for expressing patterns of interaction from a global point of view. AIOC allows the programmer to specify which parts of the application can beadapted. Adaptation takes place at runtime by means of rules, which can change during the execution to tackle possibly unforeseen adaptation needs. AIOCJ relies on a solid theory that ensures applications to be deadlock-free by construction also after adaptation. We describe the architecture of AIOCJ, the design of the AIOC language, and an empirical validation of the framework

    Dynamic Choreographies: Theory And Implementation

    Get PDF
    Programming distributed applications free from communication deadlocks and race conditions is complex. Preserving these properties when applications are updated at runtime is even harder. We present a choreographic approach for programming updatable, distributed applications. We define a choreography language, called Dynamic Interaction-Oriented Choreography (AIOC), that allows the programmer to specify, from a global viewpoint, which parts of the application can be updated. At runtime, these parts may be replaced by new AIOC fragments from outside the application. AIOC programs are compiled, generating code for each participant in a process-level language called Dynamic Process-Oriented Choreographies (APOC). We prove that APOC distributed applications generated from AIOC specifications are deadlock free and race free and that these properties hold also after any runtime update. We instantiate the theoretical model above into a programming framework called Adaptable Interaction-Oriented Choreographies in Jolie (AIOCJ) that comprises an integrated development environment, a compiler from an extension of AIOCs to distributed Jolie programs, and a runtime environment to support their execution.Comment: arXiv admin note: text overlap with arXiv:1407.097

    Tendências do BPM

    Get PDF
    Dissertação de mestrado integrado em Engenharia e Gestão de Sistemas de InformaçãoAtualmente, as organizações encontram-se inseridas em ambientes de mercado cada vez mais competitivos, deparando-se com várias dificuldades, em que face a estas, necessitam de encontrar soluções. Por essa razão, viram o BPM como uma solução para melhorar o seu negócio. Um dos objetivos do BPM é ter a capacidade de identificar, monitorar e otimizar processos de negócio cujo resultado final é um conjunto de atividades realizadas. Com base nesta monitorização e otimização, as organizações tornam-se capazes de identificar possíveis lacunas nos seus processos e com isto melhorá-los. Com isto, verificou-se a falta de informação existente cientificamente em relação à identificação de novas tendências para o BPM. Neste sentido, com este trabalho propomos realizar uma investigação seguindo a metodologia de pesquisa em Design Science Research, em que iniciamos uma pesquisa de levantamento de tendência seguindo a abordagem proposta por Webster e Watson (2002), com base em duas conferências internacionais em BPM de ranking elevado, em que se identificou os tópicos mais abordados como também problemas e soluções desde 2013 até 2015. Posteriormente, com informação recolhida ao longo de três anos, através da criação de um framework identificamos algumas tendências para o BPM, de forma a melhorá-lo. Para garantir a credibilidade dos resultados, através da criação de um inquérito por questionário realizou-se a avaliação dos resultados obtidos.Nowadays, the market gets more and more competitive, thus companies need to learn how to manage and find the right solutions for their business when facing challenges. For that reason, they saw BPM as a great tool to expand their business. One of the features of BPM is the capacity to identify, monetize and optimize processes within the business which ultimately allow for an aggregation of performed activities. Thanks to these features, the business have been capable of identifying possible gaps in their processes and how to improve them. With this, it was verified the lack of scientific information regarding the identification of new trends for BPM. Therefore, with this work we propose to conduct an investigation that follows the searching methodology in Design Science Research, where we initiate a search of lifting trends as proposed by Webster and Watson (2002). This is based on two international conferences on BPM, in which it identified the most discussed topics and also the problems and solutions since 2013 until 2015. After this investigation, with collected information over 3 years, through the creation of framework we identify some BPM trends. To approve this results, we created a survey that was held an evaluation of the final results

    Corrective Evolution of Adaptable Process Models

    Get PDF
    Modeling business processes is a complex and time-consuming task, which can be simplified by allowing process instances to be structurally adapted at runtime, based on context (e.g., by adding or deleting activities). The process model then no longer needs to include a handling procedure for every exception that can occur. Instead, it only needs to include the assumptions under which a successful execution is guaranteed. If a design-time assumption is violated, the exception handling procedure matching the context is selected at runtime. However, if runtime structural adaptation is allowed, the process model may later need to be updated based on the logs of adapted process instances. Evolving the process model is necessary if adapting at run-time is too costly, or if certain adaptations fail and should be avoided. An issue that is insufficiently addressed in the previous work on process evolution is how to evolve a process model and also ensure that the evolved process model continues to achieve the goal of the original model. We refer to the problem of evolving a process model based on selected instance adaptations, such that the evolved model satisfies the goal of the original model, as corrective evolution. Automated techniques for solving the corrective evolution problem are necessary for two reasons. First, the more complex a process model is, the more difficult it is to be changed manually. Second, there is a need to verify that the evolved model satisfies the original goal. To develop automated techniques, we first formalize the problem of corrective evolution. Since we use a graph-based representation of processes, a key element in our formal model is the notion of trace. When plugging an instance adaptation at a particular point in the process model, there can be multiple paths in the model for reaching this point. Each of these paths is uniquely identified by a trace, i.e., a recording of the activities executed up to that point. Depending on traces, an instance adaptation can be used to correct the process model in three different ways. A correction is strict if the adaptation should be plugged in on a precise trace, relaxed if on all traces, and relaxed with conditions if on a subset of all traces. The choice is driven by competing concerns: the evolved model should not introduce untested behavior, but it should also remain understandable. Using our formal model, we develop automated techniques for solving the corrective evolution problem in two cases. The first case is also the most restrictive, when all corrections are strict. This case does not require verification, since the process model and adaptations are assumed to satisfy the goal, as long as the adaptations are applied on the corresponding traces. The second case is when corrections are either strict or relaxed. This second case requires verification, and for this reason we develop an automated technique based on planning. We implemented the two automated techniques as tools, which are integrated into a common toolkit. We used this toolkit to evaluate the tradeoffs between applying strict and relaxed corrections on a scenario built on a real event log
    corecore