"..Harel State Tables are a state machine notation that was developed by the mathematician David Harel [Harel and Politi] and is included in UML [UML 2.3]. They offer a clean and well-thought out semantics for sophisticated constructs such as a parallel states. They have been defined as a graphical specification language, however, and hence do not have an XML representation. The goal of this document is to combine Harel semantics with an XML syntax that is a logical extension of CCXML's state and event notation.."
State Chart XML (SCXML): State Machine Notation for Control Abstraction
I like the microwave example:
I like the microwave example:
<scxml datamodel="ecmascript" initial="off" version="1.0" xmlns="http://www.w3.org/2005/07/scxml"> <datamodel> <data expr="5" id="cook_time"> <data expr="true" id="door_closed"> <data expr="0" id="timer"> </data></data></data></datamodel> <state id="off"> <transition event="turn.on" target="on"> </transition></state> <state id="on"> <initial> <transition target="idle"> </transition></initial> <transition event="turn.off" target="off"> <transition cond="timer >= cook_time" target="off"> <state id="idle"> <transition cond="door_closed" target="cooking"> <transition event="door.close" target="cooking"> <assign expr="true" location="door_closed"> </assign></transition> </transition></state> <state id="cooking"> <transition event="door.open" target="idle"> <assign expr="false" location="door_closed"> </assign></transition> <transition event="time"> <assign expr="timer + 1" location="timer"> </assign></transition> </state> </transition></transition></state> </scxml>
No comments:
Post a Comment