To prevent spam users, you can only post on this forum after registration, which is by invitation. If you want to post on the forum, please send me a mail (h DOT m DOT w DOT verbeek AT tue DOT nl) and I'll send you an invitation in return for an account.

How can I deal with activities that can run in parallel?

Hello,

I have a little trouble and appreciate a little help with activities that can run "in parallel".

Let’s suppose I have activity A followed by activities B, C, or D that can run independantly in parallel, they can start at the same time, after A.

When I “mine” on existing processes, I see 6 "variants", depending on which activity B, C, or D started first, and which other activity followed. (BCD, BDC, CBD, CDB, DBC, DCB.)

Is there a way to tell that all 6 variants are equal and may occur?

How can I do that if I want to further test conformance of other processes?

Many thanks

Pierre

Tagged:

Comments

  • hverbeekhverbeek Posts: 838
    Hello Pierre,

    Fort he specific example, I guess you could count in the event log, how many times each variant occurs. However, for more complex examples this may be infeasible as the event log may not contain sufficiently many traces for all variants. As such, you need to an abstraction. An abstraction that is typically used for parallelism is the directly follows relation: If all variants are equal, then chances are that in the event log B is directly followed by C about as many times as C is directly followed by B (for any B and C that are assumed to be in parallel). If in the event log you see that B is often directly followed by C, but C is hardly ever followed by B, then you can conclude that the variants are not equal.

    I'm not sure whether this answers your question. Please let me know.

    Kind regards,
    Eric.
  • Hello Erik.
    Yes, all answers help. I'm new to the field of process mining. So I have naive questions and I often bump into very practical things like this one.
    So far, since I try to check conformance of processes, I made a "library" or collection of valid processes, and as long as a process matches a reference, it is ok. But I'm looking for more elegant solution, and trying to learn about process mining along.
    Thanks again.
    Pierre
    PS: I mine aircraft turn around processes which consist of about 30 to 60 recorded activities. Some activities have a duration, some not (just a "milestone). I have good stats (about 100,000 such processes.)
  • hverbeekhverbeek Posts: 838
    Hello Pierre,

    Do the activities have to be done according to some strict procedure to turn an aircraft around, or are there just some general guidelines to avoid problems?

    In case of the latter, you could also use a declarative process modeling formalism (like Declare, DCR Graphs, or Log Skeletons) instead of the usual imperative formalism (like Petri nets or BPMN models). In an imperative formalism everything is forbidden unless it is allowed, whereas in a declarative formalism everything is allowed unless it is forbidden.

    Kind regards,
    Eric.
  • I feel that a declarative formalism is more adequate in this case, especially if I can express everything is allowed unless it is forbidden. I'll read a bit on this subject new to me...
    Thanks again.
    Pierre
Sign In or Register to comment.