Sparx Systems Forum

Discussion => Uml Process => Topic started by: Uffe on May 15, 2017, 06:00:32 pm

Title: "Start other process" in activity diagram
Post by: Uffe on May 15, 2017, 06:00:32 pm
Hi all,


I've got a client who's doing a bit of business process modelling using a custom method and notation. At the finest level of detail, there are activity diagrams.

From one of these activity diagrams, a modeller wishes to show that another process is triggered, essentially to deal with an error condition, interrupting the normal flow. This is not covered by the metamodel which in effect says that processes can't trigger one another but only follow one another, but it makes sense and the same need will most likely arise in other processes so an extension or relaxation of the metamodel seems to be in order.

In order to meet this need, I'm thinking an Exception activity with a child Send event, shown inside the Exception in the diagram.
The Send event will have a classifier, which will also be the classifier of a Receive event in the process which is triggered.
This decouples the triggering and triggered processes, and avoids having to place a process (higher-level concept) in an activity diagram.

My question is: does this sound like a good solution?
Especially given how inert Exceptions are in EA?

Any input appreciated. (Going to BPMN is not an option.)

Thanks,


/Uffe
Title: Re: "Start other process" in activity diagram
Post by: qwerty on May 15, 2017, 06:53:58 pm
If you are responsible for the modeling process you are free to define whatever is needed. In the past I just borrowed parts from BPMN without adopting the full method. That worked quite well. However, exceptions are already covered by "normal" UML by means of Interruptible Regions and Exception Flows.

q.
Title: Re: "Start other process" in activity diagram
Post by: PeterHeintz on May 15, 2017, 07:21:31 pm
Hi Uffe,
yes UML already has exception handling.

If you need an exception that might happen somewhere in your running activity that stops that activity an calls another you can use an interruptible region. Insert a “receive action” that catches the exception in that region and connect it via interrupt flow to a send action  and catch the send action signal in you second activity via a receive action.
Title: Re: "Start other process" in activity diagram
Post by: Simon M on May 16, 2017, 08:23:52 am
UML also includes supports for calling another activity. It's called a CallActivityAction. Just nest all of your activities that you could ever want to call inside an Activity element. Ctrl+Drag of an Activity onto an Activity diagram will allow you to create an action that calls the activity. (You can also do it by dropping an action and then selecting the type and an activity)