Re: [AM] modelling the state of a service
Ian Chamberlain <[email protected]> Mon, 16 Feb 2004 13:33:46 +0000
| Newsgroups | gmane.comp.programming.modeling.agile |
|---|---|
| Message-ID | <[email protected]> |
Scott Ambler Sent Mon, 16 Feb 2004 07:58:15 -0500 > >At 12:05 PM 2/16/2004 +0000, Ian Chamberlain wrote: >>Hi All, >> >>How about a real world modelling question for a change? > >That would be too radical. ;-) > > > >>I'm trying to come up with a nice simple way to represent the current >>state of a service, where the service consists of a number of processes >>spread over several nodes. >> >>For example the web server part of a web service might consist of two >>clustered nodes running a web server listening to requests on port 80 and >>passing the request to another node cluster to do the actual processing. >>For the web server part of the service to be available at least one node >>has to be available, running the web server process, listening on port 80 >>and able to connect to the next tier. Other tiers would have similar >>combinations of processes so in order to say the web service is actually >>available a path through all the tiers must be traceable. >> >>Depending on different combinations of states across the tiers you might >>want to trigger alerts to notify the state of the service to operators. >> >>Any suggestions that don't involve multiple levels of composite states >>gratefully received. > >How about a UML state machine diagram >(http://www.agilemodeling.com/artifacts/stateMachineDiagram.htm) to model >the states and a UML deployment diagram >(http://www.agilemodeling.com/artifacts/deploymentDiagram.htm) to model the >various nodes? Or perhaps just one of the two diagrams if it proves >sufficient on its own? > 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? What about the component pieces? A service is made up of lots of components each with its own state - do I use composite states? 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. 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. Regards Ian Chamberlain _________________________________________________________________ Stay in touch with absent friends - get MSN Messenger http://www.msn.co.uk/messenger 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 --^----------------------------------------------------------------