We develop the static and dynamic semantics of PiDuce, a process calculus with XML values, schemas, and pattern matching. PiDuce values include channel names, therefore the structure of values may not reveal anything about their schemas. This is problematic in the pattern matching algorithm because it requires to verify whether a schema of a channel is a subschema of a pattern. Such a verification has exponential cost, in general. In order to reduce the computational complexity of the pattern matching, channel schemas are constrained to occur in tail positions of sequences and to be labelled-determined.
Allen L. Brown Jr., Cosimo Laneve, L. Gregory Mere