ALICe documentation

Model halbwachs4

«  Model halbwachs3   ::   Contents   ::   Model halbwachs5  »

Model halbwachs4

Cited in: [Halbwachs_misc10] p. 16.

Tag: fixpoint.

Figure

../_images/halbwachs4.png

Source code

model halbwachs_aussois10_16 {

  var b, ok, x, y;

  states k;

  transition t6 := {
    from   := k;
    to     := k;
    guard  := b = 1 && x < y;
    action := b' = 0, y' = y + 1, ok' = 0;
  };

  transition t5 := {
    from   := k;
    to     := k;
    guard  := b = 1 && ok = 0;
    action := b' = 0, y' = y + 1, ok' = 0;
  };

  transition t4 := {
    from   := k;
    to     := k;
    guard  := b = 1 && ok = 1 && x >= y;
    action := b' = 0, y' = y + 1, ok' = 1;
  };

  transition t3 := {
    from   := k;
    to     := k;
    guard  := b = 0 && x < y;
    action := b' = 1, x' = x + 1, ok' = 0;
  };

  transition t2 := {
    from   := k;
    to     := k;
    guard  := b = 0 && ok = 0;
    action := b' = 1, x' = x + 1, ok' = 0;
  };

  transition t1 := {
    from   := k;
    to     := k;
    guard  := b = 0 && ok = 1 && x >= y;
    action := b' = 1, x' = x + 1, ok' = 1;
  };

}

strategy halbwachs_aussois10_16_s {

  Region init := {state = k && b = 0 && ok = 1 && x = 0 && y = 0};

}

Expected invariant

{ k[v1, v2, v3, v4] : v2 <= -1 or v2 >= 1 }

Results

  • With Aspic: { k[b, 1, x, -b + x] : b >= 0 and x >= b } (0.05s), OK.
  • With ISL: { k[0, 1, x__1, x__1] : x__1 >= 1; k[1, 1, x__1, -1 + x__1] : x__1 >= 1; k[0, 1, 0, 0] } (0.06s), OK.

«  Model halbwachs3   ::   Contents   ::   Model halbwachs5  »