Synthesis from diagrams (especially UML/SysML) embodies guarded actions:
The stategraph general form is:
stategraph graph_name() { state statename0 (subgraph_name, subgraph_entry_state), ... : entry: statement; exit: statement; body: statement; statement; ... // implied 'body:' statements statement; c1 -> statename1: statement; c2 -> statename2: statement; c3 -> exit(good); ... exit(good) -> statename3: statement; exit(bad) -> statename4: statement; ... endstate state statename2: ... ... endstate state abort: // A special state that can be // forced remotely (also called disable). ... }
26: (C) 2008-13, DJ Greaves, University of Cambridge, Computer Laboratory. |