Goal-Oriented Requirements Analysis and Reasoning in the Tropos Methodology Paolo Giorgini 1 , John Mylopoulos 1,2 , and Roberto Sebastiani 1 1 Department of Information and Communication Technology University of Trento - Italy {rseba,pgiorgio}@dit.unitn.it 2 Department of Computer Science - University of Toronto - Canada jm@cs.toronto.edu Abstract. Tropos is an agent-oriented software methodology proposed in [1, 2]. The methodology is founded on the notions of agent and goal, and goal analysis is used extensively to support software development during different phases. This paper adopts a formal goal model defined and analyzed in [9, 15] to make the goal analysis process concrete through the use of forward and backward reasoning for goal models. The formal goal analysis is illustrated through examples, using an implemented goal reasoning tool. Keywords: agent-oriented software development, goal-oriented requirements analysis, early requirements analysis, multi-agent systems. 1 Introduction Tropos [1, 2] is an agent-oriented software development methodology founded on two novel features. First, the methodology is defined in terms of the concepts of agent, goal, and related mentalistic notions. These notions are used to support all software development phases, from early requirements analysis to implementation. Second, a crucial role is given to early requirements analysis that precedes prescriptive require- ments specification for the system-to-be. As such, Tropos supports earlier phases of software development compared to other agent- and object-oriented methodologies. The main motivation for supporting early requirements [5,19] is to develop a rich conceptual framework for modeling and analyzing processes that involve multiple par- ticipants (both humans and software systems) and the intentions that these processes are supposed to fulfill. By so doing, one can relate the functional and non-functional requirements of the system-to-be to relevant stakeholders and their intentions. Tro- pos adopts Eric Yus i* model [19] which offers actors (agents, roles, or positions), goals, and actor dependencies as primitive concepts for models used in different phases of software development. In particular, Tropos is intended to support four phases of software development: early requirements analysis, concerned with the understanding of a problem by studying its organizational setting; late requirements analysis, where the system-to-be is described within its operational environment, along with relevant functions and qualities; architectural design, where the systems global architecture is