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 join
symbol as it’s an addional condition not “a second starting point”.
So is my diagram valid? If not how should I draw it?
5
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:
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.
1