|
Boost : |
From: E. Gladyshev (eegg_at_[hidden])
Date: 2004-05-28 20:04:09
----- Original Message -----
[...]
From: "Andreas Huber" <ah2003_at_[hidden]>
> The above is the best reasoning I can currently give to show that failing
> exit actions do not make any sense. For me, this is more than enough to
not
> ever consider them again (at least for an FSM library implemented in C++).
I
> will answer questions arising from this post and I am interested in
feedback
> whether this convinces people but I will not try to reason any further as
I
> have run out of arguments and I think I have already invested too much
time
> into this.
Your default exception handling isn't very intuitive.
What you've done may be the best way to go but I don't have
a strong opinion on how to deploy it in practice
or how to adopt it to existing methodologies
of state machine design.
I don't want to repeat my arguments but
as I suggested in one of my previous posts,
I would prefer if by default no action
(entry or exit) may throw so that in terms
of the user actions, fsm doesn't provide
any exception safety guarantees
(I realize that for most boost folks,
it sounds controversial, to say the least :)
... but this will make fsm (by default!) act
according to the well established
state machine standards.
If the user wants to enable the guarantees
and play with the new stuff, she should
do it explicitly.
To conclude:
Andreas, whatever you decide is fine with me.
Even now, fsm gives you a lot of flexibility
in how to handle faults.
Great job overall and thanks for sharing it!
Eugene
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk