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?
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.
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.