Agreement technologies aim at developing techniques that enable software components to reach agreements on the mutual performance of services, hence supporting the development of large-scale, open distributed systems. Hence, agreement technologies propose a new paradigm for next generation distributed systems. The new paradigm is structured around the concept of agreement between computational agents. These agreements must be consistent with the normative context where they are established and permit, once accepted, that agents call for mutual services and honour them. An entity, by the fact of being autonomous, may choose whether to fulfil an agreement or not, and it should fulfil them when there is an obligation to do so derived from the standing agreements. Autonomy, interaction, mobility and openness are the characteristics that the paradigm c