The PlusCal Algorithm Language
Algorithms are different from programs and should not be described with programming languages. The only simple alternative to programming languages has been pseudo-code. PlusCal is an algorithm language that can be used right now to replace pseudo-code, for both sequential and concurrent algorithms. It is based on the TLA + specification language, and a PlusCal algorithm is automatically translated to a TLA + specification that can be checked with the TLC model checker and reasoned about formally.
KeywordsModel Check Mutual Exclusion Liveness Property Empty Sequence Abstract State Machine
Unable to display preview. Download preview PDF.
- 4.Lamport, L.: The PlusCal algorithm language, http://research.microsoft.com/users/lamport/tla/pluscal.html The page can also be found by searching the Web for the 25-letter string obtained by removing the “-” from uid-lamportpluscalhomepage
- 8.Lamport, L.: What good is temporal logic? In: Mason, R.E.A. (ed.) Information Processing 83: Proceedings of the IFIP 9th World Congress, Paris, IFIP, pp. 657–668. North-Holland, Amsterdam (1983)Google Scholar
- 9.Pratt, V.R.: Semantical considerations on Floyd-Hoare logic. In: 17th Symposium on Foundations of Computer Science, pp. 109–121. IEEE, Los Alamitos (1976)Google Scholar
- 10.Lynch, N.A.: Distributed Algorithms. Morgan Kaufmann, San Mateo (1995)Google Scholar
- 11.Francez, N.: Fairness. Texts and Monographs in Computer Science. Springer, Heidelberg (1986)Google Scholar
- 16.Holzmann, G.J.: The Spin Model Checker. Addison-Wesley, Boston (2004)Google Scholar