MACHINE button
DEFINITIONS 
     "LibraryMeta.def";
      VISB_JSON_FILE == "button.json"
VARIABLES
  button
INVARIANT
  button:BOOL
INITIALISATION
  button := FALSE
OPERATIONS
  press_button = PRE button=FALSE THEN
    button:=TRUE
  END;
  toggle_button = BEGIN
    button:= bool(button=FALSE)
  END;
  set_button(newVal) = PRE newVal:BOOL THEN
     button := bool(newVal=TRUE)
  END
END