J
J.Marsch
Does anyone know of a good modeling methodology for dealing with threading
issues?
I normally like to keep threading as simple as possible, but I've come
across a project where there may be significant concurrency issues, and I
need to be able model activities that share data among threads. I'm trying
to identify some rather subtle situations where there might be race
conditions or synchronization issues.
I'm having a difficult time deciding what the best way is to depict the
actions, so that we can have a team discussion on how to manage the whole
thing.
For single-threaded stuff (or relatively simple threading scenarios), I've
been using activity diagrams, with swimlanes representing object
boundaries -- they've worked great for building consensus on behaviors.
Now, I need to add another dimension to represent what thread an activity
occurs on, so that we can plot intersections (which are potential locking
issues), and parallel paths (which are potential race conditions).
Has anyone found a model that works well for this sort of thing?
issues?
I normally like to keep threading as simple as possible, but I've come
across a project where there may be significant concurrency issues, and I
need to be able model activities that share data among threads. I'm trying
to identify some rather subtle situations where there might be race
conditions or synchronization issues.
I'm having a difficult time deciding what the best way is to depict the
actions, so that we can have a team discussion on how to manage the whole
thing.
For single-threaded stuff (or relatively simple threading scenarios), I've
been using activity diagrams, with swimlanes representing object
boundaries -- they've worked great for building consensus on behaviors.
Now, I need to add another dimension to represent what thread an activity
occurs on, so that we can plot intersections (which are potential locking
issues), and parallel paths (which are potential race conditions).
Has anyone found a model that works well for this sort of thing?