
On Jul 03, David Snelling modulated:
There is one thing I am concerned about and that is how do we express these substates? For example we want to be able to combine the concepts of StagingIn and Held without building a complex matrix of all possible combinations. While at the same time, we want StagingIn_Held to be a substate of StagingIn and restricted accordingly, e.g. limiting what the next states can be. What does this look like in XML?
Maybe it shouldn't be StagingIn_Held, it should be /StagingIn/Held (using XPath syntax): <stagingIn> <held/> </stagingIn> come on, the answer is right there in the phrase "NESTED states". ;-) The advantage here is you can use open extensibility (with the "any other" namepsace restriction, perhaps) to allow anyone to define extensions. As you mentioned, a client can ignore the inner (extended) content if they wish to operate more generically. I agree with your explanation of state transition rules. Note, this is just rephrasing the theory of hypergraphs, so people could look to that for references if they are worried about the ramifications. karl -- Karl Czajkowski karlcz@univa.com