Honeywell PML  | 
WHEN request =>
    CASE s(i).state IS
      WHEN idle =>
      WHEN request =>
        IF (s(current_driver) <s(i)) THEN
          current_driver := i;
        END IF;
      WHEN ack | busy =>
        current_driver := i;
        current_state:= s(i).state;
  END CASE;
 | 
Copyright Honeywell, Inc. Reprinted with permission.