Concrete activity data in an Activity diagram

Hi there,

I am currently working in a project, where I’m designing an executable flow of activities, which is to be executed by a web application.
Each step in the flow, can be of both visual and logical character. One activity might tell the web application to show a page to the user with some template (this might be a menu template of sorts, where the user can navigate via hyperlinks), where as another activity might fetch some data from some resource.
To model this executable flow, I’ve looked at the UML Activity Diagram. Each activity can be stereotyped to match its type (lets say we have two types <> and <> ). Lets say I have a <> activity, and I want to say that some concrete data is attached to this activity (this might be visual data such as the header, and some description in the body of the page). How does one do this in the Activity diagram? Or are there alternatives to this solution, that fit the problem better?


Personally, I would parameterise the action.

For example, I would have a “Authentication” action node, indicating that the system is in the process of authentication, then use “<> Header” and “<> Body” object nodes pointing to the “Authentication” action node as parameters of the action. You can also specify that a “<> User” object is relevant to the action.

To me, that would read as: this authentication action will need these visual header and body object instances in addition to the user credentials.

Furthermore, going back to your situation, we could have the “Authentication” node point outward toward a “<> SessionKey” object node, indicating that after the authentication action, a SessionKey object is instantiated, which can then be used for future actions in your activity.

I’m not sure if I explained the above clearly, so I attached a rendering of the above.


Thank you for that input.

A diagram much like the one you’ve made there, is then going to be fed into an engine of sorts. This engine will then execute the activity flow, and in the process of doing so, communicate with other components in the system. So take for example the “Authentication” activity you’ve drawn up. I might need to say that this particular authentication need to use a username called “Joe” and a password “Barbados”. How would I do that? Or is that not something you do in UML?


It sounds like you want to create an activity diagram given specific parameters. As far as I know, UML models are intended to model software behaviour given any valid parameter and thus there would be infinite instances of a model (but a single model description).

However, if you really need to, I suppose you could, per-activity, create an action that instantiates your specific parameters. Attached is a modified version of the above activity diagram. To be honest, I’m not even sure if it’s valid UML but it does get the point across, I think.