September 26-29 2006, Paris, France

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.