Caal Specification Language

We refer to our tutorial for an informal introduction to Caal.

Process constants start with capital letters, channel names with small letters and dual channels begin with an apostrophe (e.g. 'out). The silent action is denoted as tau.

CCS Expression Syntax
Nil process 0
Process definition A = a.tau.P;
Action prefixing - input a.tau.P
Action prefixing - output 'a.tau.P
Choice operator P + Q
Parallel composition P | Q
Restriction P \ {a,b}
Renaming of channels P[b/a, d/c]
Set definition set L = {a,b,c}
Comment * This is a comment
TCCS Expression Syntax
Delay prefixing 3.tau.P

The property language supports multiple recursively defined HML formulae that are however not mutually recursive.

HML Formula Syntax
True tt or T
False ff or F
Conjunction H and G
Disjunction H or G
Strong existential modality <a,b>H
Weak existential modality <<a,b>>H
Strong universal modality [a,b]H
Weak universal modality [[a,b]]H
Wildcard character for all actions -, e.g. <->H
Minimum fixed-point definition X min= <a>tt or <->X;
Maximum fixed-point definition X max= <a>tt and [-]X;
Several recursively defined variables X max= <a>tt and Y and [-]X;
Y min= <b>tt or <->Y;
THML Formula Syntax
Strong existential timed modality <4>H or <2,5>H
Weak existential timed modality <<4>>H or <<2,5>>H
Strong universal timed modality [4]H or [2,5]H
Weak universal timed modality [[4]]H or [[2,5]]H