Revision control

++ <?xml version="1.0" encoding="UTF-8"?>
++ <!--
++ Copyright 2011-2012 Jacob Beard, INFICON, and other SCION contributors
++
++ Licensed under the Apache License, Version 2.0 (the "License");
++ you may not use this file except in compliance with the License.
++ You may obtain a copy of the License at
++
++
++ Unless required by applicable law or agreed to in writing, software
++ distributed under the License is distributed on an "AS IS" BASIS,
++ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ See the License for the specific language governing permissions and
++ limitations under the License.
++ -->
++ <scxml
++ version="1.0"
++ datamodel="ecmascript">
++
++ <datamodel>
++ <data id="x" expr="0"/>
++ </datamodel>
++
++ <transition event="*">
++ <log label="x" expr="x"/>
++ </transition>
++
++ <state id="a">
++ <onentry>
++ <assign location="x" expr="x + 1"/>
++ </onentry>
++
++ <onexit>
++ <assign location="x" expr="x + 1"/>
++ </onexit>
++
++ <state id="a1">
++ </state>
++
++ <state id="a2">
++ <!-- if we had exited and re-entered 'a', then x would be 3. but instead it's 1 -->
++ <transition target="b" event="t2" cond="x === 1" />
++ </state>
++
++ <transition target="a2" event="t1" type="internal" cond="x === 1"/>
++ </state>
++
++ <state id="b">
++ <transition target="c" event="t3" cond="x === 2" />
++ </state>
++
++ <state id="c"/>
++
++ </scxml>