• Couldn't you have created a conventional wiki page? - Oh, we have a HomePage too, just for you.
  • Will Commons SCXML engine be able to execute this state machine? - You'll have to try that, but as a project we sure hope to.
  • I've got a question, can you answer it? - Take a look at the FrequentlyAskedQuestions.

<?xml version="1.0"?>

<scxml xmlns="http: //www.w3.org/2005/07/SCXML" version="1.0" initialstate="ProjectProposal">

<state id="ProjectProposal">
<transition event="feedback.received">
<target next="Setup"/>
</transition>

<onexit>
<log expr="Commons-SCXML is born"/>
</onexit>
</state>

<state id="Setup">
<initial>
<transition>
<target next="Wiki" />
</transition>
</initial>

<state id="Wiki">
<onentry>
<log expr="Add a FrequentlyAskedQuestions page"/>
</onentry>

<transition event="wiki.created">
<target next="ProjectRepository"/>
</transition>
</state>

<state id="ProjectRepository">
<transition event="initial.checkin.done">
<target next="Work"/>
</transition>
</state>
</state>

<state id="Work">
<parallel>
<onentry>
<log expr="Post ReleasePlan"/>
</onentry>

<state id="code">
<transition event="code.written" cond="${code.features eq 'sufficient'}">
<target next="Vote" />
</transition>
</state>

<state id="trackbugs">
<transition event="ticket.received">
<log expr="Resolve bugzilla ticket number ${ticket.number}"/>
</transition>
</state>

<state id="attendemails">
<transition event="discussion.started">
<log expr="Participate in ${discussion.title} discussion"/>
</transition>
</state>

<onexit>
<if cond="${bugzilla.opentickets gt 0}">
<log expr="Fix bugzilla tickets"/>
</if>

<log expr="Post ReleaseCandidate"/>
</onexit>
</parallel>
</state>

<state id="Vote">
<transition event="vote.pass">
<var name="version" expr="${previous.version + 0.1}"/>

<target next="Release"/>
</transition>

<transition event="vote.fail">
<log expr="Try harder"/>

<target next="Work"/>
</transition>
</state>

<state id="Release">
<transition event="release.cut">
<target next="Work"/>
</transition>

<onexit>
<log expr="Announce Release"/>
</onexit>
</state>

</scxml>

  • No labels