Honors, Awards and Grants

  • 2016-2018
    University Affairs Committee Grant - Xerox
  • 2015
    NSERC Engage Grant
  • 2016-2010
    PhD scholarship - CNPq
    Scholarship for the scientific and technological development, granted by the Brazilian National Council for Scientific and Technological Development (CNPq - Conselho Nacional de Desenvolvimento Científico e Tecnológico).
  • 2005
    Eclipse Innovation Grant - IBM
  • 2005-2006
    Undergratuate scholarship - CNPq

Research Projects

  • image

    Object-Centric Behavioral Constraint (OCBC) Modeling Language

    website

    Object-Centric Behavioral Constraint (OCBC) modeling language is a novel language that combines ideas from declarative, constraint-based languages like Declare, and from data/object modeling techniques (ER, UML, or ORM).

    Object-Centric Behavioral Constraint (OCBC) modeling language is a novel language that combines ideas from declarative, constraint-based languages like Declare, and from data/object modeling techniques (ER, UML, or ORM). Cardinality constrains are used as a unifying mechanism to tackle data and behavioral dependencies, as well as their interplay. In other words, it extends data models with a behavioral perspective. Data models can easily deal with many-to-many and one-to-many relationships. This is exploited to create process models that can also model complex interactions between different types of instances. Classical multiple-instance problems are circumvented by using the data model for event correlation. The declarative nature of the proposed language makes it possible to model behavioral constraints over activities like cardinality constraints in data models. The resulting object-centric behavioral constraint model is able to describe processes involving interacting instances and complex data dependencies. This model can be then used for conformance checking, i.e., diagnosing deviations between observed behavior (i.e., an event log) and modeled behavior (OCBC model) for compliance, auditing, or risk analysis. Unlike existing approaches, instances are not considered in isolation and cardinality constraints in the data/object model are taken into account. Hence, problems that would have remained undetected earlier, can now be detected.

Filter by type:

Sort by year:

Automatic Discovery of Object-Centric Behavioral Constraint Models

Li, G.; de Carvalho, R.M.; van der Aalst, W. M. P.
Conference Paper 20th International Conference on Business Information Systems (BIS 2017), Poznan, Poland, 2017, pp. 43-58.

Abstract

Process discovery techniques have successfully been applied in a range of domains to automatically discover process models from event data. Unfortunately existing discovery techniques only discover a behavioral perspective of processes, where the data perspective is often as a second-class citizen. Besides, these discovery techniques fail to deal with object-centric data with many-to-many relationships. Therefore, in this paper, we aim to discover a novel modeling language which combines data models with declarative models, and the resulting object-centric behavioral constraint model is able to describe processes involving interacting instances and complex data dependencies. Moreover we propose an algorithm to discover such models.

On the Analysis of CMMN Expressiveness: Revisiting Workflow Patterns

de Carvalho, R.M.; Mili, H.; Boubaker, A.; Gonzalez-Huerta, J.; Ringuette, S.
Conference Paper Enterprise Distributed Object Computing Workshop (EDOCW), 2016 IEEE 20th International, Vienna, Austria, 2016.

Abstract

Traditional business process modeling languages use an imperative style to specify all possible execution flows, leaving little flexibility to process operators. Such languages are appropriate for low-complexity, high-volume, mostly automated processes. However, they are inadequate for case management, which involves low-volume, high-complexity, knowledge-intensive work processes of today’s knowledge workers. OMG’s Case Management Model and Notation (CMMN), which uses a declarative style to specify constraints placed at a process execution, aims at addressing this need. To the extent that typical case management situations do include at least some measure of imperative control, it is legitimate to ask whether an analyst working exclusively in CMMN can comfortably model the range of behaviors s/he is likely to encounter. This paper aims at answering this question by trying to express the extensive collection of Workflow Patterns in CMMN. Unsurprisingly, our study shows that the workflow patterns fall into three categories: 1) the ones that are handled by CMMN basic constructs, 2) those that rely on CMMN’s engine capabilities and 3) the ones that cannot be handled by current CMMN specification. A CMMN tool builder can propose patterns of the second category as companion modeling idioms, which can be translated behind the scenes into standard CMMN. The third category is problematic, however, since its support in CMMN tools will break model interoperability.

On the Analysis of CMMN Expressiveness: Revisiting Workflow Patterns

de Carvalho, R.M.; Boubaker, A.; Gonzalez-Huerta, J.; Mili, H.; Ringuette, S.; Charif, Y.
Report Laboratoire de recherche sur les technologies du commerce électronique, Département d’informatique, Université du Québec à Montréal

Abstract

Traditional business process modeling languages use an imperative style to specify all possible execution flows, leaving little flexibility to process operators. Such languages are appropriate for low-complexity, high-volume, mostly automated processes. However, they are inadequate for case management, which involves low-volume, highcomplexity, knowledge-intensive work processes of today’s knowledge workers. OMG’s Case Management Model and Notation(CMMN), which uses a declarative stytle to specify constraints placed at a process execution, aims at addressing this need. To the extent that typical case management situations do include at least some measure of imperative control, it is legitimate to ask whether an analyst working exclusively in CMMN can comfortably model the range of behaviors s/he is likely to encounter. This paper aims at answering this question by trying to express the extensive collection of Workflow Patterns in CMMN. Unsurprisingly, our study shows that the workflow patterns fall into three categories: i) the ones that are handled by CMMN basic constructs, ii) those that rely on CMMN’s engine capabilities and iii) the ones that cannot be handled by current CMMN specification. A CMMN tool builder can propose patterns of the second category as companion modeling idioms, which can be translated behind the scenes into standard CMMN. The third category is problematic, however, since its support in CMMN tools will break model interoperability.

Comparing ConDec to CMMN: towards a common language for flexible processes

de Carvalho, R.M.; Mili, H.; Gonzalez-Huerta, J.; Boubaker, A.; Leshob,A.
Conference Paper 5th International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2016), Rome, Italy, 2016.

Abstract

Flexible processes emerged to provide flexibility to business process execution. A flexible process is not static and can have several different executions, that is influenced by the current situation. In this context, the decision-making is placed in the hands of any knowledge worker during the execution, who decides which tasks and in which order they will be executed. Two approaches for flexible processes are discussed in this paper: case management and declarative processes. In particular we use the CMMN standard and the ConDec language for the two approaches, respectively. We compare them based on scope, model representation, formal semantics, and limitations. Our goal is to present commonalities and differences between the languages in order to identify potential extensions to make them more complete to attain more flexible process examples.

REFlex: an entire solution to business process modeling

de Carvalho, R.M.; Silva, N.C.
Conference Paper Workshop on Methodologies for Robustness Injection into Business Processes (MRI-BP'15), Montréal, Canada, 2015.

Abstract

Some approaches have emerged providing flexibility to business processes (BP) execution. Among them, we can enhance the declarative one, which purpose is to model what must be done without describing how they must execute. Previously, i) we extended the definition of the business process to approach web service orchestration, besides the definition of activities and rules; and ii) we formalized the REFlex rule engine, allowing us to discuss the verification of the engine core properties and the liveness-enforcing mechanism properties. In this paper, we aim at discussing and presenting the REFlex as an entire solution to BPM. We show that, using REFlex, an user has support to: i) model a business process; ii) trust in a formalized semantics that does not allow the user to be guided to an unacceptable situation; and iii) link (some) activities to web services, (semi-)automating the process execution.

REFlex: An Efficient Graph-Based Rule Engine to Execute Declarative Processes

de Carvalho, R.M.; Silva, N.C.; Lima, R.M.F; Cornélio, M.L.
Conference Paper Systems, Man, and Cybernetics (SMC), 2013 IEEE International Conference on, pp. 1379-1384, Manchester, England, 2013.

Abstract

Declarative Business Processes offer more flexibility to business processes by the use of business rules. Such business rules describe what must or must not be done during the process execution, but do not prescribe how. To fully experience the benefits of this modeling approach, companies need a rule engine capable of checking the rules and guiding the user through the execution of the process. The rule engines available today present several limitations that impair their use to this application. In particular, the well-known approach that employs Linear Temporal Logic (LTL) has the drawback of the state space explosion as the process model grows. This paper proposes a novel graph-based rule engine that does not share the problems presented by other engines, being better suited to model declarative business processes than the techniques currently in use.

REFlex: An Efficient Web Service Orchestrator for Declarative Business Processes

Silva, N.C.; de Carvalho, R.M.; Oliveira, C.A.L.; Lima, R.M.F.
Conference Paper In Service-Oriented Computing, volume 8274 of Lecture Notes in Computer Science, pp. 222-236, Springer-Verlag Berlin Heidelberg, Berlin, Germany, 2013.

Abstract

Declarative business process modeling is a flexible approach to business process management in which participants can decide the order in which activities are performed. Business rules are employed to determine restrictions and obligations that must be satisfied during execution time. In this way, complex control-flows are simplified and participants have more flexibility to handle unpredicted situations. Current implementations of declarative business process engines focus only on manual activities. Automatic communication with external applications to exchange data and reuse functionality is barely supported. Such automation opportunities could be better exploited by a declarative engine that integrates with existing SOA technologies. In this paper, we introduce an engine that fills this gap. REFlex is an efficient, data-aware declarative web services orchestrator. It enables participants to call external web services to perform automated tasks. Different from related work, the REFlex algorithm does not depend on the generation of all reachable states, which makes it well suited to model large and complex business processes. Moreover, REFlex is capable of modeling data-dependent business rules, which provides unprecedent context awareness and modeling power to the declarative paradigm.

A solution to the state space explosion problem in declarative business process modeling

de Carvalho, R.M.; Silva, N.C.; Oliveira, C.A.L.; Lima, R.M.
Conference Paper 25th International Conference on Software Engineering and Knowledge Engineering (SEKE), Boston, USA, 2013.

Abstract

Declarative business process models focus on modeling what must be done but do not determine how. The existing engine for controlling the execution of declarative processes uses automata-based model checking. Unfortunately, the well-known state space explosion problem limits the ability to explore large processes through automata-based approaches. In this work, we propose a novel mechanism to control the execution of declarative business processes. Our approach has the advantage of not requiring the computation of all reachable states. This allows for the modeling and execution of larger business processes when compared to the automata-based approach.

Integrating Declarative Processes and SOA: A declarative web service orchestrator

Silva, N.C; de Carvalho, R.M.; Oliveira, C.A.L.; Lima, R.M.
Conference Paper 2013 International Conference on Semantic Web and Web Services, Las Vegas, USA, 2013.

Abstract

Service Oriented Architecture (SOA) is a computer model that aims at building new software by assembling independent and loosely coupled services. Traditional web service orchestration is a mechanism for combining and coordinating different web services based on a predefined pattern. However the orchestration requirements may evolve due to business needs. In business context, the declarative approach has emerged to provide flexibility by modeling what must be done but not how it must be executed through business rules. When working with such a model, the results produced depend on the users’ preferences. It is therefore fundamental that orchestration mechanisms provide simple yet efficient ways to dynamically make service composition. This paper proposes a web service orchestrator for declarative processes that makes service composition at runtime. The resulting business process obey all the business rules. The composition is done as the user chooses the service to run, providing an application-aligned infrastructure that can be scaled based on the needs of each business process, since it is described using declarative strategy.

An efficient algorithm for static task scheduling in parallel applications

de Carvalho, R.M.; Lima, R.M.F.; de Oliveira, A.L.I.
Conference Paper Systems, Man, and Cybernetics (SMC), 2011 IEEE International Conference on, pp. 2313-2318, Anchorage, Alaska, 2011.

Abstract

Scheduling is an important tool for optimizing the performance of parallel systems. It aims at reducing the completion time of parallel applications by properly allocating the tasks to the processors. This work proposes a novel scheduling algorithm to parallelize tasks with dependence restrictions. The communication costs between processors and computer architecture are parameters of the proposed algorithm, which explores the trade off between process execution time and communication costs between processes to optimize the system's overall performance. The paper conducts an experiment to compare the performance of the proposed algorithm against six other scheduling algorithms. The experiment considered several execution scenarios. Although our algorithm does not present the best performance in any of the execution scenarios, it produces the best average execution time for the scenarios studied.

Identifying parallel jobs for multiphysics simulators scheduling

de Carvalho, R.M.; Lima, R.M.F.; de Oliveira, A.L.I; Santos, F.C.G.
Conference Paper Systems, Man, and Cybernetics (SMC), 2010 IEEE International Conference on, pp.923-930, Istanbul, Turkey, 2010.

Abstract

Real problem simulations involving physic phenomena can demand too much execution time. To improve the performance of these simulations it is necessary to have an approach to parallelize the processes that compose the simulation. MPhyScaS (Multi-Physics and Multi-Scale Solver Environment) is an environment dedicated to the automatic development of simulators. Each MPhyScaS simulation demands a great amount of time. To parallelize MPhyScaS simulations, the approach used should define a hierarchical parallel structure. The aim of the work herein presented is to identify parallel jobs and dependent ones. The presented model is based on Coloured Petri Nets (CPN). This information will be input to a scheduling algorithm.

Scheduling parallel jobs for multiphysics simulators

de Carvalho, R.M.; Lima, R.M.F.; de Oliveira, A.L.I.; Santos, F.C.G.
Conference Paper Evolutionary Computation (CEC), 2010 IEEE Congress on, pp. 1-8, Barcelona, Spain, 2010.

Abstract

Real problem simulations involving physic phenomena can demand too much execution time. To improve the performance of these simulations it is necessary to have an approach to parallelize the processes that compose the simulation. MPhyScaS (Multi-Physics and Multi-Scale Solver Environment) is an environment dedicated to the automatic development of simulators. Each MPhyScaS simulation demands a great amount of time. To parallelize MPhyScaS simulations, the approach used should define a hierarchical parallel structure. The aim of the work herein presented is to improve the performance of clusters in the processing of MPhyScaS simulations which are composed by a set of dependent tasks by scheduling them. The presented model is based on Genetic Algorithms (GA) to schedule the parallel tasks following MPhyScaS architecture dependence restrictions. The communication between processors must also be considered in this scheduling. Therefore, a trade off must be found between the execution of processes and the time necessary for these processes to communicate with each other.

Dynamic Interface for Multiphysics Simulators

Oliveira, C.; Rocha, F.; Medeiros, R.; Lima, R.; Soares, S.; Santos, F.; Santos, I.
Journal Paper International Journal of Modeling and Simulation for the Petroleum Industry, vol. 2, no. 1, 2008.

Abstract

Simulation is a well known technique to study complex systems. However, the implementation of a simulator may be more complex than the simulation itself. For instance, graphical user interface (GUI) development might consume around 50% of the software development time. Therefore, strategies and techniques to reduce costs in the development of GUI are mandatory in modern software engineering. In this paper we present a framework called GUI Generation Tool that dynamically constructs user interfaces based on specifications defined in XML files. This framework was defined to support automatic generation of simulators for multi-physics phenomena using software reuse techniques and software product lines concepts.

Applying XP to an Agile Inexperienced Software Development Team

Silva, L.; Santana, C.; Rocha, F.; Paschoalino, M.; Falconieri, G.; Ribeiro, L.; Medeiros, R.; Soares, S.; Gusmão, C.
Conference Paper Agile Processes in Software Engineering and Extreme Programming, volume 9 of Lecture Notes in Business Information Processing, pp. 114-126, Springer-Verlag Heidelberg, Limerick, Ireland, 2008.

Abstract

Agile Methods are becoming each day a more and more frequently used alternative among software developing organizations producing high-quality products in real-world projects. Despite this growth in industry, few academic institutions provide courses related to this new software development approach. This paper describes an initiative of introducing agile method concepts through a Master’s Degree course where the students had not experienced XP before. In spite of being MSc students they had previous software development background in industry environment. In this work we present how the issues found over the process may and have been handled as well as the benefits found; how the XP practices have been adapted and applied in a project with time, personnel, and skill constraints and what hindered some principles from being fully effective. We also present real results and open problems for further studies from this experience. The study used a real-life application taken from a need of a real software development company.

Currrent Teaching

  • Present 2017

    Data Entrepreneurship in Action 3

    Program: Master in Data Science and Entrepreneurship

    Data Entrepreneurship in Action 3 is the last course in the series and shall familiarize students with aspects of data-driven business intelligence. The focus is on learning how to understand processes from the raw event data. Besides exposing the process which happens in reality, understanding it allows the direct comparison to what is expected, the identification of problems, and/or the enrichment of the process model based on new insights gathered.

  • Present 2017

    Data Analytics for Engineers

    Level: Bachelor level

    In this course, students gain insight in basic techniques for processing large amounts of data in an efficient, reliable, and consistent way. They develop skills in understanding, interpreting, and documenting data and information in the context of realistic scenarios. Students will also learn to estimate the consequences of choices made for the other phases of data processing. The interpretation of results is considered in every phase of the analysis.

Teaching History

  • 2016 2015

    Projet d'analyse et de modélisation (French) :: Assistant

    Level: Bachelor in "Informatique"

    Intégrer les connaissances théoriques acquises en analyse et modélisation par la réalisation, en groupe, d'un travail important. Acquérir une expérience pratique de mise en oeuvre d'une méthode formelle utilisée en industrie. Planification, réalisation et documentation formelle d'un projet de système d'information. Apprentissage étape par étape et utilisation d'une méthodologie de développement employée dans l'industrie pour procéder à l'analyse et la conception de systèmes. Pratique des méthodes courantes de travail en génie logiciel: présentations, révisions structurées, etc.

  • 2016 2015

    Exigences et spécifications de systèmes logiciels (French) :: Assistant

    Program: Master in "Génie Logiciel"

    - Introduction à l'ingénierie des systèmes. - Modèles de processus des exigences logicielles. - Intervenants dans le processus des exigences logicielles. - Support et gestion du processus des exigences logicielles. - Qualité et amélioration du processus des exigences logicielles.

  • 2014 2014

    Introduction to Computer Science (Portuguese)

    Level: Bachelor in Computer Science

    Computer Science history, basic computer architectures, data representation, data compression.

  • 2014 2014

    Data Structures 2 (Portuguese)

    Level: Bachelor in Computer Science

    AVL Tree, Trie Tree, B Tree and variations, hashing, sorting algorithms.

  • 2014 2014

    Object-Oriented Programming (Portuguese)

    Level: Bachelor in Computer Science

    Concepts of object-oriented programming, using Java language for practical examples and exercises.

  • 2014 2014

    Paradigms of Programming Languages (Portuguese)

    Level: Bachelor in Computer Science

    Concepts and comparison between different paradigms of programming languages (imperative programming, object-oriented programming, functional programming, and logic programming).

Currrent Supervision

  • Present 2016

    Guangming Li (PhD) :: Daily supervisor

    Project: OCBC (Object-Centric Behavioral Constraint) Modeling Language

  • Present 2017

    Paulina Jurado (MSc)

    Project: Data Integration and Transformation

Supervision History

  • 2017 2016

    Rafael Isaias Coelho (MSc)

    Master thesis: "Web-REFlex: Uma solução para evitar Context Tunneling na execução de processos de negócio declarativos" (Portuguese)

At My Office

My office is located at TU/e Metaforum - MF 7.146. You will occasionally find me there.

If you need help finding Metaforum, please consider TU/e map. It is the building number 5 (column C, row 4).