[vox-tech] Concurrent programming analysis

Brian Lavender brian at brie.com
Mon Dec 13 11:19:47 PST 2010


Check out this Petri Net modeler. It is pretty sweet!
http://pipe2.sourceforge.net/

The old way of doing Concurrent programming is with shared memory
and mutexes.  You might just get sucked into the following design
pattern book.

Concurrent Programming in Java(TM): Design Principles and Pattern
by 
Doug Lea

If you look at Scala, Erlang, Haskell, they all support the concept of
message passing.  It seems to me a good way to analyze programs is to
model them with a Petri Net. The resulting model can be analyzed for
liveness, reachability, deadlock, circular conditions, and all the
non-functional requirements.

Scala Actors
http://java.dzone.com/articles/scala-threadless-concurrent

Erlang
http://www.erlang.org/doc/getting_started/conc_prog.html

Haskell
http://bartoszmilewski.wordpress.com/2009/02/26/message-passing-atoms-mvars/

brian
-- 
Brian Lavender
http://www.brie.com/brian/

"Program testing can be used to show the presence of bugs, but never to
show their absence!"

Professor Edsger Dijkstra
1972 Turing award recipient


More information about the vox-tech mailing list