Dealing with Softgoals at Runtime: A Fuzzy Logic Approach Maurício Serrano, Milene Serrano and Julio Cesar Sampaio do Prado Leite Departamento de Informática, Pontifícia Universidade Católica do Rio de Janeiro, Rio de Janeiro, Brasil mauserr@les.inf.puc-rio.br , milene@les.inf.puc-rio.br and www.inf.puc-rio.br/~julio Abstract—One of the first frameworks to deal with Non- Functional Requirements, or softgoals, is the NFR Framework. This framework allows among other contributions – softgoals analysis by applying propagation rules. This analysis is commonly performed during design activities. Instead of working with softgoals at design time, the proposal described in this paper combines propagation rules, fuzzy logic and Multi-Agent Systems in order to provide support for dealing with softgoals at runtime. Observing, for example, how the Requirements Engineering community deals with softgoals analysis by using propagation rules, we developed a propagation simulator centered on a specific algorithm. This simulator tries to replicate the requirements engineers’ practices when using propagation rules to make decisions at design time. Based on this propagation simulator, we propose an intentional-MAS- driven reasoning engine capable of analyzing softgoals at runtime by selecting an adequate strategy (i.e. an adequate plan) that will be performed by the intentional agent to achieve the desired goal. Keywords-non-functional requirements analysis; propagation rules; fuzzy logic; reasoning engine; decisions at runtime. I. INTRODUCTION There are many techniques that support functional requirements by providing the desired functionality. However, non-functional requirements (hereafter NFRs) are difficult to address in many projects. One of the first frameworks to deal with NFRs is the NFR Framework [1]. This framework allows – among other contributions – the NFRs modeling by using a specific graph – i.e. Softgoal Interdependence Graph (SIG) – and NFRs analysis by applying propagation rules to this graph, especially during design disciplines and with the stakeholders’ participation. In this field, decisions’ impacts are propagated through this graph by a qualitative analysis in order to determine how well a choice – made at design time – satisfices the analyzed NFRs. According to [2], satisfices means “satisfies in a certain degree”. Therefore, the NFR Framework is one of the first efforts of the Requirements Engineering (hereafter RE) community by presenting a systematic and pragmatic approach in dealing with NFRs – i.e. different quality criteria (e.g. accuracy, performance and security) – through the software development process, “building quality into” [1] the software. Another framework that explore the use of propagation rules is the i* framework [2] [3] [4]. This framework offers an agent-oriented approach to RE by modeling strategies of multiple actors. The main idea is to understand and analyze social contexts in order to improve the success of a system. Again, this analysis is commonly performed during design activities. Basically, actors in i* models – Strategic Dependency (SD) and Strategic Rationale (SR) models – depend on one another for goals to be achieved by performing specific tasks. In this process, resources can be exchanged within actors. Moreover, this framework introduces the notion of softgoal, which is used to deal with quality criteria or NFRs. It is also possible to specify dependencies among actors, which are analyzed by using a qualitative approach centered on propagation rules. In this field, actors – supervised by requirements engineers in design time – explore alternative configurations of dependencies to define their strategies into the social context or into the Multi-Agent System (hereafter MAS) under analysis. More recently, Tropos [5] – i.e. an agent-oriented methodology for software development centered on Goal- Oriented Requirements Engineering (GORE) [6] principles – incorporates the notion of Model-Driven Development by evolving i* models (SD and SR models) from Early Requirements discipline to Detailed Design discipline. Therefore, Tropos also uses the abstractions of agent, goal, softgoal, task, dependency, resource and others to deal with early and late requirements of the software as well as architectural and detailed design. After this process, the software is finally implemented. Basically, it is important to keep in mind two main points: (i) Tropos covers very early phases of requirements analysis, which allows a profound investigation of how the software must work and how the software and human agents should interact; and (ii) all abstractions (for instance agents, goals and tasks) are conceptual notions used throughout software development. It is also relevant to mention that the NFRs modeled in design disciplines by using the NFR Framework, the i* framework and the Tropos methodology are implemented in the final system as functionalities or metricized. Interest on using agent-driven developments, such as the one proposed by Tropos, have been increasing in Computer Science fields (e.g. Software Engineering and Requirements Engineering) in order to improve autonomy, flexibility, proactivity and reactivity capacity, and adaptability of the software under development. A MAS is centered on multiple interactions within intelligent agents that combine autonomy and collaboration to achieve the desired functionalities that are delegated to them. In order to deal with individual strategies with different agents, a MAS commonly uses control paradigms, such as self- organization [7]. 978-1-4577-0944-9/11/$26.00 ©2011 IEEE 23