Alarm Process

Skip to first unread message

Krans Robby

Mar 1, 2021, 5:40:45 PM3/1/21
to BPMN Forum
Hi all,

I have a simpel model in which I try to describe the functionality of an alarm on my smartphone.
Create an alarm
Set the alarm
Ring the alarm
Stop the alarm
But then, Delete (or destroy, as you like) an alarm can be done A ANY MOMENT, after it has been created.
How do I model this?

it looks like a stupid question, but depending on the moment the alarm is deleted, (e.g. during the ringing of the alarm) other actions have to be taken!

Thanks for you thoughts.

Anthony Horner

Mar 2, 2021, 2:51:46 AM3/2/21
I’d have thought that this would be an event sub-process that is defined with various start events.

You received this message because you are subscribed to the Google
Groups "BPMN Forum" group.
Public website:
To post to this group, send email to
To unsubscribe from this group, send email to
For more options, visit this group at

You received this message because you are subscribed to the Google Groups "BPMN Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
To view this discussion on the web visit

Per Jakobsen

Mar 2, 2021, 2:51:58 AM3/2/21
Perhaps you should have attached the model you do have, so we can see what you have tried.
The below model could be a solution: A combination of a event-driven gateway and an edge-mounted gateway.



Krans Robby

Mar 3, 2021, 9:18:04 PM3/3/21
to BPMN Forum
Thank you very much for this model.
The reason I did not attach my model is because I could not even start drawing while I was (and still am) struggling with the right sequence of events and processes. I have to admit I'm not very experienced in using BPMN.
I have three questions on the model of Per:
  • A Delete-event can also occure right after the creation of an Alarm
  • An Adjust-Alarm-event should start the Adjust process and can be fired at any time, even during the Ring Alarm process.
  • The Delete-Alarm-event appears twice in the model. Is this allowed?

I doubt if BPMN is a suitable aid in designing event-driven processes, as events can can be fired at (almost) every step in the overall process. 
Am I to pessimistic?

Op dinsdag 2 maart 2021 om 08:51:58 UTC+1 schreef

Emmanuel Gaudin

Mar 4, 2021, 10:04:36 AM3/4/21
Hi Krans,

In BPMN you could use a boundery event on a call activity. The event interrupts the process inside the activity. It would look like this:
However if the process is heavily event driven you could consider a state machine based approach. I made a simple example in SDL (Specification and Description Language).
The system starts and goes to the AlarmOff state. An SDL state has an implicit message queue and hangs there until there is an input in the queue. The SetAlarm message comes in and triggers some action. In that case the only action is to set a timer for the desired delay. It then ends up in the AlarmOn state. When the timer goes off it appears as a message with the name of the timer. So when the timer goes off in the AlarmOn state, the state machine sends out a BeepOn message and goes to the AlarmRinging state. The '*' state means any state. So whatever the state if ResetAlarm is received it sends out BeepOff and goes to the AlarmOff state. That means you can add any message input in the different states of the state machine.
An execution trace produces the following:

With that notation everything is an event, it is now up to you to find out which one is the best suited for what you want to describe.



Reply all
Reply to author
0 new messages