> "A category is given by two pieces of data: a class of objects and, for any > two objects X and Y, a set of morphisms from X to Y." > > What I was trying to suggest is that the objects in the category are FSM's, > and the set of morphisms defined for any two FSM's X and Y is a concept that > needs to be checked. Speaking as a layman, and not a discrete math theorist, > at first glimpse it would seem reasonable to think that the various flavors > of morphism might provide us with a nomenclature for describing the set(s) > of inter-FSM event exchanges that a protocol could legally define without > violating the semantics of any of the FSM objects in the category. >
Hi Chris, Interesting. With a minimal understanding of discrete math theory (read zip) am concerned that I am about to say something stupid but did have 2 to offer anyway. 1) With low uptake of FSM approach to coding - adding grouping and *morphing? Think I can see the same light and with a childhood fear of the dark would probably stumble in the same direction. The end of the tunnel could be a lonely place though;-) 2) Having worked on multiple implementations of several protocols one (painfully) delayed revelation went something like this. If you are required to implement Q.931 on 4 hardware devices from 4 different vendors then you will produce 4 distinct implementations. Targeting a set of common semantics is somewhat "flawed". In FSM terms an implementation of a protocol may have some transitions missing. In practice there are specifics about a device or even the implementation by the telco (yep, implementations of ITU standards on PSTNs vary) that mean a full implementation is impossible. Have you ever dealt with minutely varying behaviours of mail servers (all fully POP3 or IMAP4 conformant)? Anyhow my point is; with your goal of defining permissible semantics, will there be the latitude to cope with previously described circumstances? SW _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost