A transformation F between protocols associates the messages sent and received by participants in a protocol ∏_1 with messages sent and received in some ∏_2. Transformations are useful for modeling protocol design, protocol composition, and the services that protocols provide.rnA protocol transformation determines a map from partial behaviors A_1 of ∏_1-which we call "skeletons"-to skeletons F(A_1) of ∏_2. Good transformations should act as functors, preserving homomorphisms (information-preserving maps) from one ∏_1-skeleton to another. Thus, if H: A_1 → A_2 is a homomorphism between ∏_1-skeletons, then there should be a homomorphism F(H): F(A_1) → F(A_2) between their images in ∏_2.rnWe illustrate protocol transformation by examples, and show that our definition ensures that transformations act as functors.
展开▼