Wastewater management is a very complex task. There is a high number of known and an increasing number of unknown pollutants whose individual and collective effects are very difficult to predict. Identifying and evaluating the impacts of environmental problems resulting from the interactions between our social system and its natural environment is a multifaceted critical issue. Environmental managers require tools to support their diagnoses for solving these problems. The contributions of this research work are twofold: first, to propose the use of an agent-based modelling approach in order to conceptualize and integrate all elements that are directly or indirectly involved in wastewater management. Second, to propose a framework based on argumentation that allows to reason effectively. The thesis provide some real examples to show that an agent-based argumentation framework can deal with multiple interests and different agents' perspectives and goals. This help to build a more effective and informed dialog in order to better describe the interaction between agents. In this document we first describe the context under study, scaling down the global river basins system to the urban wastewater systems and giving some more details for the specific scenario of industrial wastewater discharges. Then, we analyze the system in describing intelligent agents that interact. Finally, we propose some reasoning and deliberation prototypes by using an argumentation framework founded on non-monotonic logics (i.e. permitting to learn things that were previously not known) and the answer set programming specification language (i.e. a declarative programming language). It is important to remark that this thesis links two disciplines: environmental engineering (specifically the area of wastewater management) and computer science (specifically the area of artificial intelligence), contributing to the required multidsciplinarity needed to confront the complexity of the problem under study. From environmental engineering we obtain the domain knowledge whereas the computer science field permits us to structure and specify this knowledge.