UML representation for tasks
I am developing a system with many tasks and many inter-task messages. The system will be mostly developed in C.
In my project, I am trying to use a UML view to display messages passed between tasks. But it becomes difficult to imagine things like decision making, etc.
Is there any predefined method for creating flowcharts for task based systems that use many messages?
Shouldn't the UML be any of their standard method that can be used for this design?
a source to share
To document the flow of messages, I found that finite machines and sequence diagrams are used for each one. State machines are better at describing decisions that change the state of the system. Sequence diagrams better describe messages that implement a particular protocol element.
Since I like to use Doxygen for internal documentation, and like drawing call graphs and other numbers with the GraphViz tool dot , I started using the dot to document my state machines. Since Doxygen has a syntax for including the dot language directly in the source code (and even allows hyperlinks from elements in the drawing to other pages of the generated documentation), this was really handy. Doxygen recently extended explicit support for sequence diagrams expressed with mscgen to allow both diagram styles.
Having numbers expressed naturally directly in the source code makes them much more likely than if they were made externally in Visio or some other drawing tool.
a source to share