24
CS269: HW/SW Engineering of Embedded Systems, Winter02
Propositions on Temporal Order of States
• Linear Temporal Logic (LTL):
  propositions over state variables
  - temporal operators: X, U, F, G
  - logical operators: &&, !, ||, ->,  <->
  - ltl() method to specify constraints
• Built-in constructs on the LTL:
  excl, mutex, simul
medium M{
   word storage;
   int n, space;
   void write(word z){
   wr: {
      await(space>0)[this]
   l1:        n=1; space=0; storage=z;
      }
   }
   word read(){
   rd: {
      await(n>0)[this]
   l2:       n=0; space=1; return storage;
      }
   }
   constraints{
        process p, q;
        ltl(G(pc(p)==beg(wr) ->
             F(pc(q)==end(rd))));
   }
}
constraints{...} can appear anywhere
in the meta-model programs.