Patent ID: 8074117

Claim:
One or more storage device having thereon stored computer-executable instructions that are structured such that, when executed by a processor of a computing system, causes the computing system to perform a method for implying secondary contracts from a declarative program definition, the method comprising: an act of accessing an XML declarative service definition that declaratively defines a program; an act of formulating a primary application contract using the declarative service definition, the primary application contract including semantics for sending and receiving application messages during execution of operations by the program, the primary application contract being directly described in the declarative program definition; and an act of analyzing the declarative service definition and the primary application contract to generate a secondary application contract that includes semantics for sending and receiving application messages during error handling for the program, the declarative service definition failing to directly describe the secondary application contract, wherein the generation of the secondary application contract comprises the following: an act of detecting one or more possible faults that may occur during execution of an operation of the program; for at least one of the one or more detected possible faults, an act of identifying one or more associated fault messages corresponding to the corresponding detected possible fault, an act of identifying an association between the corresponding possible fault and a portion of the primary application contract that will be replaced if the operation fails, and an act of populating the secondary application contract with at least a portion of the identified one or more associated fault messages corresponding to the corresponding identified possible fault which is combined with at least a portion of the semantics of the primary application contract.