Introducing Runway, a distributed systems design tool
1–10 of 12 posts
Re: Introducing Runway, a distributed systems design tool
#2We've also released a tool for testing distributed systems, https://github.com/gundb/panic-server . It integrates with your existing tests (like mocha and others), and even reports/throws bugs back from the remote machines you're testing across.
Re: Introducing Runway, a distributed systems design tool
#3I think the next logical feature would be to have Runway compile a model-checked specification to an actual C++/Java/go/python implementation, using something like Thrift or CapnProto RPC codegen. There has been some work on doing similar spec->implementation compilation from Coq to erlang [0] but the author hit a lot of obstacles.
[0] - http://christophermeiklejohn.com/coq/erlang/2013/11/19/verif...
Re: Introducing Runway, a distributed systems design tool
#4Re: Introducing Runway, a distributed systems design tool
#5Re: Introducing Runway, a distributed systems design tool
#6This is very interesting. It seems like a much more user-friendly version of TLA+. Wonder what Lamport thinks about it :) I think the next logical feature would be to have Runway compile a model-checked specification to an actual C++/Java/go/python implementation, using something like Thrift or CapnProto RPC codegen. There has been some work on doing similar spec->implementation compilation from Coq to erlang [0] but…
Re: Introducing Runway, a distributed systems design tool
#7This is very interesting. It seems like a much more user-friendly version of TLA+. Wonder what Lamport thinks about it :) I think the next logical feature would be to have Runway compile a model-checked specification to an actual C++/Java/go/python implementation, using something like Thrift or CapnProto RPC codegen. There has been some work on doing similar spec->implementation compilation from Coq to erlang [0] but…
Re: Introducing Runway, a distributed systems design tool
#8Re: Introducing Runway, a distributed systems design tool
#9Re: Introducing Runway, a distributed systems design tool
#10> including formal specification, model checking, formal and informal
> proofs, simulation, and visualization. I’ve found all of these things
> valuable to learn about, and I think some of them are entirely practical
> to use. However, standard practice in industry is to use none of them.
This is what surprised me most when I started learning about formal specifications. I had been developing distributed systems for years armed with nothing but algorithms, papers, and my own sloppy thinking. I had worked alongside some very smart, senior people who never brought out any kind of formal specification.
It wasn't until I met a researcher developing his own specification method that I heard about such tools.
And I'm super-glad I jumped in.
I'm happy to see more tools entering the space. My feeling is that they are becoming sophisticated enough that we will be able to see people adopting them in the wider industry, even in open-source software. I believe they should be the state of the art. I also think that any distributed system should be published with a formal specification, if not proof, before being accepted into wider adoption by industry.
update formatting