4 ms·
If you let your students model their distributed system with pure functions where each function takes the current state and an event (for example a received mes
by toolslive 8y ago
If you let your students model their distributed system with pure functions where each function takes the current state and an event (for example a received message, or a timeout) as inputs and produces a new state together with the actions to be taken (sending of messages), then it's possible (and rather easy) to build the state space in a simulator and verify it. It might explode, but then again, Alloy shows that most bugs in these algorithms already show themselves after the first few steps.
- macintux 8y ago> If you let your students model their distributed system with pure functions where each function takes the current state and an event (for example a received message, or a timeout) as inputs and produces a new state together with the actions to be taken (sending of messages)... If they were going to do that, they should have just used Erlang instead. That’s precisely the OTP model.
- toolslive 8y agoIknow. Honestly, I think it's THE RIGHT WAY(tm) to do distributed systems. So, I wonder why they are not teaching this.
- naasking 8y agoCloud types are pretty nice too [1], and they expose a familiar branch/merge model for anyone that has any familiarity with version control systems. Which should be every developer at this point. I doubt there's one true distributed systems model, but there are some good ones which overlap, and some which excel in different domains. [1] https://www.microsoft.com/en-us/research/publication/cloud-types-for-eventual-consistency/ https://www.microsoft.com/en-us/research/publication/cloud-t...