Revision control

++ <?xml version="1.0" encoding="UTF-8"?>
++ <!--
++ // Copyright (C) 2023 The Qt Company Ltd.
++ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
++ -->
++ <scxml
++ version="1.0"
++ name="TrafficLightStateMachine"
++ initial="working"
++ >
++ <state id="working" initial="yellow">
++ <state id="red">
++ <onentry>
++ <send event="startGoingGreen" delay="3s"/>
++ </onentry>
++ <transition event="startGoingGreen" target="redGoingGreen"/>
++ </state>
++
++ <state id="yellow" initial="greenGoingRed">
++ <state id="redGoingGreen">
++ <onentry>
++ <send event="goGreen" delay="1s"/>
++ </onentry>
++ <transition event="goGreen" target="green"/>
++ </state>
++
++ <state id="greenGoingRed">
++ <onentry>
++ <send event="goRed" delay="1s"/>
++ </onentry>
++ <transition event="goRed" target="red"/>
++ </state>
++ </state>
++
++ <state id="green">
++ <onentry>
++ <send event="startGoingRed" delay="3s"/>
++ </onentry>
++ <transition event="startGoingRed" target="greenGoingRed"/>
++ </state>
++
++ <transition event="smash" target="broken"/>
++ </state>
++
++ <state id="broken" initial="blinking">
++ <state id="blinking">
++ <onentry>
++ <send event="unblink" delay="1s"/>
++ </onentry>
++ <transition event="unblink" target="unblinking"/>
++ </state>
++
++ <state id="unblinking">
++ <onentry>
++ <send event="blink" delay="1s"/>
++ </onentry>
++ <transition event="blink" target="blinking"/>
++ </state>
++
++ <transition event="repair" target="working"/>
++ </state>
++ </scxml>