4

I am yet to find the perfect way to diagrammatically represent the overall threading architecture for a system (using UML or otherwise).

I am after a diagramming technique that would show all the threads in a given system and how they interact with each other. There are a few similar questions - Drawing Thread Interaction, UML Diagrams of Multithreaded Applications and Intuitive UML Approach to Depict Threads but they don't fully answer my question.

What are some of the techniques that you've found useful to depict the overall threading architecture for a system?

1 Answer 1

6

What are some of the techniques that you've found useful to depict the overall threading architecture for a system?

By not treating it special. Elements in the architecture send messages to one another; if that's across a thread boundary (or even a system boundary) doesn't really matter from an architectural perspective.

As far as implementation goes, it doesn't matter. Implementation is done at the module level. Black Box A presents some interface and consumes some other Black Box. Make a note that the interface it consumes or provides is required to be (non)blocking and/or threadsafe and be on your way.

Otherwise, consider it a design smell if those threading details are leaking through your abstractions.

1
  • Great answer, whether a subsystem uses another thread or not is implementation detail. Commented Sep 23, 2012 at 7:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.