UML – How to Visualize Time Trigger in Activity Diagram

uml

I'm drawing an activity diagramm and I'd like to know how draw a timed trigger. My process is that when a task is created it should be done immediatly when it has a high priority or once a week if it has a normal priority.

I know there is the time signal symbol but in all examples I saw it's combined with the joinsymbol as it's an addional condition not "a second starting point".

So is my diagram valid? If not how should I draw it?

activity

Best Answer

To recapitulate the rules which are scattered between the question and the comments:

  • When a task is created, an importance is assigned: either “high” or “normal”.

  • A high priority task is executed immediately after being created, only once.

  • A normal priority task is executed on Monday (possibly through a weekly cron job), only once.

The following diagram attempts to model those three rules:

                                        enter image description here

The wait-style signal was inspired by a diagram here (search for “Signal” section). It seems that the signal element is flexible, and can be used to indicate a moment in time, or a duration since an event (search for “Signals” once more), or a duration to wait (see the book reference below).

According to the part on signals in Martin Fowler (2003) UML distilled - a brief guide to the standard object modeling language 3rd ed., page 121:

A time signal occurs because of the passage of time. Such signals might indicate the end of a month in a financial period or each microsecond in a real-time controller.

Notes:

  • I took freedom linking the signal element vertically, because it made sense in my case. Every other diagram I've seen using signals had arrows going to and from the signal horizontally.

  • If “Task is created” from your diagram is an actual event, you may want to represent it as an event, not a process.

Related Topic