Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2004-05-26 06:34:21


"Andreas Huber" <ah2003_at_[hidden]> writes:

>> Is that superstate always a reasonable place to end up upon failure?
>
> Well, you don't excatly end up there, right? The superstate (more accurately
> the outermost unstable state) is only a "container" for reaction(s) to the
> exception_thrown event. If such a reaction is found and executed it *must*
> make a transition to another state (sort of a safe haven) or terminate the
> state machine itself.

What does "terminate the state machine" mean?

> Only then are we stable again. To answer your question: Yes, I
> believe so.
>
>> FWIW, I don't know what an orthogonal region is, and I don't have time
>> to learn right now, so I'm probably missing a lot.
>
> I don't think you are missing that much. I hope I have managed to convince
> you that everything works fine for state machines without orthogonal
> regions.

I wish you had; I'll just have to take your word for it because I'm
out of time for discussion. Your method of handling errors as
described above seems (with my very shallow understanding) a bit
capricious and hard-to-manage to me, and it seems strange to keep that
system while ruling out a chance for strong-guarantee behavior (where
an exit action may throw).

> Orthogonal regions do complicate the matter but not by a lot.

OK.

-- 
Dave Abrahams
Boost Consulting
http://www.boost-consulting.com

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