Question

UML: How to model a SW activity that has two separate phases

I want to correctly model my RT/Embedded SW activity as a UML activity diagram. My activity comprises two phases, where Phase 2 runs some (relatively “long”) time after Phase 1 has completed. (And, btw, so they are not parallel.)

Goal of question -- To know if:

  • My activity is one activity, or in fact two separate activities?

  • If indeed two separate activities, can I nevertheless legally model it on a single UML activity diagram (maybe optionally as two partitions)?

Additional detail:

The activities generate results in two phases. Let’s name them:

GenResultsPhaseONE and GenResultsPhaseTWO_andOutput

These two activities are not necessarily procedurally linked – but there is indeed a repeated synchronous processing Period, where, let’s say:

  • At Time T1, GenResults_Phase1 is invoked and generates & saves ResultData_Temp.

  • At Time T2, GenResults_Phase2_andOutput is invoked and reads ResultData_Temp and processes it further, and generates updated results, and outputs them.

Edit: Added one of the comments to the question to raise the idea and then negate it:

Phase 1 does not control or invoke Phase 2 or in any way pass a 'control token' to some 'master top-level' to cause Phase 2 to later run.

For sure, if Phase 1 would cease to exist there would be no reason for Phase 2 to run (and so maybe there is indeed a sanity check done by Phase 2, or just before it, to check that Phase 1 had run).

But I do not feel this can be considered that Phase 1 controls Phase 1.

They really are independent.

 3  26  3
1 Jan 1970

Solution

 2

Since the end of the first phase controls the possible start of the second phase, there should be a control flow in between them. That means I would use an activity to model this. The two phases could be modeled by separate activities that could be called by CallBehaviorActions in the main activity. The result of the first phase would be given via an object flow to the action of the second phase.

It is not allowed to have multiple Activities in one Activity diagram.

2024-07-24
Axel Scheithauer