[occi-wg] OCCI MC - State Machine Diagram

Andre Merzky andre at merzky.net
Wed May 13 03:47:00 CDT 2009


Sorry for the *very* late reply...


Quoting [Michael Richardson] (Apr 20 2009):
> 
> >>>>> "Andre" == Andre Merzky <andre at merzky.net> writes:
>     Andre> For example, assume that I have a client which implements the
>     Andre> core specification only, thus only knows the STOPPED, ACTIVE
>     Andre> and SUSPENDED states (your original figure).  What is that
>     Andre> client supposed to do if the backend reports an PAUSED state?
> 
>   How did it get to that state?
>
>   Since the client didn't put it into that state, it means that an
> operator or error must have forced this, so it's an error.  Life does
> not always go as planned.

It is dangerous to assume that the client is the only
legimitate entity which operates on the machine state
diagram.  The system admin, internal events, other clients,
etc, may all have reason to trigger state changes, and this
would not represent errors.


>   If the client does not do PAUSED state, the system shouldn't get into
> that state.  

see above.


>   The client, upon seeing a state that it does not understand could
> attempt to recover by requesting a transition to primary state that it
> does understand.

If the client does not know the state, it cannot determine
what a valid state transition would be.


>     Andre> BTW, I agree with Krishna's point that ENTRY and EXIT points
>     Andre> are useful.
> 
>   Where are they attached?

ENTRY point is attached to all states which can be reached
initially, i.e. on creation.  EXIT point is attached to all
states which cannot be left, i.e. no transition exists to
leave that state.

Best, Andre.


-- 
Nothing is ever easy.



More information about the occi-wg mailing list