1. A method of defining a common interactions protocol between two entities, the method comprising: inputting a description of each entity's messaging guidelines, the description including the entity's constraints on interacting with the other entity; calculating the union of the two descriptions; determining whether the union is satisfiable using a constraint resolver; providing the intersection of the two descriptions as the common interactions protocol if the union is satisfiable; and indicating where any incompatibility lies if the union is not satisfiable.