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
++ xmlns="http://www.w3.org/2005/07/scxml"
++ version="1.0"
++ profile="ecmascript"
++ id="root">
++
++ <datamodel>
++ <data id="util"/>
++ <data id="submodule1"/>
++ <data id="submodule2"/>
++ <data id="submodule3"/>
++ <data id="submodule4"/>
++ </datamodel>
++
++ <script>
++ util = require('util'); //require built-in module
++ console.log('hello');
++ submodule1 = require('./submodule1');
++ </script>
++
++ <script src="script2.js"/>
++
++ <state id="a">
++ <onentry>
++ <script>
++ submodule3 = require('./submodule3');
++ </script>
++ <script src="script4.js"/>
++ <log label="util" expr="util"/>
++ <log label="submodules" expr="[submodule1, submodule2, submodule3, submodule4]"/>
++ </onentry>
++
++ <transition event="t" target="b" cond="util && submodule1 && submodule2 && submodule3 && submodule4"/>
++ <transition event="t" target="f"/>
++ </state>
++
++ <state id="b"/>
++ <state id="f"/>
++
++ </scxml>