In multi-agent systems (MAS) roles are an important issue since they define responsibilities and obligations to the agents, i.e. they guide and restrict the behaviors of agents in a social context [Silva et al., 2004b]. Several agent oriented software methodologies such as MESSAGE [Caire et al., 2002], GAIA [Wooldridge et al., 2000] and TROPOS [Mylopoulos et al., 2001], modeling languages such as MAS-ML [Silva and Lucena, 2004a] and AUML [Odell et al., 2000], and software architecture such as JADE [Bellifemine et al., 2001] and ASF [Silva et al., 2004b] concern with agent roles. Although roles are being used in developed MAS, there is still a need for case studies that demonstrate how to define roles in the context of organizations and how to assign agents to roles. This paper presents a case study of the urban traffic domain that illustrates the use of roles during the analysis phase as well as the mapping of the generated role models into code. While using the urban traffic domain, we are interested in provide a semantic support to the governance of laws. In the attempt to enable law conscious among software agents, an ontology was used to describe the semantics of the laws that regulate MAS. The case study was modeled by using the MESSAGE methodology and was implemented with the ASF framework.