Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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?

share|improve this question

1 Answer 1

up vote 4 down vote accepted

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.

share|improve this answer
    
Great answer, whether a subsystem uses another thread or not is implementation detail. –  thegreendroid Sep 23 '12 at 7:08

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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