Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Tools for modeling Erlang systems

Tags:

erlang

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?

like image 713
mihannus Avatar asked Nov 26 '10 17:11

mihannus


2 Answers

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: alt text

  • 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: alt text

I do hope this will give you a way to visualize and process Erlang programs. If anything is unclear, feel free to prod me.

like image 157
I GIVE CRAP ANSWERS Avatar answered Sep 30 '22 17:09

I GIVE CRAP ANSWERS


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.

like image 42
rvirding Avatar answered Sep 30 '22 16:09

rvirding