An Ontological Interpretation of Non-Functional RequirementsRenata Guizzardi, Feng-Lin Li, Alex Borgida, Giancarlo Guizzardi, Jennifer Horkoff and John Mylopoulos
My talk was
at Day 1 - session 2. I really enjoyed the feedback I’ve got! What was more
rewarding was to realize that people with different background showed interest
and understood what I was talking about. In conferences like FOIS, where
diversity is in its soul, my main worry was to communicate well the work for
this broad audience. For that, something really important is to make a good
introduction, presenting some definitions (like Requirements Engineering, for
instance) and illustrating the problems the ambiguous definitions of NFRs
create in real life, thus motivating our work of ontological clarification.
Following Giancarlo’s suggestion, I also made sure to state that our focus was
on applied ontology, i.e. on using theoretical works for with the aim of
producing practical implications in RE, rather than proposing a new
theory.
Another
challenge in preparing the presentation regarded the fact that we have a dense
paper. There are too many things to talk about and selecting which were the
“must have” was not so easy. I ended up leaving out important things, like the
distinction between NFR and softgoal, and the formal syntax to specify
requirements. I decided to focus on the definition of NFRs as quality goals and
on the explanation regarding vague NFRs, quality constraints and gradable NFRs.
Thus, I talked about the important operations of NFR refinement and
operationalization. And I also discussed and exemplified the technique we use
to analyze the satisfaction of gradable NFRs. Before concluding the paper,
following another advice of Giancarlo, I also mentioned the empirical work and
our related paper, so that it was clear that some evaluation (at least
preliminary) of the use of the proposed ontological concepts has been done.
Oscar
Pastor was the chair of the session and he conducted the discussion very well.
Indeed, I was happy to see that there were a lot of people willing to make
questions, all of them very interesting. Here are some of these questions:
1) Nicola
Guarino pointed out that he agrees with our view of NFR as requirements
associated to qualities. However, he said (and it is true!) that I talked very
little about the bearers of these qualities and he asked me what they were.
Response: I
profited from the fact that Xiaowei had come before me in the session to
mention that these qualities could inhere in all those elements he had
explained, i.e.: functionalities of the system-to-be, parts of the
system-to-be, executions of the system-to-be etc. Now I also would like to
remind people that information system is broad so requirements (both function
and non-functional) may also be process requirements, ontology requirements,
i.e. not necessarily automated system. But I understood from Nicola’s comment
that in future publications, we must dedicate a section to discuss the bearers
and I even think that from the experiment, we have examples to illustrate all
kinds of bearers so it will be a very interesting discussion.
2) Nicholas
Asher asked why I made the requirement crisp and then I made it gradable. He
asked questions regarding the process of requirements elicitation.
Response:
Nicholas gave me a great opportunity to mention some problems in the RE
practice. Indeed, I had to tell him at this point that in reality, many NFRs
remain vague until the end of the process and unfortunately are never dealt
with, being the cause of many problems. Also, it is a pity that people classify
all that is vague as NFR, without a deeper reflection to whether that
requirement refers to function or quality. He thought the problem was very interesting!
In a sense, I think his question also brings us some other things to think
about regarding how to talk about gradability. In the paper, we took this
choice: first refining, than making the requirement gradable. But in reality, a
stakeholder may also say something like “the search result should be returned
in around 30s”, which is already gradable, without ever being crisp. Most of
the times, indeed, that is probably what happen. So I guess for a journal
paper, we can invert things and explain it like this. One thing that I talked
to Nicholas in the coffee break and that should also be more explicitly said is
that there are requirements which by its nature is crisp while others are
gradable or at least would profit from our decision of making the crisp boarder
in the quality region thiker (i.e. gradeable). As the time is limited during
the presentation, it is not possible to clarify all these things but I think
this point is clear in the paper!
Kit Fine:
Kit had a comment that what we are proposing for gradability may be solved with
a kind of supervaluation, which is his recent work. He also mentioned a
terminological problem with the term vague.
Response: I
think and Giancarlo is even more convinced that this is something we should
look at. Regarding terminology, this is indeed something else to take into
account because, since the morning, during Kit’s keynote speech, it was clear
that what philosophers (and also linguists, as Asher agrees with him on this),
vagueness is more connected to the gradability we are proposing than to what we
call vague NFR. For vague NFR, they suggested us to substitute it to
underspecified NFR.
Carlos
Azevedo (NEMO’s student): Given the NFR stated as “the search result should be
returned in 30s”, is there also a way, calculating the gradable NFR
satisfaction technique you propose, to come up with the result that 5s is even
better than 30s? I ask that because although as Requirements Engineers we
establish a maximal desired limit for this kind of requirement, if the result
is better than this limit, this should be acknowledged.
Response: I’d
have to check but I guess not because both 30s and 5s would be within the
gradable region and it would result 1 to the gradable membership function. But
that would be desirable indeed! We must think about it.
Mara Abel:
Isn’t this technique of gradable NFR satisfaction calculation too expensive
computationally speaking? What justifies it, given that you could simply use
the Euclidean distance measure to do this?
Response:
Giancarlo asked to respond to this one and highlighted the fact that we
considered fuzzy logics, but we think our proposal is better because it
explains where the used numbers come from, while in fuzzy logics, they are
usually arbitrary. He highlighted the fact that in general, stakeholders are
aware of the prototypes and this makes the technique we are proposing a natural
candidate to solve the problem.