Type for a UML Activity Diagram with hierarchy ?

26 views
Skip to first unread message

Avraham Makeler

unread,
Aug 25, 2014, 2:31:35 AM8/25/14
to umlf...@googlegroups.com

Hi all, 

I have a single UML activity diagram that comprises a number of pages in the graphic tool that I am using, since the activity has multiple levels of function calls, i.e., functions calling functions, and I have drawn each step. 

My source is an algorithms engineer, and both of us are satisfied with the diagrams.

Now, another worker needs to understand the activity. It was too difficult for him to understand the structure of the activity, since it runs over many pages as mentioned, and some of the main features are in lower level steps visible only by searching through the functions drawn on later pages. 

So I suggested that I draw a one page 'map' showing the main control and data flow, but also showing the levels so the the other worker can see at a glance where the main features are.

The diagram I sketched came out looking like a UML Activity Diagram with hierarchy, Actually it was more like an old style modular structure chart showing the hierarchical structure of the functions in the usual inverted tree form, but with the data flows added in at each level moving horizontally between the boxes (functions).

I looked for an UML diagram type that does the above, but could find none. I guess this is true? If so, although this is a UML-only forum, could somebody point me to some 'standard' modeling method that "standardizes" what I have drawn. I want to find a standard' name for this type of diagram.

--
Regards,
avraham

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Avraham Makeler
Freelance Technical Writer
Tel: +972 (0)54-3084-886
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Programmer's and User's Guides   *   APIs & SDKs   *   Embedded Systems
                      Advanced Office Templates  &  Automation   
                              White Papers  *  Video Scripts 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 


"Mercy on all, coz everyone's fighting some sort of battle"


Remy Fannader

unread,
Aug 25, 2014, 3:03:11 AM8/25/14
to umlf...@googlegroups.com
Hi,
In order to avoid confusion between activity diagram and functional decomposition, you should explicitly choose between UML semantics and a specific method.
If you choose the latter I would suggest ECSAM (Lavi Jonah Z. and Kudish Joseph . “Systems Modeling and Requirements Specification Using ECSAM: An Analysis Method for Embedded and Computer-Based Systems“ , Dorset House (2004).)
As for UML, my advice would be to use some kind of object diagram (or block in SysML) to chart the functionalities, with each functionality (including global ones) detailed by an activity diagram.
Rémy.

Avraham Makeler

unread,
Aug 26, 2014, 10:31:26 AM8/26/14
to umlf...@googlegroups.com
Hi Remy, Thanks for the help. Will get back to you soon, P.G.

-avraham


--
--
You received this message because you are subscribed to the Google
Groups "UML Forum" group.
Public website: www.umlforum.com
To post to this group, send email to umlf...@googlegroups.com
To unsubscribe from this group, send email to
umlforum+u...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/umlforum?hl=en?hl=en
---
You received this message because you are subscribed to the Google Groups "UML Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to umlforum+u...@googlegroups.com.
To post to this group, send email to umlf...@googlegroups.com.
Visit this group at http://groups.google.com/group/umlforum.
To view this discussion on the web visit https://groups.google.com/d/msgid/umlforum/04813088-28a3-4b7f-b8b2-907ad29d8037%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



Avraham Makeler

unread,
Aug 28, 2014, 5:26:10 PM8/28/14
to umlf...@googlegroups.com
Hi Remy, 

Getting back to you.

>> In order to avoid confusion between activity diagram and functional decomposition, you should explicitly choose between UML semantics and a specific method.

The choice was  made. My main SME (subject matter expert) insisted that he will only look at diagrams that are UML. So I learned UML (and still learning it).

Yes --  I would also like to use just one consistent approach - it makes sense and demands respect from superiors and peers.

It is just that UML was created to provide solutions for only a certain subset of all s/w engineering designs, The creators seemed to forget that OO is often just a wrapper, and that all the computing donkey work is still obviously done by algorithmic and functional designs.

So I will look at what ECSAM, and see if it offers a standard diagram type for what I want to do -- and I really want to implement something that offers the features of both activity diagrams and modular structure charts. We really do need this where I work. And if I cant find it, then I will define it myself and call it after my own name...

Thanks,
Avraham


Regards,

avraham
~~~~~~~~~
(+972) (0)54-3084886

geoffS

unread,
Sep 3, 2014, 9:40:07 AM9/3/14
to umlf...@googlegroups.com
I'm not sure of Rémy's opinion regarding Tim Wielkiens' Functional Architectures for Systems (FAS) method, but you may want to review for consideration to address your need.

http://fas-method.org/content/
and
http://fas-method.org/index.htm

BTW, I am NOT countering Rémy's suggestion.  He is a great mind for whom I have enormous respect, just offering additional input for your consideration.

Remy Fannader

unread,
Sep 4, 2014, 12:24:59 AM9/4/14
to umlf...@googlegroups.com
Hi Geoff,
Thanks for the kind words. I don't remember making an explicit comment about Tim Wielkiens' FAS. The basic principles are clearly sound but the publicly available details are negligible.
Remy.

Avraham Makeler

unread,
Sep 4, 2014, 3:13:34 AM9/4/14
to umlf...@googlegroups.com
Hi again Remy,
I can't find any online descriptions of ESCAM. Only ads for books. Very unusual in this day and age of "you can learn it all on the Internet". Do you have a link to an online tutorial/ description?

Thanks,
Avraham

Remy Fannader

unread,
Sep 4, 2014, 10:01:18 AM9/4/14
to umlf...@googlegroups.com
Hi Avraham,
I'm afraid there isn't much to be found online. The strong points are:
Practical approach rooted in complex RT systems and generalized to less specific ones.
Validated by the development of big projects and many years of teaching
Based on widely accepted modeling diagrams and standards
Development process organized around a clear conceptual distinction between external modes, external capacities, and system capacities.
Rémy.


FAUDOU raphael

unread,
Sep 4, 2014, 10:01:34 AM9/4/14
to umlf...@googlegroups.com, raphael FAUDOU
Hi Avraham,

Note that with SysML (UML profile for system engineering), you have Block Definition Diagram in which you can put blocks and… activities. 
So with this diagram you can show your functional breakdown and all the levels in one synthetic diagram.
You can find SysML 1.3 (last public release) specification here: http://www.omg.org/spec/SysML/1.3/
Block Definition Diagram used for Activity decomposition is illustrated in fig 11.1 (page 100)  and fig C34 p 208. 


hope it helps
best regards
raphaël




Cedric Gava

unread,
Sep 4, 2014, 1:10:02 PM9/4/14
to umlf...@googlegroups.com
Hello Avraham and al.

Could you attach an example of your diagrams, because I find it very interesting and I’ve faced I think the same issue more than once in HW design models : Shall I use block OR call Activities and Actions (typically call behavior) or Both to model some high level functions ? And how did you managed to represent the level of hierarchy in you top activity in order that new comers can more easily understand your model?


Cédric

FAUDOU raphael

unread,
Sep 7, 2014, 5:04:01 AM9/7/14
to umlf...@googlegroups.com, raphael FAUDOU

Hi Cedric,

Good question.
Here is some synthesis taking into account INCOSE recommendations, some MBSE modelling methodologies (Harmony, OOSE, others) and feedback from industrial companies:

Block Definition Diagram (BDD) and Internal Block Diagram (IBD) give you concepts to express functional breakdown and functional flows and many industrial companies that I know use those diagrams to design their functional architecture because IBD is quite simple to use (boxes in boxes, connectors and ports).

But most of them are not completely satisfied… because decomposition and flows are only some aspects of functional architecture. What about control flow (sequences, decisions, synchronization points…)? how to express performance durations? what about events? IBD is not meant for that. It is where activity comes into the scene and can give you all the concepts you need:
* control flow with ability send and receive signals
* data flow
* an action language that can address any process or algorithm and that can be specialized with « performance » properties (through addition of UML profiles - MARTE for instance).

So the question becomes: should I use BDD + IBD + Activity to depict my functional architecture?
No as « Activity" gives you all you need, including breakdown.
Activities can be decomposed through use of CallBehaviorAction elements and you will see this decomposition in your modelling browser with activities organized in a tree.

And if I want to show this functional breakdown in a diagram (it was Avraham initial question if I’m right)?
Then you can use BDD in a process that is straight forward:

1. create a BDD
2. Drag and drop your function (activity) and all sub functions (activities that are below your function in the model browser). If your tool is fully Sysml compliant, it should automatically create the « composition » relationships between activities as you would have with block decomposition.
3 (optional): you can also drag and drop other activities referenced by your function but that are not sub-functions (reuse of functions exiting elsewhere in the function hierarchy). In that case, modelling tool should create a « reference » relationship, as you would have with blocks.

in SysML, blocks and activities can be used the same way in BDD.

Conclusion: for functional architecture, if you just want to focus on decomposition and data/energy flows, BDD+IBD is OK. If you want more, suggestion is to use activities and use BDD only to show activity decomposition and reuse (reference).


note: using activity concept for function will give you another advantage: it will be easier to map your operational architecture (UC, interactions, actors) with your functions. You start formalizing UC behavior with an activity, and then you can directly call your functions (activities) to support operational scenarios.

Hope it helps,
best
raphaël
> --
> --
> You received this message because you are subscribed to the Google
> Groups "UML Forum" group.
> Public website: www.umlforum.com
> To post to this group, send email to umlf...@googlegroups.com
> To unsubscribe from this group, send email to
> umlforum+u...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/umlforum?hl=en?hl=en
> ---
> You received this message because you are subscribed to the Google Groups "UML Forum" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to umlforum+u...@googlegroups.com.
> To post to this group, send email to umlf...@googlegroups.com.
> Visit this group at http://groups.google.com/group/umlforum.
> To view this discussion on the web visit https://groups.google.com/d/msgid/umlforum/707518BF-D64A-406B-9458-175E73B5E3C7%40gmail.com.
Reply all
Reply to author
Forward
0 new messages