I'm having trouble modelling a continuous event as well as an activity that happens as part of that continuous event.
I am modelling the tracking of a website by a Marketing Automation platform. However the tracking is a continuous event constantly happening. A part of this tracking is the 'form submit'. This however triggers a new flow of activities creating a contact in the CRM.
Questions: 1. How do I make an activity in 'Tracking' invoke a new flow of activities if a form is submitted? 2. If I model this by using a fork: both (Tracking and form submit) need to occur before the flow is continued.
I basicly need a fork where one flow is optional.
Kind regards,
--- If I made any mistakes regarding posting, please direct me to the correct location / nescecary corrections ---
Basically you are right: you use a fork to create a "forked off" flow. Like @JimlL. I have trouble understanding the details of your question. But basically fork is the way to go.
A few remarks to your diagrams:
Log Tracking
Form not filled
and No form on page
flows are also pointless without connected actions (which should likely be some error actions).Yes
/No
should be written in brackets (like [Yes]
) to make them guards, which the actually are. I guess the other named flows should also rather be guards.The fork following Form submit
actually does, what you are asking for.
Activity diagrams are derived from Petri nets. You need to imagine a virtual token traveling along the control flows. A fork will fire as many tokens as it has outgoing flows on receipt of an ingoing token. A join will only send outgoing token(s; depending on the number of outgoing flows) once it has received a single token on each incoming flow.