When having repeated interactions with a service provider, a service consumer might desire guarantees on the delivery of the service. These guarantees involve both functional and non-functional properties of the offered service over a number of invocations. When the guarantee terms are explicitly defined in a document, we talk about a service level agreement. WS-Agreement is an industry driven emerging protocol for the specification of agreements in the context of Web Services. If, on the one hand, WS-Agreement defines the XML syntax for the language and protocol, on the other hand, it gives only a vague textual overview of the intended meaning. We fill this gap by providing a formal definition of an agreement and analyzing the possible evolutions of agreements and their terms over an execution. As a result we identify a number of extensions which involve the initial negotiation, the monitoring of running agreements, and the possibility of renegotiating agreements in executions. We eva...