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