Take a look at this SCXML implementation in jakarta commons ( still in the sandbox though )
http://jakarta.apache.org/commons/sandbox/scxml/ I will dig it up as time permits and see if a (partial) AS port is feasible. On 1/4/06, Clifford Hall <[EMAIL PROTECTED]> wrote: > Spoke too soon about the alpha. I remembered them saying it wouldn't > be in, so I hadn't even looked. It is there after all. (I'm only just > recently having time to dig into it). And certainly it does seem to be > very basic. Yet another thing pushed on the 'to explore soon' stack... :) > > -=Cliff> > > > > --- In [email protected], Aldo Bucchi <[EMAIL PROTECTED]> wrote: > > > > Hi Cliff, > > > > Yes, Flex2 has a hierarchical state implementation, but it is very > > basic. The good part is that it is tightly integrated to the framework > > and the IDE. > > > > If we were to build ( or adapt ) a full blown CHSM then integrating it > > with the flex state machine should be an objective. Actually, Flex2's > > should be easily blended into ours. > > Conceptually, the tasks it performs ( property overrides, child > > creation, etc ) could be hooked to onEnter and onExit handlers of a > > more robust state machine. > > > > Another idea I have been experimenting with: > > - We could create an eclipse plugin to work as a monitor and draw the > > state chart at runtime. Or we could use the classic LSO connection for > > this purpose. > > > > Why not wait till this conversation draws more attention and ideas > > before starting something. There might be more than one person reading > > around with a deep understanding on the subject. > > > > Best, > > Aldo > > > > > > On 1/4/06, Clifford Hall <[EMAIL PROTECTED]> wrote: > > > Very cool this SCXML stuff. checked out the w3c docs. > > > > > > BTW, states are incorporated into Flex 2. They're not in the alpha, > > > but I saw it demonstrated at MAX. There is a <mx:State> tag that wraps > > > an arbitrary chunk of mxml. You can have state transition effects, > > > etc. I doubt this is embracing SCXML or anything that ambitious, but > > > before building the FSM, I'd want to see what Flex 2 holds and build > > > upon it. > > > > > > I'm pretty interested in creating an FSM architecture for Flex, > > > myself. Drop by my site and leave me a line if you're interested in > > > chatting offline: futurescale.com > > > > > > -=Cliff> > > > > > > > > > --- In [email protected], Aldo Bucchi <[EMAIL PROTECTED]> > wrote: > > > > > > > > Hi flexies, > > > > > > > > Does anyone know of a good State Machine implementation in > actionscript? > > > > One with history, concurrent states, joins, splits ( forks ), etc? > > > > > > > > I have used Kaye's ( www.flashsim.com ), ported part of Miro Samek's > > > > method based machine, modified a compiler (CHSM), and finally went > > > > half the way to creating my own SCXML interpreter. > > > > > > > > So... why ask now??? > > > > well, because after all this work it has become evident that > there is > > > > so much space for different designs that hearing other people's > > > > practical experiences is, well, a very practical way to take some > > > > decisions... like the following for instance: > > > > > > > > - The state machine declaration ( states and transitions ) can be > > > > supplied in several different ways > > > > -- external XML declarations ( could be SCXML for example. Note that > > > > this approach introduces some complexity due to the async loading > > > > "state" ) > > > > -- inline XML declarations. > > > > -- MXML declaration ( unfortunately we cannot provide an id for a > > > > nested faceless component in flex 1.5) > > > > -- Actionscript declaration ( instantiating classes ) > > > > -- with a class hierarchy ( a la samek ) > > > > > > > > - How do we scope state and transition ids? Per state machine? per > > > > superstate? do we use paths? > > > > > > > > - There is also the debate on giving each state it's own > controller ( > > > > using class inheritance to override the superstate's controller ) or > > > > using one central controller querying the machine. > > > > > > > > - How to declare event handlers ( in the same state/transition > > > > declaration or later on by hooking them with listeners ) > > > > > > > > - how do we implement guard conditions... are they necessary / > > > > benefitial at all? why not just provide hooks for complex logic > then. > > > > > > > > - and Finally, how do we feed events to the machine... should we be > > > > able to call transitions directly? > > > > > > > > - MXML wrappers can be created to allow the use of binding and > inline > > > > event declarations > > > > <fsm:StateProxy id="openState" stateMachine="{sm1}" stateName="open" > > > > enter="trace('entering!'+event.target.name)" exit=""/> > > > > <mx:Button label="close" enabled="{openState.active}"/> > > > > Should we allow this without limits? > > > > > > > > > > > > Pfff. write one line of code on this domain and you will see what I > > > > mean. State machines are so broad and powerful that it is hard > to see > > > > the best way to fit them into flex at a glimpse. > > > > > > > > Help / observations / links / ideas appreciated. > > > > > > > > Man, we could even create a complete osflash project devoted to > > > state machines. > > > > ( perhaps I will if there is enough interest. let me know ) > > > > > > > > Best, > > > > Aldo > > > > > > > > -- > > > > ::::: Aldo Bucchi ::::: > > > > mobile (56) 8 429 8300 > > > > > > > > > > > > > > > > > > > > > > -- > > > Flexcoders Mailing List > > > FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > > > Search Archives: > http://www.mail-archive.com/flexcoders%40yahoogroups.com > > > Yahoo! Groups Links > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > ::::: Aldo Bucchi ::::: > > mobile (56) 8 429 8300 > > > > > > > > > -- > Flexcoders Mailing List > FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com > Yahoo! Groups Links > > > > > > > > -- ::::: Aldo Bucchi ::::: mobile (56) 8 429 8300 -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/

