Boost logo

Boost :

From: Andrey Semashev (andysem_at_[hidden])
Date: 2006-12-19 14:29:05


Hello Alexander,

Tuesday, December 19, 2006, 12:55:16 AM, you wrote:

> Andrey Semashev wrote:
>> Hi,
>>
>> I would like to purpose a new library addition to Boost: Boost.FSM.
>> FSM stands for Finite State Machine, so the library is aimed to ease
>> creation and support of state machines in C++.

> I had time to scan the docs quickly, it looks promising. I have some
> ideas that may be useful:

> 1. In addition to typed events, it'd be great to support integral events
> (or enums). It can be archived by using mpl::integral_c in on_process
> function.

Nice idea.

> 2. Use states hierarchy to model inner and outer states.

I've been thinking about it, but I can't figure out a simple way to
implement it. In some way it may already be implemented by user with
virtual base classes, but from FSM's point of view these virtual bases
are not states, so they don't have state_ids, for example. I'll be
thinking further.

> 3. Make the library ROM friendly. Ignore this, if it's already
> implemented.

ROM friendly? What is it?

> 4. Make sure it may scale beyond default mpl::vector capacity.

You may use any MPL sequence when expressing states and transition
rules, including mpl::list which is far less limited. But speaking
frankly, I think a compiler may die even before mpl::vector limit is
reached.

-- 
Best regards,
 Andrey                            mailto:andysem_at_[hidden]

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk