Re: [AM] modelling the state of a service

Scott Ambler <[email protected]> Mon, 16 Feb 2004 09:14:27 -0500
Newsgroups gmane.comp.programming.modeling.agile
Message-ID <[email protected]>
At 01:33 PM 2/16/2004 +0000, Ian wrote:
>><snip>
>I thought about a state diagram. Here are some of the issues I came up with:
>
>A state diagram represents the state of one object - what is the object? 
>The service?

I'd say the service.  It doesn't have to be the states of just one object.


>  What about the component pieces?
>A service is made up of lots of components each with its own state - do I 
>use composite states?

I'd look at the various states that the service could be in, and if 
substating makes sense then do it.

If the physical components are important, a deployment diagram may be the 
way to go as well.


>How do I model the situation where if a process on one node fails the 
>service is still available but if it fails on two nodes the service is 
>unavailable? i.e. one event of a type is ok, two is not, unless we've 
>recovered in the meantime.

How about a Node Fails transition.  Model it with a contraint of [1 node 
failed] and have it going back to the original state.  Model it a second 
time with [>1 node failed] got to the unavailable state.  You'll also need 
node recovered transitions as well.  The unavailable state could have a 
constraint of >1 node failed on it and the available state <= 1 node failed 
to keep the diagram simple.  You might want to consider not having the 
transitions with only one node failed to simplify the diagram.


>What most of this adds up to is how do I keep it simple? I ended up with a 
>"service compromised" state that had huge numbers of transitions to 
>"service available", each with a huge guard. I was just hoping someone had 
>had come up with a better way.


Sometimes a complex problem needs a complex model to represent 
it.  Sometimes not.

- Scott


>Regards
>
>Ian Chamberlain

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: [email protected]

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: [email protected]

TOPICA - Start your own email discussion group. FREE!
http://www.topica.com/partner/tag02/create/index2.html
--^----------------------------------------------------------------