On Mon, Apr 6, 2009 at 4:24 PM, Ouyang, Landon - ES/RDR -Gil <[email protected]> wrote: >>> In TopState (This is what I don't want!!) >><snip/> >> >>This seems off, TopState isn't part of the least common ancestor so shouldn't >>be entered. If you can attach a JUnit test case to JIRA, I'll have a look. > > This is why I asked the question. It was my understanding that the super > states of State1 (TopState in this case) should not be entered and their > entry actions should not be executed. I did not mean to include State1 in > the list of unwanted functionality. > <snip/>
Yup, so State1 is expected but TopState isn't (if thats what you are seeing). > I am new to Java and have not used JUnit yet. Can you explain what you would > like to see in the JUnit test; events fired, transitions taken, state > history, or something else? > <snap/> There are JUnit tests buried in here: http://svn.apache.org/repos/asf/commons/proper/scxml/trunk/src/test/java/ which you can use as examples. Generally, anything that will help us creating a test case is welcome -- so just a complete SCXML document with the sequence of events and expected vs. observed behavior is enough in the report if you want to skip writing a complete JUnit test. -Rahul > -- > Landon Ouyang > Senior Design Engineer > ITT Electronics Systems, Radar Systems - Gilfillan > 7821 Orion Ave, > Van Nuys, CA 91406 > (818) 901-2982 > > -----Original Message----- > From: Rahul Akolkar [mailto:[email protected]] > Sent: Thursday, April 02, 2009 6:25 PM > To: Commons Users List > Subject: Re: [SCXML] History state > > On Thu, Apr 2, 2009 at 5:43 PM, Ouyang, Landon - ES/RDR -Gil > <[email protected]> wrote: >> My apologies for not modifying the Subject header in my last e-mail >> (reproduced below). >> > <snip/> > > Thanks for correcting. Response below. > > >> -- >> Landon Ouyang >> Senior Design Engineer >> ITT Electronics Systems, Radar Systems - Gilfillan >> 7821 Orion Ave, >> Van Nuys, CA 91406 >> (818) 901-2982 >> >> -----Original Message----- >> From: Ouyang, Landon - ES/RDR -Gil [mailto:[email protected]] >> Sent: Thursday, April 02, 2009 2:08 PM >> To: Commons Users List >> Subject: RE: [SCXML] getting set datats in the datamodel >> >> I am trying to implement a history state. It does work, returns to the >> calling state, however it enters all the super states before getting to the >> calling state. Which also calls entry actions (when there are entry >> actions). This is not the behavior I was expecting. Can you explain to me >> how to prevent this? >> > <snap/> > > In effect, transitions to histories are not much different from > regular transitions, barring the dynamic nature of the transition > target. > > The corresponding executable content (exit, transition, entry) will be > called. If you want other behavior, you can control blocks of > executable content using the <if> container and appropriate > conditions. So, for example -- the first entry into the composite > state containing the history updates some part of the datamodel, and > latter entries guard the executable content using <if> that checks for > the said datamodel update. > > >> Below is the command line output from a small program that accepts trigger >> events and has a listener attached to the states that outputs the current >> state. >> [spalmis...@linuxserver src]$ run.sh >> Default scxml file is: HistoryTest.scxml >> Enter path to over-ride (or enter to continue): >> trigger>TO_STATE12 >> In State12 >> trigger>TO_STATE32 >> In State3 >> In State32 >> trigger>STATE32_TO_HISTORY >> In TopState (This is what I don't want!!) > <snip/> > > This seems off, TopState isn't part of the least common ancestor so > shouldn't be entered. If you can attach a JUnit test case to JIRA, > I'll have a look. > > >> In State1 (This is what I don't want!!) > <snap/> > > This is as expected. As mentioned before, you may have to guard > executable content via application logic. > > -Rahul > > >> In State12 (This is what I do want) >> trigger> >> >> >> SCXML file used: >> >> <?xml version="1.0"?> >> <scxml xmlns="http://www.w3.org/2005/07/scxml" >> xmlns:my="http://www.company.com" >> xmlns:uml="http://schema.omg.org/spec/UML/2.1.1" >> xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" version="1.0" >> initial="StateMachineInitial"> >> <state id="TopState"> >> <state id="State3"> >> <state id="State31"> >> <transition event="STATE31_TO_HISTORY" target="S1History"/> >> </state> >> <state id="State32"> >> <transition event="STATE32_TO_HISTORY" target="S1History"/> >> </state> >> <initial id="State3Initial"> >> <transition target="State31"/> >> </initial> >> </state> >> <initial id="TopStateInitial"> >> <transition target="State1"/> >> </initial> >> <state id="State1"> >> <state id="State12"> >> <transition event="TO_STATE32" target="State32"/> >> <transition event="TO_STATE11" target="State11"/> >> </state> >> <state id="State11"> >> <transition event="TO_STATE31" target="State31"/> >> <transition event="TO_STATE12" target="State12"/> >> </state> >> <history id="S1History" type="deep"> >> <transition target="State11"/> >> </history> >> <initial id="S1Initial"> >> <transition target="State11"/> >> </initial> >> </state> >> <transition event="END" target="StateMachineFinal"/> >> </state> >> <state id="StateMachineInitial"> >> <transition target="TopState"/> >> </state> >> <final id="StateMachineFinal"/> >> </scxml> >> >> -- >> Landon Ouyang >> Senior Design Engineer >> ITT Electronics Systems, Radar Systems - Gilfillan >> 7821 Orion Ave, >> Van Nuys, CA 91406 >> (818) 901-2982 >> >> This e-mail and any files transmitted with it may be proprietary and are >> intended solely for the use of the individual or entity to whom they are >> addressed. If you have received this e-mail in error please notify the >> sender. >> Please note that any views or opinions presented in this e-mail are solely >> those of the author and do not necessarily represent those of ITT >> Corporation. The recipient should check this e-mail and any attachments for >> the presence of viruses. ITT accepts no liability for any damage caused by >> any virus transmitted by this e-mail. >> > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
