views:

304

answers:

3

I am in the process of designing system with a many tasks and a lot of inter-task messages. The system will be basically developed in C.

In my design I am trying to use UML representation to show the messages that are passed between tasks. But it is becoming difficult to represent things like decision making etc.

Are their any predefined method for creating a flow-chart for task based systems that uses a lot messages?

Need not be UML, is their any other standard method that can be used for this design?

+2  A: 

Maybe you need state machines or sequence diagrams.

Good, in sequence diagrams can we show decision making?
Alphaneo
Usually sequence diagrams show only one possible sequence in time line. For other decision usually another diagram or sub-diagram is created. However, I know only basics of sequence diagrams, maybe someone else can help you even further.
Or an Activity Diagram
Clifford
+1  A: 

Please try a software called Umbrello if you are representing your design in UML. This gives you lot of flexibility in representing your design

Arjun
+2  A: 

For documenting message flow, I have found that state machines and sequence diagrams each have their place. State machines are better at describing the decisions that change the state of a system. Sequence diagrams are better at describing the messages that implement a specific element of a protocol.

Since I like to use Doxygen for internal documentation anyway, and it likes to draw call graphs and other figures with GraphViz tool dot, I started using dot to document my state machines. Since Doxygen has a syntax for including a dot language directly in the source code (and even allows hyperlinks from elements in the drawing to other pages of the generated documentation) this has been really convenient. Recently, Doxygen grew explicit support for sequence diagrams expressed with mscgen, allowing both styles of diagram to be used.

Having the figures expressed in a reasonably natural way directly in the source code makes them a lot more likely to be maintained than if they were drawn externally in Visio or some other drawing tool.

RBerteig