18 research outputs found

    Engineering framework for service-oriented automation systems

    Get PDF
    Tese de doutoramento. Engenharia Informática. Universidade do Porto. Faculdade de Engenharia. 201

    Verification of communication protocols in web-services

    Get PDF
    The last decade has seen a massive migration towards the service oriented paradigm that has resulted in 1) resolving the software interoperability issues, 2) increased re-usability of the code, 3) easy inter-application communications, and 4) significant cost reduction. However, individual web-services seldom meet the business requirements of an application. Usually an application life-cycle involves interacting with several web-services based on its workflow. Considering that this might require 1) sharing data with multiple services, 2) tracking the response for each service request, 3) tracking and compensating the service failures, etc., usually a domain-specific language is used for service composition. Each service has an interface to outline its functionality and they are composed based on these interfaces. Nevertheless, any error or omission in these exposed interfaces could result in a myriad of glitches in the composition and the overlying application. This is further exacerbated by dynamic service composition techniques wherein services could be added, removed or updated at runtime. Consequently service consuming applications heavily depend on the verification techniques to vouch for their reliability and usability. The scope of applications based on service composition is rapidly expanding into critical domains where the stakes are high (e.g. stock markets). Consequently their reliability cannot be solely based on testing, wherein educated guesses are involved. Model-checking is a formal method that has an unprecedented ability to endorse the correctness of a system. It involves modeling a system before verifying it for a set of properties using a model-checking tool. However it has hitherto been sparingly used because of the associated time and memory requirements. This thesis proposes novel solutions to deal with these limitations in verifying a service composition. We propose a technique for modeling a service composition prior to verifying it using a model-checking tool. Compared to existing techniques that are ad-hoc and temporary, our solution streamlines the transformation by introducing a generic framework that transforms the composition into intermediate data transfer objects (DTOs) before the actual modeling. These DTOs help in automating the transformation by allowing access to the required information programmatically. The experimental results indicate that the framework takes less than a second (on average) in transforming BPEL specifications. The solution is made more appealing by further reducing the aforementioned time and memory requirements for model-checking. The additional reduction in memory is attributed to storing the states as the difference from an adjoining state. The reduction in time is realized by exploring the modules of a hierarchical model concurrently. These techniques offer up to 95% reduction in memory requirements and 86% reduction in time requirements. Furthermore, the time reduction technique is also extended to non-hierarchical models. This involves introducing hierarchy into a flat model in linear time before applying the time reduction techniques. As compared to other techniques, our method ensures that the transformed model is equivalent to the original model

    (I) A Declarative Framework for ERP Systems(II) Reactors: A Data-Driven Programming Model for Distributed Applications

    Get PDF
    To those who can be swayed by argument and those who know they do not have all the answers This dissertation is a collection of six adapted research papers pertaining to two areas of research. (I) A Declarative Framework for ERP Systems: • POETS: Process-Oriented Event-driven Transaction Systems. The paper describes an ontological analysis of a small segment of the enterprise domain, namely the general ledger and accounts receivable. The result is an event-based approach to designing ERP systems and an abstract-level sketch of the architecture. • Compositional Specification of Commercial Contracts. The paper de-scribes the design, multiple semantics, and use of a domain-specific lan-guage (DSL) for modeling commercial contracts. • SMAWL: A SMAll Workflow Language Based on CCS. The paper show

    The 5th Conference of PhD Students in Computer Science

    Get PDF

    Process mining : conformance and extension

    Get PDF
    Today’s business processes are realized by a complex sequence of tasks that are performed throughout an organization, often involving people from different departments and multiple IT systems. For example, an insurance company has a process to handle insurance claims for their clients, and a hospital has processes to diagnose and treat patients. Because there are many activities performed by different people throughout the organization, there is a lack of transparency about how exactly these processes are executed. However, understanding the process reality (the "as is" process) is the first necessary step to save cost, increase quality, or ensure compliance. The field of process mining aims to assist in creating process transparency by automatically analyzing processes based on existing IT data. Most processes are supported by IT systems nowadays. For example, Enterprise Resource Planning (ERP) systems such as SAP log all transaction information, and Customer Relationship Management (CRM) systems are used to keep track of all interactions with customers. Process mining techniques use these low-level log data (so-called event logs) to automatically generate process maps that visualize the process reality from different perspectives. For example, it is possible to automatically create process models that describe the causal dependencies between activities in the process. So far, process mining research has mostly focused on the discovery aspect (i.e., the extraction of models from event logs). This dissertation broadens the field of process mining to include the aspect of conformance and extension. Conformance aims at the detection of deviations from documented procedures by comparing the real process (as recorded in the event log) with an existing model that describes the assumed or intended process. Conformance is relevant for two reasons: 1. Most organizations document their processes in some form. For example, process models are created manually to understand and improve the process, comply with regulations, or for certification purposes. In the presence of existing models, it is often more important to point out the deviations from these existing models than to discover completely new models. Discrepancies emerge because business processes change, or because the models did not accurately reflect the real process in the first place (due to the manual and subjective creation of these models). If the existing models do not correspond to the actual processes, then they have little value. 2. Automatically discovered process models typically do not completely "fit" the event logs from which they were created. These discrepancies are due to noise and/or limitations of the used discovery techniques. Furthermore, in the context of complex and diverse process environments the discovered models often need to be simplified to obtain useful insights. Therefore, it is crucial to be able to check how much a discovered process model actually represents the real process. Conformance techniques can be used to quantify the representativeness of a mined model before drawing further conclusions. They thus constitute an important quality measurement to effectively use process discovery techniques in a practical setting. Once one is confident in the quality of an existing or discovered model, extension aims at the enrichment of these models by the integration of additional characteristics such as time, cost, or resource utilization. By extracting aditional information from an event log and projecting it onto an existing model, bottlenecks can be highlighted and correlations with other process perspectives can be identified. Such an integrated view on the process is needed to understand root causes for potential problems and actually make process improvements. Furthermore, extension techniques can be used to create integrated simulation models from event logs that resemble the real process more closely than manually created simulation models. In Part II of this thesis, we provide a comprehensive framework for the conformance checking of process models. First, we identify the evaluation dimensions fitness, decision/generalization, and structure as the relevant conformance dimensions.We develop several Petri-net based approaches to measure conformance in these dimensions and describe five case studies in which we successfully applied these conformance checking techniques to real and artificial examples. Furthermore, we provide a detailed literature review of related conformance measurement approaches (Chapter 4). Then, we study existing model evaluation approaches from the field of data mining. We develop three data mining-inspired evaluation approaches for discovered process models, one based on Cross Validation (CV), one based on the Minimal Description Length (MDL) principle, and one using methods based on Hidden Markov Models (HMMs). We conclude that process model evaluation faces similar yet different challenges compared to traditional data mining. Additional challenges emerge from the sequential nature of the data and the higher-level process models, which include concurrent dynamic behavior (Chapter 5). Finally, we point out current shortcomings and identify general challenges for conformance checking techniques. These challenges relate to the applicability of the conformance metric, the metric quality, and the bridging of different process modeling languages. We develop a flexible, language-independent conformance checking approach that provides a starting point to effectively address these challenges (Chapter 6). In Part III, we develop a concrete extension approach, provide a general model for process extensions, and apply our approach for the creation of simulation models. First, we develop a Petri-net based decision mining approach that aims at the discovery of decision rules at process choice points based on data attributes in the event log. While we leverage classification techniques from the data mining domain to actually infer the rules, we identify the challenges that relate to the initial formulation of the learning problem from a process perspective. We develop a simple approach to partially overcome these challenges, and we apply it in a case study (Chapter 7). Then, we develop a general model for process extensions to create integrated models including process, data, time, and resource perspective.We develop a concrete representation based on Coloured Petri-nets (CPNs) to implement and deploy this model for simulation purposes (Chapter 8). Finally, we evaluate the quality of automatically discovered simulation models in two case studies and extend our approach to allow for operational decision making by incorporating the current process state as a non-empty starting point in the simulation (Chapter 9). Chapter 10 concludes this thesis with a detailed summary of the contributions and a list of limitations and future challenges. The work presented in this dissertation is supported and accompanied by concrete implementations, which have been integrated in the ProM and ProMimport frameworks. Appendix A provides a comprehensive overview about the functionality of the developed software. The results presented in this dissertation have been presented in more than twenty peer-reviewed scientific publications, including several high-quality journals

    Product-based design and support of workflow processes

    Get PDF

    Automatiser le support de la variabilité dans les modèles de processus configurables

    Get PDF
    Today's fast changing environment imposes new challenges for effective management of business processes. In such a highly dynamic environment, the business process design becomes time-consuming, error-prone, and costly. Therefore, seeking reuse and adaptability is a pressing need for a successful business process design. Configurable reference models recently introduced were a step toward enabling a process design by reuse while providing flexibility. A configurable process model is a generic model that integrates multiple process variants of a same business process in a given domain through variation points. These variation points are referred to as configurable elements and allow for multiple design options in the process model. A configurable process model needs to be configured according to a specific requirement by selecting one design option for each configurable element.Recent research activities on configurable process models have led to the specification of configurable process modeling notations as for example configurable Event-Driven Process Chain (C-EPC) that extends the EPC notation with configurable elements. Since then, the issue of building and configuring configurable process models has been investigated. On the one hand, as configurable process models tend to be very complex with a large number of configurable elements, many automated approaches have been proposed to assist their design. However, existing approaches propose to recommend entire configurable process models which are difficult to reuse, cost much computation time and may confuse the process designer. On the other hand, the research results on configurable process model design highlight the need for means of support to configure the process. Therefore, many approaches proposed to build a configuration support system for assisting end users selecting desirable configuration choices according to their requirements. However, these systems are currently manually created by domain experts which is undoubtedly a time-consuming and error-prone task.In this thesis, we aim at automating the support of the variability in configurable process models. Our objective is twofold: (i) assisting the configurable process design in a fin-grained way using configurable process fragments that are close to the designers interest and (ii) automating the creation of configuration support systems in order to release the process analysts from the burden of manually building them. In order to achieve the first objective, we propose to learn from the experience gained through past process modeling in order to assist the process designers with configurable process fragments. The proposed fragments inspire the process designer to complete the design of the ongoing process. To achieve the second objective, we realize that previously designed and configured process models contain implicit and useful knowledge for process configuration. Therefore, we propose to benefit from the experience gained through past process modeling and configuration in order to assist process analysts building their configuration support systems. Such systems assist end users interactively configuring the process by recommending suitable configuration decisions.L'évolution rapide dans les environnements métier d'aujourd'hui impose de nouveaux défis pour la gestion efficace et rentable des processus métiers. Dans un tel environnement très dynamique, la conception des processus métiers devient une tâche fastidieuse, source d'erreurs et coûteuse. Par conséquent, l'adoption d'une approche permettant la réutilisation et l'adaptabilité devient un besoin urgent pour une conception de processus prospère. Les modèles de processus configurables récemment introduits représentent l'une des solutions recherchées permettant une conception de processus par la réutilisation, tout en offrant la flexibilité. Un modèle de processus configurable est un modèle générique qui intègre de multiples variantes de procédés d'un même processus métier à travers des points de variation. Ces points de variation sont appelés éléments configurables et permettent de multiples options de conception dans le modèle de processus. Un modèle de processus configurable doit être configuré selon une exigence spécifique en sélectionnant une option de conception pour chaque élément configurable.Les activités de recherche récentes sur les modèles de processus configurables ont conduit à la spécification des langages de modélisation de processus configurables comme par exemple configurable Event-Driven Process Chain (C-EPC) qui étend la notation de l'EPC avec des éléments configurables. Depuis lors, la question de la conception et de la configuration des modèles de processus configurables a été étudiée. D'une part, puisque les modèles de processus configurables ont tendance à être très complexe avec un grand nombre d'éléments configurables, de nombreuses approches automatisées ont été proposées afin d'assister leur conception. Cependant, les approches existantes proposent de recommander des modèles de processus configurables entiers qui sont difficiles à réutiliser, nécessitent un temps complexe de calcul et peuvent confondre le concepteur du processus. D'autre part, les résultats de la recherche sur la conception des modèles de processus configurables ont mis en évidence la nécessité des moyens de soutien pour configurer le processus. Par conséquent, de nombreuses approches ont proposé de construire un système de support de configuration pour aider les utilisateurs finaux à sélectionner les choix de configuration souhaitables en fonction de leurs exigences. Cependant, ces systèmes sont actuellement créés manuellement par des experts du domaine qui est sans aucun doute une tâche fastidieuse et source d'erreurs .Dans cette thèse, nous visons à automatiser le soutien de la variabilité dans les modèles de processus configurables. Notre objectif est double: (i) assister la conception des processus configurables d'une manière à ne pas confondre les concepteurs par des recommandations complexes et (i) assister la création des systèmes de soutien de configuration afin de libérer les analystes de processus de la charge de les construire manuellement. Pour atteindre le premier objectif, nous proposons d'apprendre de l'expérience acquise grâce à la modélisation des processus passés afin d'aider les concepteurs de processus avec des fragments de processus configurables. Les fragments proposés inspirent le concepteur du processus pour compléter la conception du processus en cours. Pour atteindre le deuxième objectif, nous nous rendons compte que les modèles de processus préalablement conçus et configurés contiennent des connaissances implicites et utiles pour la configuration de processus. Par conséquent, nous proposons de bénéficier de l'expérience acquise grâce à la modélisation et à la configuration passées des processus afin d'aider les analystes de processus dans la construction de leurs systèmes de support de configuration

    Workflow models for heterogeneous distributed systems

    Get PDF
    The role of data in modern scientific workflows becomes more and more crucial. The unprecedented amount of data available in the digital era, combined with the recent advancements in Machine Learning and High-Performance Computing (HPC), let computers surpass human performances in a wide range of fields, such as Computer Vision, Natural Language Processing and Bioinformatics. However, a solid data management strategy becomes crucial for key aspects like performance optimisation, privacy preservation and security. Most modern programming paradigms for Big Data analysis adhere to the principle of data locality: moving computation closer to the data to remove transfer-related overheads and risks. Still, there are scenarios in which it is worth, or even unavoidable, to transfer data between different steps of a complex workflow. The contribution of this dissertation is twofold. First, it defines a novel methodology for distributed modular applications, allowing topology-aware scheduling and data management while separating business logic, data dependencies, parallel patterns and execution environments. In addition, it introduces computational notebooks as a high-level and user-friendly interface to this new kind of workflow, aiming to flatten the learning curve and improve the adoption of such methodology. Each of these contributions is accompanied by a full-fledged, Open Source implementation, which has been used for evaluation purposes and allows the interested reader to experience the related methodology first-hand. The validity of the proposed approaches has been demonstrated on a total of five real scientific applications in the domains of Deep Learning, Bioinformatics and Molecular Dynamics Simulation, executing them on large-scale mixed cloud-High-Performance Computing (HPC) infrastructures

    Graph-based Pattern Matching and Discovery for Process-centric Service Architecture Design and Integration

    Get PDF
    Process automation and applications integration initiatives are often complex and involve significant resources in large organisations. The increasing adoption of service-based architectures to solve integration problems and the widely accepted practice of utilising patterns as a medium to reuse design knowledge motivated the definition of this work. In this work a pattern-based framework and techniques providing automation and structure to address the process and application integration problem are proposed. The framework is a layered architecture providing modelling and traceability support to different abstraction layers of the integration problem. To define new services - building blocks of the integration solution - the framework includes techniques to identify process patterns in concrete process models. Graphs and graph morphisms provide a formal basis to represent patterns and their relation to models. A family of graph-based algorithms support automation during matching and discovery of patterns in layered process service models. The framework and techniques are demonstrated in a case study. The algorithms implementing the pattern matching and discovery techniques are investigated through a set of experiments from an empirical evaluation. Observations from conducted interviews to practitioners provide suggestions to enhance the proposed techniques and direct future work regarding analysis tasks in process integration initiatives
    corecore