You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

  • Couldn't you have created a conventional wiki page? - Oh, we have a [wiki:/HomePage 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 [wiki:/SCXMLFaq FAQs].


<?xml version="1.0"?>

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

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

<onexit>
<log expr="[http://jakarta.apache.org/commons/sandbox/scxml Commons-SCXML] is born"/>
</onexit>
</state>

<state id="Setup">
<initial>
<transition>
<target next="[wiki:/HomePage Wiki]" />
</transition>
</initial>

<state id="[wiki:/HomePage Wiki]">
<onentry>
<log expr="Add a [wiki:/FrequentlyAskedQuestions FrequentlyAskedQuestions] page"/>
</onentry>

<transition event="wiki.created">
<target next="[http://svn.apache.org/repos/asf/jakarta/commons/sandbox/scxml/trunk ProjectRepository]"/>
</transition>
</state>

<state id="[http://svn.apache.org/repos/asf/jakarta/commons/sandbox/scxml/trunk 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