For me, there’s no better explanation possible than the description of software behavior in Specifying Systems by Leslie Lamport: > Formally, we define a behavior to be a sequence of states, where a state is an assignment of values to variables. We specify a system by specifying a set of possible behaviors—the…
If you're interested in learning TLA+, the best resources are: (1) Specifying Systems by Leslie Lamport (https://lamport.azurewebsites.net/tla/book.html) This is the original TLA+ textbook (I myself learned from it) and is very thorough, but sometimes fails to differentiate between specs…
…and guide as you start specifying your own systems [2]. It has a number of examples and projects to work on. Eventually if you want to go deep after you've decided it's worth it for yourself, get into Specifying Systems the text book and bible of TLA+ [3]. Program Synthesis has a lot of research in it and is starting to show promising results. I'd say that while the research has been going on for a long time it's still…
…Amazon to check designs for their distributed algorithms. They have used it to check parts of S3 for example: https://lamport.azurewebsites.net/tla/formal-methods-amazon.... Best reference is the book Specifying Systems: https://lamport.azurewebsites.net/tla/book-02-08-08.pdf. Then you have theorem provers / proof assistants based on type theory. These are frankly complex, but getting better. F*: This one is the most…
Read Leslie Lamport's Specifying Systems (2003),¹ study the example modules, study others' modules online, and write your own. It's a really good way to bug test your program's logic before you choose the language to code it in. It's not easy…
For anybody interested in this field: Specifying Systems by Leslie Lamport, the same guy that gave us Logical Clocks and Paxos (free on Ms Reseach website): http://research.microsoft.com/en-us/um/people/lamport/tla/bo...
对我来说,要解释软件行为,没有什么比 Leslie Lamport 在《Specifying Systems》中的描述更到位的了:> 形式上,我们将一种行为(behavior)定义为一个状态序列,其中状态是变量到值的映射赋值。我们通过指定一组可能出现的形式行为来规范一个系统——即……
For me, there’s no better explanation possible than the description of software behavior in Specifying Systems by Leslie Lamport: > Formally, we define a behavior to be a sequence of states, where a state is an assignment of values to variables. We specify a system by specifying a set of possible behaviors—the…
如果你想学 TLA+,最好的资源是:(1) Leslie Lamport 的《Specifying Systems》(https://lamport.azurewebsites.net/tla/book.html)这是 TLA+ 的原版教材(我自己就是看它学会的),内容非常详尽,不过有时没能分清规格说明(specs)……
If you're interested in learning TLA+, the best resources are: (1) Specifying Systems by Leslie Lamport (https://lamport.azurewebsites.net/tla/book.html) This is the original TLA+ textbook (I myself learned from it) and is very thorough, but sometimes fails to differentiate between specs…
……以及在你开始规范自己的系统时的指南 [2]。它包含了大量可以动手的示例和项目。最后,如果你觉得自己评估过后值得深入研究,可以去读《Specifying Systems》,那是 TLA+ 的教科书和圣经 [3]。程序合成(Program Synthesis)领域有大量的研究,现在开始展现出喜人的成果。我想说的是,尽管这项研究已经进行了很长时间,但它依然……
…and guide as you start specifying your own systems [2]. It has a number of examples and projects to work on. Eventually if you want to go deep after you've decided it's worth it for yourself, get into Specifying Systems the text book and bible of TLA+ [3]. Program Synthesis has a lot of research in it and is starting to show promising results. I'd say that while the research has been going on for a long time it's still…
……亚马逊用它来检查其分布式算法的设计。比如他们曾用它检查过 S3 的部分模块:https://lamport.azurewebsites.net/tla/formal-methods-amazon.... 最好的参考资料是《Specifying Systems》这本书:https://lamport.azurewebsites.net/tla/book-02-08-08.pdf。接下来就是基于类型论的定理证明器 / 证明助手了。说实话这些很复杂,但正在变得越来越好。F*:这个是最……
…Amazon to check designs for their distributed algorithms. They have used it to check parts of S3 for example: https://lamport.azurewebsites.net/tla/formal-methods-amazon.... Best reference is the book Specifying Systems: https://lamport.azurewebsites.net/tla/book-02-08-08.pdf. Then you have theorem provers / proof assistants based on type theory. These are frankly complex, but getting better. F*: This one is the most…
去读 Leslie Lamport 2003 年写的《Specifying Systems》¹,研读里面的示例模块,去网上学习别人写的模块,然后自己动手写。在决定用什么语言写代码之前,这是给程序的逻辑做 debug 排错的极佳方式。虽然这并不容易……
Read Leslie Lamport's Specifying Systems (2003),¹ study the example modules, study others' modules online, and write your own. It's a really good way to bug test your program's logic before you choose the language to code it in. It's not easy…
给所有对这个领域感兴趣的人推荐:Leslie Lamport 写的《Specifying Systems》,就是提出逻辑时钟(Logical Clocks)和 Paxos 的那位大神(微软研究院官网上免费提供):http://research.microsoft.com/en-us/um/people/lamport/tla/bo...
For anybody interested in this field: Specifying Systems by Leslie Lamport, the same guy that gave us Logical Clocks and Paxos (free on Ms Reseach website): http://research.microsoft.com/en-us/um/people/lamport/tla/bo...