Internet is, maybe, the most relevant scientific advance of our days. It has also allowed the evolution of traditional computational paradigms into the paradigm of distributed computation over an open network of machines. Multi-Agent systems (MAS) have been proposed as a suitable technology for addressing challenges motivated by these open distributed systems. MAS applications are formed by agents which may be designed independently according to different goals and motivations. Therefore, no assumption about their behaviours can be made a priori. Because of this, control, coordination and cooperation mechanisms are needed in MAS for ensuring social order and avoiding conflicts. Norms are descriptions of acceptable behaviours and help to define this kind of mechanisms. The notion of norm covers mainly two different dimensions: i) norms as an instrument for guiding citizens when performing actions and activities, so norms define which procedures, or protocols must be followed in a concrete situation; and ii) norms as orders or prohibitions supported by threats of sanction, thus norms are means to prevent or punish certain actions. In MAS research, norms have been defined as a formal specification of what is permitted, obliged and forbidden within a society. Thus, they aim at regulating the life of software agents and the interactions among them. The main motivation of this thesis is to allow MAS designers to use norms as a mechanism for controlling and coordinating open MAS. We aim to develop norm-based mechanisms for MAS at two levels: agent models and agent infrastructures. Thus, in this thesis we first address the problem of defining norm-autonomous agents that deliberate about norms within uncertain environments. Secondly, in this thesis we propose a distributed architecture for enforcing norms in open MAS, named MaNEA, which has been integrated into an existing MAS platform, namely, Magentix2. This proposed architecture implements norms in an optimized way, given that in open MAS the internal states of agents are not accessible. Therefore, norms cannot be imposed as agent’s beliefs or goals, but they must be implemented in the platform by means of control mechanisms.