7 research outputs found
AIOCJ: A Choreographic Framework for Safe Adaptive Distributed Applications
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.
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
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
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
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