
Christopher Smith wrote:
So I actually found the description quite clear. The text says that the specialization must support both 1 and 2. 1 says that you can define whatever state diagram you want within the confines of the specialized state, and 2 says how your sub-states transition into the rest of the unspecialized state diagram. I can't explicitly allow transitions to substates of S (i.e. other specializations) because my specialization only has explicit knowledge of the state it's specializing and the unspecialized state diagram that is described in BES. [...] Well ... the BES may have any number of internal states that it uses to implement it's functionality. The point is that the client sees the published state diagram, and any specializations that it chooses to understand.
If memory serves, there's actually a formal name for this sort of thing. The specialization must be Weakly Similar to the general state diagram. This means that every state in the specialization must be mappable to a general state, and that every transition between states in the specialization must be either mapped to a transition between equivalent states in the general diagram, or that the two states must be mapped to the same general state and that the transition between the two must be not observable using just the general transitions. Or at least I think that's Weak Simulation (I know we don't want bisimulation; that's too strong) and I think I've got it the right way round. Too long since I last worked with these things in detail. My real point though is that someone's already formalized the notion we want to use; it captures exactly what we want. Donal (this formal CS stuff is occasionally useful :-)).