26th IFIP WG 6.1 International Conference on
Formal Methods for Networked and Distributed Systems
Special focus on verified middleware and distributed services
The +CAL Algorithm Language
Algorithms are different from programs and should not be described with programming languages. For example, algorithms are usually best described in terms of mathematical objects like sets and graphs instead of the primitive objects like bytes and integers provided by programming languages. Until now, the only simple alternative to programming languages has been pseudo-code.+CAL is an algorithm language based on TLA+. A +CAL algorithm is automatically translated to a TLA+ specification that can be checked with the TLC model checker or reasoned about formally. +CAL makes pseudo-code obsolete.