Re:Computation and State Machines (2008) [pdf]
by pron on Monday December 12, 2016 @05:30AM
(#13157085)
This is not quite what Lamport is saying. Lamport is not talking about the process of writing programs, but about reasoning about programs. You build an analog circuit by composing components (that would be programming), but you reason about what it does and how it does it using ordinary differential equations. Lamport notes that state machines are a universal model for discrete dynamical system, and they can be manipulated mathematically using notation analogous to ODEs for continuous dynamical systems. Lamport does not suggest that you should program using a state machine abstraction, nor does he offer any notation for doing so.
[ Parent
| on HN ]
Re:Computation and State Machines (2008) [pdf]
by RossBencina on Monday December 12, 2016 @05:53AM
(#13157183)
> Lamport does not suggest that you should program using a state machine abstraction, nor does he offer any notation for doing so.
On the other hand, David Harel, also a mathematician, did both of these things. https://news.ycombinator.com/item?id=13157153
Re:Computation and State Machines (2008) [pdf]
by pron on Monday December 12, 2016 @06:28AM
(#13157304)
Yes, and both rely on Pnueli's temporal logic. But Harel and Lamport apply a similar theory to different domains, neither suggesting the exclusion of the application to the other domain. Lamport offers abstract state machines as a universal mathematical formalism for reasoning about discrete dynamical systems regardless of how they're constructed, while Harel offers concrete state machines for programming safety-critical, hard-realtime embedded systems that are easy for both humans and machines to analyze.