large gen_fsms

Ulf Wiger (AL/EAB) <>
Mon Mar 20 16:02:47 CET 2006


This is basically what my talk was about at the EUC,
even though it didn't specifically focus on _large_
fsms, but rather on dealing with complex interaction
in state machines.
http://www.erlang.se/euc/05/1500Wiger.ppt

The problem with FIFO-style callback-oriented frameworks
is that they don't compose well, so if you want to 
manage the fsms in the manner that you propose, you 
still have to deal with a global state-event matrix.
If there is any chance at all that the global ordering
of events can be significant (*), you are asking for 
trouble doing this in gen_fsm, or any framework with 
similar semantics.

(*) I suspect that if this is not the case, the fsms
probably don't need to be in the same process to 
begin with.


Even so, Joel Reymont posted an alternative approach:
http://www.erlang.org/ml-archive/erlang-questions/200601/msg00003.html

It might be worth looking into.

Regards,
Ulf W 

> -----Original Message-----
> From:  
> [mailto:] On Behalf Of Serge 
> Aleynikov
> Sent: den 20 mars 2006 14:44
> To: Erlang Questions
> Subject: large gen_fsms
> 
> Hi,
> 
> I wonder if someone could share their experience at dealing 
> with large FSMs.  We are in the midst of implementing an FSM 
> which logically can be broken down in two groups of states.  
> It would be good to be able to split these states among two 
> separate modules, but gen_fsm doesn't allow to do this easily.
> 
> Thanks.
> 
> Serge
> 



More information about the erlang-questions mailing list