RRRSpec is splitted into several gems:
- rrrspec-client: Client and Slaves
- rrrspec-server: Dispatcher, Arbiter, and Worker
- rrrspec-web
- Task: one
*_spec.rb
file - Taskset: a set of tasks
- Trial: one execution result of task
There are several actors in the system:
- Client: Create a taskset
- Dispatcher: Dispatch a taskset to the workers
- Worker: Create and destroy slaves
- Slave: Execute tasks and report their results to the arbiter
- Arbiter: Determine whether a task is completed
To verify the fault-tolerance properies of RRRSpec, a model checker Sandal is created, but the model of RRRSpec is not yet created.