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.
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