equal
deleted
inserted
replaced
|
1 Spec = List + IOA + Action + |
|
2 |
|
3 consts |
|
4 |
|
5 spec_sig :: "'m action signature" |
|
6 spec_trans :: "('m action, 'm list)transition set" |
|
7 spec_ioa :: "('m action, 'm list)ioa" |
|
8 |
|
9 rules |
|
10 |
|
11 sig_def "spec_sig == <UN m.{S_msg(m)}, \ |
|
12 \ UN m.{R_msg(m)}, \ |
|
13 \ {}>" |
|
14 |
|
15 trans_def "spec_trans = \ |
|
16 \ {tr. let s = fst(tr); \ |
|
17 \ t = snd(snd(tr)) \ |
|
18 \ in \ |
|
19 \ case fst(snd(tr)) \ |
|
20 \ of \ |
|
21 \ S_msg(m) => t = s@[m] | \ |
|
22 \ R_msg(m) => s = (m#t) | \ |
|
23 \ S_pkt(pkt) => False | \ |
|
24 \ R_pkt(pkt) => False | \ |
|
25 \ S_ack(b) => False | \ |
|
26 \ R_ack(b) => False | \ |
|
27 \ C_m_s => False | \ |
|
28 \ C_m_r => False | \ |
|
29 \ C_r_s => False | \ |
|
30 \ C_r_r(m) => False}" |
|
31 |
|
32 ioa_def "spec_ioa == <spec_sig, {[]}, spec_trans>" |
|
33 |
|
34 end |