1. At least one non-transitory computer-readable medium storing a computer language, said computer language comprising: (a) a plurality of defined document type descriptions, each document type description specifying a type of document within a common document structure that can be used; (b) a set of defined interactions describing respective document exchanges, each interaction specifying any expected inbound document types and any resulting outbound document types; (c) a set of transformations for use in connection with the defined interactions, each transformation specifying how to convert one document type in the common document structure to another document type, also in the common document structure, together with instructions for applying said transformations to compensate for mismatches between documents actually received and expected inbound document types, wherein each of at least some of the interactions has a transformation sub-element to describe a corresponding one of the transformations; and (d) a transition structure that maps all permissible flows for a given conversation by identifying interactions from the set of defined interactions and specifying transitions between the identified interactions, wherein each of (a)-(d) is a separately defined component of said computer language.