![]() |
Telelogic Rhapsody (steve huntington) | ![]() |
Topic Title: Defered Events in Rhapsody Topic Summary: Created On: 13-Jun-2006 19:44 Status: Read Only |
Linear : Threading : Single : Branch |
![]() |
![]()
|
![]() |
|||||
Hi there,
Attached a very simple conceptual solution that I?ve presented on how you can treat deferred events in Rhapsody without overwriting the framework? It?s a simple solution using an AND transition to flag that there was a deferred event? in principle you could extend this example by using a list of deferred events instead, which you can iterate?.. Explanation: The internal transition evProceed in the highest level state Active traps any transaction request received in either the idle or processing states. His goal is to defer events that can not be treated In case where you?re in the Idle state the event evProceed on the transition from idle to processing overrides the high-level transition evProceed Additionally, the entry action in the Idle state invokes recall(), which clears the flag and posts the deferred event (as action on the transition) to the state machine. Scenario: In case you?re in the idle state and the event evProceed is send , we?re going into the processing state If the evProceed is send again it will be treated by the highes level internal transition which set the flag that a ?deferred event? was received When we have finished the processing state ?going back to the idle state- the recall operation checks whether the flag was set. If yes it will clear the flag and post the evProcess (the deferred) Event to the state machine? Best Regards, Frank
|
|||||
![]() |
FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.