On Mon, Oct 25, 2010 at 12:19 PM, Christopher Dragert <chris.drag...@mail.mcgill.ca> wrote: > The scenario: I have many different classes (call them type A) each with > their own unique SCXML state chart. Though designed to work together, type A > classes are necessarily separate because we need them to be used modularly. > Another set of classes (call these type B), each instantiate a subset of the > available type A classes. Inside a type B class, events are manually passed > between the state charts in a broadcast arrangement. Thus, there are many > different type B classes, each containing their own instances of several type > A classes that essentially operate as parallel state charts. > > I am having problems with the efficiency of this arrangement. I have two > questions: > > 1) When a state chart is parsed and loaded, one of the steps is to create an > SCXML engine. Is it possible to clone the engine? In my scenario, each type > A class may be instantiated many times. This means that the associated SCXML > file is parsed and loaded many times, causing a significant slow down at load > time. Cloning an engine seems to offer a way around this. > <snip/>
As already mentioned, Commons SCXML uses a parse to model once, instantiate any number of executors approach. This will require not using the AbstractStateMachine helper class, which is a very simple pattern (that re-parses). > 2) Is it possible to create an engine, then add a new state chart to the > engine, treated as though it was part of the first state chart but enclosed > in <parallel> tags? In my scenario, this would allow my type B classes to > only have one execution environment for all of its instantiated type A > classes. Since we don't know what type As will be contained in a type B, it > seems hard to do this by prebuilding scxml files that actually contain the > <parallel> sections. All this could be done before the state chart begins > execution. > <snap/> Type B could "generate" the SCXML just before executor instantiation, including the type As as needed either via XML includes or via the now deprecated src attribute of the <state> element. -Rahul > Any other advice regarding running large number of SCXML files would be > appreciated! Thanks for any help. > > Regards, > Chris Dragert > --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@commons.apache.org For additional commands, e-mail: user-h...@commons.apache.org