BPMN Modeling Challenge: Handling an Interruption During Meal Preparation

Hi everyone -

I host bi-weekly process modeling office hours for my team, and this scenario came up as an off-shoot of a discussion we were having about event subprocesses. I didn’t have an immediate, elegant solution come to mind, so I thought I would turn to this forum to gather more expert insights.

The Scenario

The main process involves:
:white_check_mark: Start Event: Hunger Noticed
:white_check_mark: End Event: Hunger Satisfied
:white_check_mark: Main Activities:
:one: Select Recipe
:two: Prepare Meal
:three: Eat Meal

While selecting a recipe or preparing the meal, an external event occurs: a dinner invitation from a friend. This triggers a decision:

  • If you accept the invitation:
    • Clean up any in-progress meal preparation
    • Go to dinner with your friend
  • If you decline the invitation:
    • Resume the in-progress meal preparation

My Modeling Challenge

I want to model this scenario clearly and concisely in BPMN, but I’m finding it tricky to represent:

:one: The interruption occurring during either “Select Recipe” or “Prepare Meal”
:two: The conditional resumption of meal prep if the invitation is declined
:three: The overall flow in a clean and maintainable way

But I’d love to see how others would tackle this!

There are two options that come to mind, one with an event sub process and one without.

Without an event sub process:
MealPrepIntereuption1

The one With an event sub process
MealPrepIntereuption2

I was thinking similar thoughts, but was considering using Compensation events.