Let’s all play nice, now

Amazing what happens when people lose sight of the need for civility in blog comments, just as they might exhibit in a face-to-face business conversation.

For posts on someone else’s blog where I add a comment, or where I’m interested in following the discussion, I tag it in co.mments.com and subscribe to it in my feed reader — that means that I might see two versions of a comment if it is edited by the original author (if the site allows commenters to edit their comments). Imagine my surprise at seeing the following comment added sometime last night on a long conversation thread that had been very professional up to that point:

Unfortunately this post is based on a lack of understanding of the real requirements of [deleted] applications. I’ve posted a clarification as a response to curtail this wayward discussion:

[URL deleted]

Hope this helps clarify.

I was going to post a comment to ask the commenter (in a nice professional way) if he knew that he sounded like an arrogant jerk, but within a few hours, he had edited the comment to read:

I’ve posted a clarification:

[URL deleted]

Hope this helps clarify.

For those of you who tend to write off-the-cuff nasty comments on blog posts, keep in mind that the internet remembers everything, even if you change it. It also knows your IP address, so using a fake name doesn’t help much.

Source obfuscated to protect both the innocent and the guilty.

BPM Milan: Setting Temporal Constraints in Scientific Workflows

Xiao Liu from Swinburne University of Technology presented his paper on A Probabilistic Strategy for Setting Temporal Constraints in Scientific Workflows, co-authored by Jinjun Chen and Yun Yang. This is motivated by the problem of using only a few overall user-specified temporal constraints on a process without considering system performance and issues of local fine-grained control: this can result in frequent temporal variations and huge exception-handling costs.

They established two basic requirements temporal constraints must allow for both coarse-grained and fine-grained control, and they must consider both user requirements and system performance. They used some probabilistic assumptions, such as normal distributions of activity durations. They determined the weighted joint normal distribution that estimated the overall completion time of the entire workflow based on the time required for each activity, the probability of iterations and the probability of different choice paths: assuming the normal distributes of events as earlier stated, this allows for the calculation of maximum and minimum duration from the mean by assuming that almost all process instance durations will be bounded by +/- 3 sigma (sorry, can’t find the sigma symbol right now). After aggregating to set the coarse-grained temporal constraints, they can propagate to set the fine-grained temporal constraints on each activity. There are modifications to the models if, for example, it’s known that there is not a normal distribution of activity durations.

This becomes relevant in practice when you consider setting service level agreements (SLAs) for processes: if you don’t have a good idea of how long a process is going to take and the variability from the mean, then you can’t set a reasonable SLA for that process. In cases where a violation of an SLA impacts a company financially, either immediately through compliance penalties or in the longer term through loss of revenue, this is particularly important.

BPM Milan: Instantiation Semantics for Process Models

Jan Mendling of Queensland University of Technology presented a paper on Instantiation Semantics for Process Models, co-authored with Gero Decker of HPI Potsdam. Their main focus was on determining the soundness of process models, particularly based on the entry points to processes.

They considered six different process notations and syntax: open workflow nets, YAWL, event-driven process chains, BPEL (the code, not a graphical representation), UML activity diagrams, and BPMN. They determined how an entry point is represented in each of these notations, with three different types of entry points: a start place (such as in open workflow nets), a start event (such as in BPMN), and a start condition (such as in event-driven process chains). He walked through a generic process execution environment, showing the entry points to process execution.

They created a framework called CASU: Creation (what triggers a new process instance), Activation (which of the multiple entry points are activated on creation), Subscription (which other start events are waited for upon the triggering of one start event), and Unsubscription (how long are the other start events waited for). Each of these four activities has several possible patterns, e.g., Creation can be based on a single condition, multiple events, or other patterns of events.

The CASU framework allows for the classification of the instantiation semantics of different modeling languages; he showed a classification table that evaluated each of the six process notations against the 5 Creation patterns, 5 Activation patterns, 3 Subscription patterns and 5 Unsubscription patterns, showing how well each notation supports each pattern. One important note is that BPEL and BPMN do not support the same patterns, meaning that there is not a 100% mapping between BPMN and BPEL: we all knew that, but it’s nice to see more research backing it up. 🙂

Having multiple start events in a process causes all sorts of problems in terms of understandability and soundness, and he doesn’t recommend this in general; however, since the notations support it and therefore it can be done in practice, analysis of multi-start point instantiation semantics is important to understand how the different modeling languages handle these situations.

BPM Milan: Predicting Coupling of Object-Centric Business Process Implementations

Ksenia Wahler of the IBM Zurich Research lab presented the first paper in the Modelling Paradigms & Issues section, on Predicting Coupling of Object-Centric Business Process Implementations, co-authored by Jochen Kuester.

Although activity-centric approaches are in the mainstream — e.g., BPMN for modeling and BPEL for implementation — object-centric approaches are emerging. The main principles of object-centric approaches are that process logic is distributed among concurrently running components, each component represents a life cycle of a particular object, component interaction ensures that overall logic is correctly implemented.

They are using Business State Machines (BSM) in IBM WebSphere Integration Developer to model this: object-centric modeling is offered as an alternative to BPEL for service orchestration. It uses finite state automation, tailored for execution in a service-oriented environment, with event-condition-action transitions. The advantages of this approach is that it is distributable, adaptable, and maintainable. However, this works when objects are independent, but this is rarely the case; hence the research into the management of coupling of objects. What they found is that rather than using a unidirectional mapping from the activity-centric view to the object-centric implementation, wherein the models can get out of sync, their approach is to feed back from any changes in the object-centric implementation to the process model. They needed to establish a coupling metric in order to asses the coupling density of the object model, as well as develop the mapping from activity-centric process models to object life cycle components, which they have based on workflow patterns.

She showed examples of translation from activity-centric to object-centric models: starting with a BPMN process model, consider the objects for which each activity is changing the state, and re-model to show the state changes for each object and the interactions between the objects based on their state changes. Each state-changing object becomes a component, and interactions between objects in terms of control handovers and decision notifications become wires (connections) between components in the assembly model. The degree of coupling is calculated from the interactions between the components, and a threshold can be set for the maximum acceptable degree of coupling. Objects with a high degree of coupling may be candidates for merging into a single life cycle, or may be targeted for refactoring (actually not true refactoring since it doesn’t preserve behavior; more like simplifying) the process model in order to reduce control handovers and decision notifications.

This type of object-centric approach is new to me, and although it is starting to make sense, I’m not sure that these notes will make sense to anyone else. It’s not clear (and the speaker couldn’t really clarify) the benefit of using this approach over an activity-centric approach.

BPM Milan: Michael Rosemann keynote

Michael Rosemann from the BPM Research Group at Queensland University of Technology, gave us today’s opening keynote on Understanding and Impacting the Practice of BPM, exploring the link between academia and industry. QUT hosted this conference last year, and has a strong BPM program.

He believes that research can be both rigorous and relevant, satisfying the requirements of both industry and academia, and his group works closely with industry, in part by offering BPM training but also looking to foster networking across the divide. It can be a mutually beneficial relationship: research impacts practice through their findings, and practice provides understanding of the practical applicability and empirical evidence to research.

Obviously I’m in strong agreement with this position: part of why I’m here is to bring awareness of this conference and the underlying research to my largely commercial audience. I had an interesting conversation earlier today about how vendors could become more involved in this conference; at the very least, I believe that BPM vendors should be sending a product development engineer to sit in the audience and soak up the ideas, but there’s probably also room for some low level of corporate sponsorship and a potential for recruitment.

Rosemann discussed how research can (and should) be influenced by industry demand, although there’s not a direct correlation between research topics and what’s missing in industry practice. There is some great research going on around process analysis and modeling, and some smaller amount (or so it seems) focused on process execution. He looks at the distinction between design science research — where the goal is utility — and behavioral science research — where the goal is truth — and the relationship between them: design science produces BPM artifacts to provide utility to behavioral science, which in turn provides truth through BPM theories.

BPM artifacts produced by research include constructs (vocabulary and symbols) such as process modeling techniques, models (abstractions and representations) such as process reference models, methods (algorithms and practices) such as process modeling methodologies, and instantiations (implemented and prototype systems) such as workflow prototype systems. Through an artifact’s lifecycle, design scientists test its soundness (internal consistency) and completeness (general applicability), and the behavioral scientists test its effectiveness at solving the problem and adoption in practice. In other words, design scientists create the artifacts, the artifacts are implemented (in a research facility or by industry), and behavioral scientists test how well they work.

There is a BPM community of practice in Australia that hosts events about BPM: originally just a showcase to expose QUT research to industry and government, it has become a much more collaborative community where the practitioners can indicate their interest in the research areas. All of the QUT research students have to have their elevator pitch worked out — why is their research important, and its applicability — which is going to start to tune their thinking towards where their research might (eventually) end up in practice.

He showed a BPM capability framework, showing various capability areas mapped against key success factors of strategic alignment, governance, methods, IT, people and culture; this framework has been replicated by a number of different organizations, including Gartner, to show areas on which companies need to focus when they are implementing BPM. He discussed other areas and methods of research, and the value of open debate with the practitioners; as always, it’s gratifying to see my blog used as an example in a presentation, and he used a snapshot of my post on the great BPMN debate as well as posts by Bruce Silver and Michael zur Muehlen. He walked through a number of other examples of interaction between research and industry, using a variety of techniques, and even the concept of private (consumer) process modeling.

He ended with a number of recommendations for BPM researchers:

  • have a BPM research vision
  • design a BPM research portfolio
  • conduct critical-path research
  • seek impact without compromising research rigor
  • build and maintain an industry network
  • collaborate with complementary research partners

Interestingly, a question at the end resulted in a discussion on BPM vendors and how they have the potential to span boundaries between research and practice. The larger vendors with significant research facilities are represented here: apparently almost 40% of the attendees here are from industry, although it appears that most are from deep within the research areas rather than product development or any customer-facing areas.

BPM Milan: Formal Methods and demos

There were two other papers presented in the Formal Methods section — Covering Places and Transitions in Open Nets by Christian Stahl and Karsten Wolf, and Correcting Deadlocking Service Choreographies Using a Simulation-Based Graph Edit Distance by Niels Lohmann — but we were hip-deep in mathematical notation, graph theory, automata sets and Boolean forumlae (who decided to put this section at the end of the day?), and I lost the will to blog.

We’re moving off to a demo session to close the day, which will include:

  • Business Transformation Workbench: A Practitioner’s Tool for Business Transformation, by Juhnyoung Lee, Rama Akkiraju, Chun Hua Tian, Shun Jiang, Sivaprashanth Danturthy, and Ponn Sundhararajan
  • Oryx – An Open Modeling Platform for the BPM Community, by Gero Decker, Hagen Overdick and Mathias Weske
  • COREPROSim: A Tool for Modeling, Simulating and Adapting Data-driven Process Structures, by Dominic Muuller, Manfred Reichert, Joachim Herbst, Detlef Koontges and Andreas
    Neubert
  • A Tool for Transforming BPMN to YAWL, Gero Decker, Remco Dijkman, Marlon Dumas and Luciano García-Bañuelos
  • BESERIAL: Behavioural Service Interface Analyser, by Ali Aiit-Bachir, Marlon Dumas and Marie-Christine Fauvet
  • Goal-Oriented Autonomic Business Process Modeling and Execution: Engineering Change Management Demonstration, by Dominic Greenwood

That’s it for blogging today; after the demos, I’ll be off to celebrate today’s real event, my birthday. And before you ask, I just turned 30 (in hexadecimal).

BPM Milan: Refined Process Structure Tree

Jussi Vanhatalo of the IBM Zurich Research Lab presented a paper on the Refined Process Structure Tree, co-authored by Hagen Voelzer and Jana Koehler. We’re in the last section of the day, on formal methods.

The research looks at the issues of parsing a business process model, and they offer a new parsing technique called the refined process structure tree that provides a more fine-grained model. Applications for parsing include:

  • translating a graph-based process model (e.g., BPMN) into a block-based process model (e.g., BPEL)
  • speeding up control-flow analysis
  • pattern-based editing
  • processing merging
  • understanding large process models
  • subprocess detection

He showed us an example of the last use case, subprocess detection, where sections of a process are detected and replaced by subprocesses, making the process more understandable (as we saw in the earlier paper on modularity).

There are a few requirements for parsing:

  • uniqueness: e.g., the same BPMN model is always translated to the same BPEL process
  • modularity: e.g., a local change in BPMN translates to a local change in BPEL
  • fast computation of parse tree, e.g., for process version merging, pattern-based editing, or control-flow analysis
  • granularity

The Normal Process Structure Tree, which they have presented in earlier research, is both unique and modular, and represents a hierarchy of canonical (non-overlapping) fragments. Its computing time is linear.

The Refined Process Structure Tree uses a relaxed notion of a fragment through specific definitions of boundary (entry and exit) nodes, and allows only for non-overlapping fragments that can be assembled into a hierarchy. Like the NPST, it is unique and modular, but is more fine-grained than the NPST (presumably because of the relaxed definition of a fragment). It can also be computed in linear time, and he walked through a linear time algorithm for computing the RPST.

In this paper, they assumed that there is only one start and one end node in a process, and that loops have separate entry and exit node; since the publication of this paper, their research has progressed and they have lifted both of these restrictions.

BPM Milan: From Personal Task Management to End User Driven Business Process Modeling

Todor Stoitsev of SAP Research presented the last of the flexibility and user interaction papers, From Personal Task Management to End User Driven Business Process Modeling. This is based on research about end-user development, but posits that BPMN is not appropriate for end users to work with directly for ad hoc process modeling.

There is quite a bit of related research to this: workflow patterns, ad hoc workflow, email-based workflow, instance-based task research, process mining, and other methods that provide better collaboration with the end users during process modeling. In this case, they’ve based their research on programming by example, where processes are inferred by capturing the activities of process participants. This involves not just the process participants (business users), but also a domain expert who uses the captured ad hoc activities to work towards a process model, which is eventually formalized in concert with a programmer, and turned into formal workflow models. In formalizing ad hoc processes, it’s critical to consider issues such as pattern reuse, and they have built tools for exploring task patterns as well as moving through to process definition, the latter of which is prototyped using jBPM.

As with most of the other papers today, I can’t do justice to the level of technical detail presented here; I’m sure that the proceedings are available in some form, or you can track down the authors for more information on their papers.

BPM Milan: Visual Support for Work Assignment

Massimiliano de Leoni presented a paper on Visual Support for Work Assignment in Process-Aware Information Systems, co-authored by Wil van der Aalst and Arthur ter Hofstede.

This is relevant for systems with worklists, where it may not be clear to the user which work item to select based on a variety of motivations. In most commercial BPMS, a worklist contains just a list of items, each with a short description of some sort; he is proposing a visual map of work items and resources, where any number of maps can be defined based on different metrics. In such a map, the user can select the work item based on its location on the map, which represents its suitability for processing by that user at that time.

He walked us through the theory behind this, then the structure of the visualization framework as implemented. He walked us through an example of how this would appear on a geographic map, which was a surprise to me: I was thinking about more abstract mapping concepts, but he had a geographic example that used a Google map to visualize the location of the resources (people who can process the work item) and work items. He also showed a timeline map, where work items were positioned based on time remaining to a deadline.

Maybe I’m just not a visual person, but I don’t see why the same information can’t be conveyed by sorting the worklist (where the user would then choose the first item in the list as being the highest recommendation), although future research in turning a time-lapse of the maps into a movie for process mining is a cool concept.

BPM Milan: Supporting Flexible Processes Through Log-Based Recommendations

For the first of the paper in the session on Flexibility and User Interaction, Helen Schonenberg of Eindhoven University of Technology presented a paper on Supporting Flexible Processes Through Log-Based Recommendations, co-authored by Barbara Weber, Boudewijn van Dongen and Wil van der Aalst.

This is related to the research on automated process mining (or process discovery) based on system logs, which is similar to the type of work being done by Fujitsu with their process discovery product/service

She started by discussing recommender systems, such as we are all familiar with from sites like Amazon: the user provides some input, and based on their past behavior and that of users who are similar in some way, the system recommends items. Recommendation algorithms are based on filtering of user/item matrices and aggregation of the results.

In the case of a process recommender, there is a key goal such as minimizing throughput time; from this and a filtered view of the history log of this and other users’ past performance, a next step can be recommended. Their current work is focused on fine-tuning the filtering algorithms by which the possible paths in the log are filtered for use as recommendations, and the weighted aggregation algorithms.

She walked us through their experimental setup and results, and showed that it is possible to improve processes by the use of runtime recommendations, in the case where users have the choice of which activity to execute next. This can be used in any system that has a logging system and uses a worklist for task presentation.