For modeling OO systems a common tool is the class diagram. In Erlang the focus is on processes rather than classes. What tools do you use for modeling Erlang systems and the interactions between processes?
I have been "trying" a bit to sell bigraphs as a model tool. A bigraph is defined to be:
A hypergraph called the link graph. It has a vertices processes and as hyperedges communication between these. In a hypergraph an edge can go between any amount of processes, not only two. In effect the graph maps the communication channels or the communication routes in the program. "Who is talking with whom". Example:
A tree with the same vertices called the location graph. This forms the supervisor-hierarchy which the processes sit in. In other words it maps the responsibility of each process. The further down in the tree it is, the more volatile it is. A process near the root is usually the ones that sit with state and have to be protected. Example:
I do hope this will give you a way to visualize and process Erlang programs. If anything is unclear, feel free to prod me.
Sequence diagrams can be a good tool for visualising processes and the flow of messages and control between them. I seem to remember that they actually existed before UML.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With