FARnodes is a protocol simulation and execution environment. FARnodes project comes with a command-line frontend, a protocol code distribution manager, and a statistical analyser based on PyKDE.
Example algorithms like Consensus and several other small tools and a big chunk of documentation make this a suitable entry-level software for people who have some interest in this (somewhat academic) area.
Here are some key features of "FARnodes":
· High portability and easy extensibility of the framework due to a pure Python implementation.
· Protocols can assume either fully synchronous or asynchronous systems, or one of FAR (Finite Average Response times) or PS (Partial Synchrony).
· Channels can exhibit unreliable or stubborn behaviour.
· Failure detectors include EA-FD and PS-FD, both eventually perfect, but others can be added.
· Simulations can expect a virtual timer and can be saved and reloaded in many cases.
· Tools for remote execution and graphical data analysis.
Requirements:
· Python 2.3+ is required for all operations
· Pygame (SDL for Python) is required for the graphical simulation frontend
· SSH and SSH utilities are required for distributed execution
· PyKDE is needed for the graphical analyser tool
Product's homepage
Here are some key features of "FARnodes":
· High portability and easy extensibility of the framework due to a pure Python implementation.
· Protocols can assume either fully synchronous or asynchronous systems, or one of FAR (Finite Average Response times) or PS (Partial Synchrony).
· Channels can exhibit unreliable or stubborn behaviour.
· Failure detectors include EA-FD and PS-FD, both eventually perfect, but others can be added.
· Simulations can expect a virtual timer and can be saved and reloaded in many cases.
· Tools for remote execution and graphical data analysis.
Requirements:
· Python 2.3 is required for all operations
· Pygame (SDL for Python) is required for the graphical simulation frontend
· SSH and SSH utilities are required for distributed execution
· PyKDE is needed for the graphical analyser tool