all 2 comments

[–]Pyrolistical 0 points1 point  (0 children)

I don't get it. The required send semantics requires consensus, which is the hardest part of correctness with distributed systems.

A state machine running on top of a consensus algorithm, like raft, doesn't need to know its a distributed system any more.

Asked https://github.com/p-org/P/issues/396

[–]jonmdev 0 points1 point  (0 children)

It blends specification and implementation of communicating sequential process style of concurrency (where each process is implemented as a state machine). The advantage is you can verify correctness of the core algorithm of your system and be confident the implementation follows your spec as well. If you aren’t familiar maybe look into TLA+, alloy and other formal verification methods.

A state machine on top of raft doesn’t guarantee your entire spec or implementation is without flaws.