Hi there,
I have an orthogonal state chart implemented with SCXML, I have a SLOT
and TASK defined in the parallel states. MSlotInitState to
MSlotHeldState, 
MSlotQueuedState, MSlotLockedState is happening and in the
MSlotLockedState I am trying to 
- <state id="MSlotLockedState">
- <onentry>
  <log expr="'Slot Locked State'" /> 
  </onentry>
  <transition event="SlotReadyToBeHeldEvent"
target="MSlotHeldState.aquireSlot" /> 
  <transition event="TimerExpiredEvent" cond="_eventdata.timeAbs eq
false" target="MSlotQueuedState.queueSlot" /> 
  <transition event="TimerExpiredEvent" cond="_eventdata.timeAbs eq
true" target="MSlotCancelledState.cancelSlot" /> 
  <transition event="CancelEvent" target="MSlotCancelledState.freeSlot"
/> 
  </state>
Move to MSlotHeldState.acquireSlot which is a method call within
MSlotHeldState. Here the transition is not happening. Eventhough the
event is triggered from server side. I am able to go from Init to the
next transitions like MSlotHeldState, MSlotLockedState,
MSlotqueuedState. Next level of transitions are not happening at all. Is
there anything I am missing in the SCXML please help me.
Thanks
John
<?xml version="1.0"?>
<!-- Used for comparison with custom-hello-world.xml by CustomActionTest.java in model package -->
<scxml xmlns="http://www.w3.org/2005/07/scxml";
	xmlns:my="http://my.custom-actions.domain/CUSTOM"; version="1.0"
	initialstate="testMain">
	<state id="testMain">
		<parallel>
			<state id="slotState">
				<initial>
					<transition>
						<target next="MSlotInitState" />
					</transition>
				</initial>
				<state id="MSlotInitState">
					<onentry>
						<log expr="'Slot Init State'" />
					</onentry>
 					<transition event="CreateATaskEvent"
								cond="_eventdata.slotAvailable = true and _eventdata.immediate"
								target="MSlotHeldState.aquireSlot" /> 
 					<transition event="CreateATaskEvent"
								cond="!_eventdata.slotAvailable and !_eventdata.immediate"
								target="MSlotQueuedState.queueSlot" /> 						
 					<transition event="CreateATaskEvent"
								cond="_eventdata.slotAvailable and !_eventdata.immediate"
								target="MSlotLockedState.lockSlot"/> 							
				</state>
				<state id="MSlotHeldState">
					<onentry>
						<log expr="'Slot Held State'" />
					</onentry>
					<transition event="JobCompleteEvent"
								target="MSlotFreedState.releaseSlot" />					
				</state>
				<state id="MSlotQueuedState">
					<onentry>
						<log expr="'Slot Queued State'" />
					</onentry>
					<transition event="TimerExpiredEvent"
								cond="_eventdata.timeAbs = true and !_eventdata.slotAvailable"			
								target="MSlotCancelledState.cancelSlot" />
					<transition event="CancelEvent"
								target="MSlotCancelledState.cancelSlot" />	
					<transition event="SlotFreeEvent"
    						    target="MSlotLockedState.lockSlot" />															
				</state>

				<state id="MSlotLockedState">
					<onentry>
						<log expr="'Slot Locked State'" />
					</onentry>
					<transition event="SlotReadyToBeHeldEvent"
								target="MSlotHeldState.aquireSlot" />					
					<transition event="TimerExpiredEvent"
								cond="_eventdata.timeAbs eq false"			
								target="MSlotQueuedState.queueSlot" />								
					<transition event="TimerExpiredEvent"
								cond="_eventdata.timeAbs eq true"			
								target="MSlotCancelledState.cancelSlot" />							
					<transition event="CancelEvent"
								target="MSlotCancelledState.freeSlot" />					
				</state>	
				<state id="MSlotFreedState.releaseSlot">
					<onentry>
						<log expr="'Slot Released State'" />
					</onentry>
				</state>	
				<state id="MSlotCancelledState.cancelSlot">
					<onentry>
						<log expr="'Slot Cancelled State'" />
					</onentry>
				</state>
				<state id="MSlotCancelledState.freeSlot">
					<onentry>
						<log expr="'Slot Freed State'" />
					</onentry>
				</state>
				<state id="MSlotQueuedState.queueSlot">
					<onentry>
						<log expr="'Slot Queued State'" />
					</onentry>
				</state>						
				<state id="MSlotHeldState.aquireSlot">
					<onentry>
						<log expr="'Slot Held State'" />
					</onentry>
				</state>					
				<state id="MSlotLockedState.lockSlot">
					<onentry>
						<log expr="'Slot Locked State'" />
					</onentry>
				</state>					
											
			</state>

			<state id="taskState">
				<initial>
					<transition>
						<target next="MTaskInitState" />
					</transition>
				</initial>
				<state id="MTaskInitState">
					<onentry>
						<log expr="'Task Init State'" />
					</onentry>
					<transition event="SlotHeldEvent"
								cond="_eventdata.aquireTaskId eq AQUIREtaskId"
								target="MTaskFiredState.fireTask" />
					<transition event="SlotHeldEvent"
								cond="_eventdata.releaseTaskId eq RELEASEtaskId"
								target="MTaskScheduledState.scheduleTask" />								
					<transition event="CreateSimpleTaskEvent"
								cond="!_eventdata.immediate"
								target="MTaskScheduledState.scheduleTask" />
								
				</state>
				<state id="MTaskFiredState">
					<onentry>
						<log expr="'Task Fired State'" />
					</onentry>
					<transition event="JobCompleteEvent"
								target="MTaskCompleteState.completeTask" />
					<transition event="JobAbortEvent"
								target="MTaskAbortState.abortTask" />
				</state>
				<state id="MTaskScheduledState">
					<onentry>
						<log expr="'Task Scheduled State'" />
					</onentry>
					<transition event="TaskReadyToBeFiredEvent"
								target="MTaskFiredState.fireTask" />
					<transition event="CancelEvent"
								target="MTaskCancelledState.cancelTask" />
					<transition event="TimerExpiredEvent"
								target="MTaskCancelledState.cancelTask" />
				</state>
				<state id="MTaskAbortState.abortTask">
					<onentry>
						<log expr="'Task Aborted State'" />
					</onentry>
				</state>
				<state id="MTaskCompleteState.completeTask">
					<onentry>
						<log expr="'Task Completed State'" />
					</onentry>
				</state>
				<state id="MTaskCancelledState.cancelTask">
					<onentry>
						<log expr="'Task Cancelled State'" />
					</onentry>
				</state>
				<state id="MTaskFiredState.fireTask">
					<onentry>
						<log expr="'Task Fired State'" />
					</onentry>
				</state>
				<state id="MTaskScheduledState.scheduleTask">
					<onentry>
						<log expr="'Task Scheduled State'" />
					</onentry>
				</state>
				
			</state>
		</parallel>
	</state>
</scxml>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to