TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Leslie Lamport: Video course on TLA+

328 pointsby kelvichabout 8 years ago

16 comments

ahelwerabout 8 years ago
Great to see this here! I act as a TA for Dr. Lamport&#x27;s TLA+ courses at Microsoft, and can answer any questions y&#x27;all have.<p>TLA+ in one sentence: it is a language used to write specifications, same as you might write a spec in English&#x2F;your chosen informal language, except here you write your spec in basic mathematics; benefits of a formal specification language include freedom from ambiguity, model-checking, and even machine-checked proofs of correctness.<p>This language is a joy to use and I&#x27;ve found it really affects the way I think about system design.
评论 #13919274 未加载
评论 #13919157 未加载
评论 #13920139 未加载
评论 #13919123 未加载
评论 #13923590 未加载
评论 #13920789 未加载
评论 #13919272 未加载
评论 #13919691 未加载
评论 #13919471 未加载
评论 #13924257 未加载
评论 #13919837 未加载
评论 #13919483 未加载
algorithmsRcoolabout 8 years ago
Introduction @2:49<p>&quot;What kind of clown am I claiming that I know what can make you think better? ... This is not the time to be modest. I have done seminal research in the theory of distributed and concurrent systems for which i won the turning award. You can stop the video now and look me up on the web. &lt;long pause&gt;...&quot;
评论 #13919030 未加载
setheronabout 8 years ago
I viewed this original when he posted them on the newsgroup. I thought they were very well done, funny and enjoyable. I still haven&#x27;t applied TLA+ into something at work however I enjoyed learning it nevertheless.
sdbbpabout 8 years ago
In my experience, writing a formal specification _once_ in TLA+ has shaped my mindset around architecture, implementation, and verification of distributed systems for the last 19 years. It&#x27;s easier to provide feedback on most informal architecture specifications. It is easier to implement to a specification so as to have a higher confidence of compliance. It is easier to consider the state space of an architecture (distributed system) when in a testing&#x2F;verification role.
nevesabout 8 years ago
I&#x27;m about to start a new system that will have a state machine. The videos are really good to help to think about the problem. This guy didn&#x27;t get a Turing Prize for nothing:-)<p>I won&#x27;t even try to use TLA+ in my business context. Just will search for a good java library. Maybe these videos will help me to recognize a good one?<p>BTW, do any of my HN&#x27;s fellows have a good Java state machine opens source library to recommend?
评论 #13919391 未加载
mooneaterabout 8 years ago
Ok I would love to know more about how the RTOS code was shrunk by 10x using TLA+ (at 8:28)
评论 #13920651 未加载
colandermanabout 8 years ago
While TLA+ itself is great, I suspect for many here that PlusCal (a &quot;veneer&quot; on top of TLA+) is more immediately useful. I didn&#x27;t fully grasp either language until I understood PlusCal for what it is: a simple procedural language with two nondeterministic constructs, which can be used for describing concurrent state machines. Nothing more, nothing less.<p>(To understand PlusCal, you need first understand the basics of TLA+, but you don&#x27;t need to understand the action system 100% in-depth.)<p>The idea behind PlusCal is to write your algorithm in it, leaving out the &quot;unimportant&quot; bits, and using the nondeterministic operators in place of any value that is not in your algorithm&#x27;s control. The model checker, TLC, can then run all possible traces of your algorithm to search for conditions under which it may deadlock or violate some assertion you have made.
Aclassifierabout 8 years ago
I watched this very interesting and amusing series of videos and learned a lot from them. I was shown practical in-use and the motivation for mathematical syntax. I know Promela and CSPm some so I was curious to see more than a trivial example of some C lines becoming a TLA+ spec. I missed real-life examples of down-to-earth usage. The &quot;Formal Development of a Network-Centric RTOS&quot; book shows not only TLA+ but also why in their situation TLA+ was more suitable then other methodologies. Still, on TLA+ I miss the forest for the trees. I probably need more time with Lamport. I hope he&#x27;s able to do a follow-up. (Or am I unfair here?)
gizmodo59about 8 years ago
Just finished the first video. Very nicely done. The website is nicely done too, not obtrusive and makes the learner to focus on the video. +1
rebootthesystemabout 8 years ago
In many ways this is what APL was originally about. Ken Iverson used it to describe the operation of early IBM computers while at IBM.
评论 #13921413 未加载
babyabout 8 years ago
&gt; TLA+ (pronounced as tee ell a plus, &#x2F;ˈtiː ɛl eɪ plʌs&#x2F;) is a formal specification language developed by Leslie Lamport. It is used to design, model, document, and verify concurrent systems. TLA+ has been described as exhaustively-testable pseudocode[4] and blueprints for software systems.[5]<p>from wikipedia
nchuhoaiabout 8 years ago
Possibly a side question:<p>What do people think of the format? I have off and on been thinking about a format where the video is the main highlight, but is supported, like this one, with links and other media to make it a more engaging experience. Are there other use cases that you think this would be conducive for?
shaunxcodeabout 8 years ago
These are great so far! I wish you had posted about it once they were all available though as I was fully prepared to binge watch.
Ambrosiaabout 8 years ago
Relevant: <a href="http:&#x2F;&#x2F;sam.js.org" rel="nofollow">http:&#x2F;&#x2F;sam.js.org</a>
Avshalomabout 8 years ago
So how amenable is tla+ to automatic translation to an existing programming language?
评论 #13919952 未加载
评论 #13921544 未加载
评论 #13919320 未加载
devdoomariabout 8 years ago
the video says it&#x27;s &#x27;video#1&#x27;... so where&#x27;s the link to video#2, #3, ... ???<p>*edit: sorry I see the link after the end of video#1...