Bug #2054

Missing composit state onEntry/onExit display

Added by N. Köster over 9 years ago. Updated almost 9 years ago.

Status:ResolvedStart date:10/10/2014
Priority:NormalDue date:
Assignee:S. Wrede% Done:

0%

Category:-
Target version:-

Description

Composit states do not list their onEntry and onExit actions

This DSL snippet

composite Task Clean (final: false) 
  initial state: Init Task Clean 
  actions: 
       on entry: <!-- TODO: FIX SCOPE --> 
xml action class:de.citec.csra.action.SetColorAction 
  params: scope="/home/kitchen/ambientlight/512/ctrl", hue="30", saturation="70", value="20" 
  content: << ... >> 
  transitions: 
       << ... >> 

  state Init Task Clean (final: false) 
    actions: 
         on entry: xml action class:de.citec.csra.action.SendTaskStateAction 
  params: scope="/mobile/flobi/dialogtasks/rsuggestionclean", state="INITIATED" 
  content: << ... >> 
    transitions: 
         -> Task Clean Initiated on wait 0 ms if <no jexlCondition> 

  <!-- TODO Probably replace different scopes here with a JEXL condition --> 
  state Task Clean Initiated (final: false) 
    actions: 
         on entry: << ... >> 
    transitions: 
         -> Task Clean Accepted on rsb event on /mobile/flobi/dialogtasks/rsuggestionclean/accepted with RST TaskState if <no jexlCondition> 

  state Task Clean Accepted (final: false) 
    actions: 
         on entry: << ... >> 
    transitions: 
         -> Task Clean Finished on rsb event on /mobile/flobi/dialogtasks/rsuggestionclean/completed with RST TaskState if <no jexlCondition> 

  state Task Clean Rejected (final: false) 
    actions: 
         on entry: << ... >> 
    transitions: 
         -> Task Clean Finished on wait 0 ms if <no jexlCondition> 

  state Task Clean Finished (final: false) 
    actions: 
         on entry: << ... >> 
    transitions: 
         -> Goodbye Kitchen on wait 0 ms if <no jexlCondition> 

/composite
                                                                                          on exit: << ... >>                                                                                                                                                                                                                                                                                               on exit: << ... >>                                                                                                                                                                                                                                                                                                                                                                                                       on exit: << ... >>                              -> Task Clean Rejected on rsb event on /mobile/flobi/dialogtasks/rsuggestionclean/rejected with RST TaskState if <no jexlCondition>                                                                         on exit: << ... >>                                                                                                                                                                                                                                           on exit: << ... >>                                                                                                                                                                on exit: << ... >>                                                                                                   

leads to teh following PlantUML

state "Task Clean" as KitchenScenario1_TaskClean {

[*] --> KitchenScenario1_TaskClean_InitTaskClean

state "Init Task Clean" as KitchenScenario1_TaskClean_InitTaskClean
KitchenScenario1_TaskClean_InitTaskClean:on entry:
KitchenScenario1_TaskClean_InitTaskClean:custom action with SendTaskStateAction

KitchenScenario1_TaskClean_InitTaskClean --> KitchenScenario1_TaskClean_TaskCleanInitiated : after 0 ms

state "Task Clean Initiated" as KitchenScenario1_TaskClean_TaskCleanInitiated
KitchenScenario1_TaskClean_TaskCleanInitiated --> KitchenScenario1_TaskClean_TaskCleanAccepted : on TaskState @ /mobile/flobi/dialogtasks/rsuggestionclean/accepted
KitchenScenario1_TaskClean_TaskCleanInitiated --> KitchenScenario1_TaskClean_TaskCleanRejected : on TaskState @ /mobile/flobi/dialogtasks/rsuggestionclean/rejected

state "Task Clean Accepted" as KitchenScenario1_TaskClean_TaskCleanAccepted
KitchenScenario1_TaskClean_TaskCleanAccepted --> KitchenScenario1_TaskClean_TaskCleanFinished : on TaskState @ /mobile/flobi/dialogtasks/rsuggestionclean/completed

state "Task Clean Rejected" as KitchenScenario1_TaskClean_TaskCleanRejected
KitchenScenario1_TaskClean_TaskCleanRejected --> KitchenScenario1_TaskClean_TaskCleanFinished : after 0 ms

state "Task Clean Finished" as KitchenScenario1_TaskClean_TaskCleanFinished
KitchenScenario1_TaskClean_TaskCleanFinished --> KitchenScenario1_GoodbyeKitchen : after 0 ms

}

The result (see attachment) is missing the onEntry xml action SetColorAction (unlike the Init Task Clean state)

plantuml_onentry_bug.png (33 KB) N. Köster, 10/10/2014 01:43 PM

Associated revisions

Revision f5d294da
Added by Arne Nordmann almost 9 years ago

Migration to 3.2 and fixes

  • Composite states now can have compartments
  • Introduced external transition with explicit source and target

refs #1972
refs #2054

History

#1 Updated by Anonymous almost 9 years ago

  • Status changed from New to Resolved

Also available in: Atom PDF