On BPM and the Enterprise (again)
By: Marco Brambilla
Tags: Machine Learning, Business Process, Enterprise Architecture, Bpm, Enterprise

On BPM and the Enterprise (again)

How Processes and Architectures can Benefit Companies

Photo by dylan nolte on Unsplash

For the third year in a row, the BPM-EA track at the ACM SAC conference is hosting a set of interesting contributions in the field of Business Process Management (BPM) and Enterprise Architectures (EA) together.

Our rationale is that managing the information assets of a company is much harder than just applying a methodology. Multiple viewpoints should be considered. It’s a matter of time and experience to build up the appropriate mix of methods, solutions and technologies for solving the enterprise problems.

Business Processes, Enterprise Architectures, System and Software Modeling, are definitely important dimensions in designing and executing the company behaviour. We claim that these contributions are not being exploited to their best, because their complementarity and combination is rarely used. The aim is then to collect contribution that enable the integration and collaboration across these disciplines and methods.

I report here a quick summary of the contributions to the track.

Reliable Predictive Monitoring of Business Processes

Photo by pixpoetry on Unsplash

We want to predict a PPI (Process Performance Indicator) that reports correct execution of a process, and we want to assess the reliability of these predictions, also considering the variability of the scenario. We want the prediction to come in as soon as possible, i.e., for instance at the beginning of the process execution. Instead of using a ML-based reliability definition (e.g., the accuracy of a binary classifier for successful and unsuccessful process execution), we consider reliability as a function of the number of possible paths that are still possible in the process execution, or the time passed since the beginning with respect to the estimated total time of the whole process execution.

Controllability of Business Processes using Temporal Variables

We wonder about satisfiability (existence: there exists at least one execution that satisfy the constraints?) and controllability (universality: can we prove that all executions satisfy the constraints?) of business process executions with respect to existing temporal constraints over the process (or task) execution. There is a trade-off between the expressive power of the temporal constraints, and their controllability.

The proposal introduces a simplified process language based on time and temporal constraints. This language allows for specifying temporal rules and patterns, and allows to check for strong controllability (defining the rules based on the exact timestamps) and dynamic controllability (a weaker but more realistic level of controllability).

A Hybrid Model for Behavioural and Data Perspectives

We aim at combining process constraints with data-related modeling features. This is a step towards multi-perspective analysis of the enterprise. Traditional process mining approaches are not focusing on the data aspect. Even within ERP systems, you miss the separation and model clarity that may be needed. The process case data (i.e., the executions) are not sufficient either, as they flatten the process into a sequence of events, forgetting about the structure:

Therefore, we introduce a hybrid model that explicitly considers the process model and the data model (as a entity-relationship or a UML class diagram), and we show how to bind them together.

Optimization of Customer Journeys with Process Mining and Sequence-aware Recommendation

Photo by Richard Kasperowski on Unsplash

We want to address the customer journey as a story describing the interaction between the client and the services offered by a company. Existing approaches do not look to the end-to-end process. Therefore, we focus the attention on extracting (from each case) all the relevant events that constitute important steps in the customer journey, and then by applying kNN algorithms we generate recommendations to users for further services or purchases.

Static Analysis of Process-Driven Applications

By process-driven applications we mean any software application that has an intrinsic process-based set of steps and conditional dependencies between tasks. Static analysis is widely adopted both for processes and code. But here we are addressing the connection between the two. We may have situations where the static analysis of a BPMN process is correct, and also the code analysis returns positive results. Vice-versa, the inconsistency can happen in the mapping between the two. For instance, versions of code vs. versions of processes, typing of the data, values, data flow anomalies. An integrated toolsuite would be optimal for letting process designers and software developers work together.

A Metamodel for Knowledge-Intensive Processes

Knowledge intensive processes are collaboration and goal oriented, event driven, emergent and unpredictable, flexible, and typically non repeatable.

How can we make process modeling useful for these processes? They cannot be fully specified at design time, also because most of the knowledge is implicit, and in many cases the reasons for the decision-making steps by the users are unknown. The most important asset in this environment is the Case, i.e., the status, context, and environment aspects, as well as the behaviour, related to an execution. The behaviour is defined at runtime, because you cannot enforce it statically. The second important asset is the Knowledge itself, which must cover objectives, metrics, tactics and business rules. A few other components are important and they compose a comprehensive metamodel that can help the specification of such cases, which are typically hard to assess.

Photo by Ani Kolleshi on Unsplash

Incremental Verification of Evolving Workflows

The fact that the workflow of processes evolve in time poses interesting challenges to verification. The ways the process can evolve can vary: change of objects, tasks, flows. We can define a set of possible constraints over the evolution and verify the model with different strategies: bottom-up construction (where changes are propagated from the root node), spin-based and incremental. Incremental techniques can build automatically a process tree model out of an input process, and then manage the evolution of the process by updating the tree model and verifying only the affected parts of the process (see figure below).

Incremental verification is much more efficient in the number of activities, as only the new change needs to be verified. Spin instead is more efficient with respect to time and edges.

In summary…

I think the most important message coming from this diverse set of contribution and the related discussion they raised is that there is plenty of opportunities for yet-to-be-exploited techniques to contribute to the optimization of the enterprise operations and of the business.

I look forward to collect more and share them all in the future. Meanwhile, if you found useful techniques you want to share, feel free to comment on this story and I’ll reach out to you.

This story is published in The Startup, Medium’s largest entrepreneurship publication followed by +445,678 people.

Subscribe to receive our top stories here.