Search code examples
umlactivity-diagram

Activity Diagram Timed Event


I'm trying to model the following: When filling out a submission form, the system automatically saves the users progress every 5 minutes.

This is what I tried, but I don't think it's correct.

In my case the condition is asked only after the "fill submission" activity is finished. Also I don't want to indicate, that the user is starting the "fill submission" activity again.


Solution

  • You would use an interruptible region represented by a dashed line box:

    enter image description here

    The timer interrupt appears independently and intrerrupts the current action. Auto save is executed and comes back with Fill form. Resuming Fill form need a bit of thought since usually you have some entry code which must not be executed in case of a continuation. That might be a bit more tricky as you would likely need a mutex for that.

    UML 2.5 has a detailed description in chap. 15.6.3.2 Interruptible Activity Regions on pp. 405.


    Just a word about your approach. The save is only executed when the form is closed. So if it takes longer than 5 minutes you end up in your form again which is likely not desired :-)