NetSimLan is a software simulating distributed systems. It's made for but not limited to visualizing self stabilizing systems.
NetSimLan allows the implementation of algorithms in an easy language. Communication between network nodes is represented in an abstract way in this language. The software handles exceptions for unset variables, erroneous array indices and incorrect arithmetic expressions. The user's program is compiled and runs inside a simulation. NetSimLan offers semi-synchronous and asynchronous communication. Every network node is periodically interrupted. A semi-synchronous node handles all messages it receives to the point of that interrupt. Afterwards it runs a special method called timeout, if implemented. On an interrupt an asynchronous nodes handles a random number of random messages or calls the special method timeout.