Hello,<div><br></div><div>I'm using the state chart style for processing application logic. So far I've gotten by with finishing actions attached to specific events, but now I'd like to use an entering action for an entire labeled expression. Here's an example:</div>
<div><br></div><div>machine := (</div><div>start: START -> A,</div><div>A: (IDLE -> A |</div><div>   POLL @poll OPEN -> A |</div><div>   POLL @poll CLOSED -> B), >~a_entry,</div><div>B: (IDLE -> B |</div>
<div>   EXIT -> final)</div><div>);</div><div><br></div><div>I would like to execute a_entry once and only once when the A "loop" is entered. It does execute on entrance, but then it also executes every time I get IDLE or POLL OPEN.</div>
<div><br></div><div>Is there a way to make a_entry execute only once while still using state charts and the union operator in the same structure? I suppose the following would work:</div><div><br></div><div>A: (IDLE | POLL @poll OPEN)* POLL @poll CLOSED -> B >~a_entry;</div>
<div><br></div><div>But I'd like to retain the original structure if there's a better way to attach the action.</div><div><br></div><div>Thanks,</div><div>Shawn</div>