How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs

Lamport
1979 IEEE transactions on computers  
doi:10.1109/tc.1979.1675439 fatcat:f3nncbh54jhgtkqxr2do4qsrae