Abstract
Goal-oriented requirements modeling approaches aim to capture the intentions of the stakeholders involved in the development of an information system as goals and tasks. The process of constructing such goal models usually involves discussions between a requirements engineer and a group of stakeholders. Not all the arguments in such discussions can be captured as goals or tasks: e.g., the discussion whether to accept or reject a certain goal and the rationale for acceptance or rejection cannot be captured in goal models. In this paper, we apply techniques from computational argumentation to a goal modeling approach by using a coding analysis in which stakeholders discuss requirements for a Traffic Simulator. We combine a simplified version of a traditional goal model, the Goal-oriented Requirements Language (GRL), with ideas from argumentation on schemes for practical reasoning into a new framework (RationalGRL). RationalGRL provides a formal semantics and tool support to capture the discussions and outcomes of the argumentation process that leads to a goal model. We also define the RationalGRL development process to create a RationalGRL model.
Introduction
Requirements Engineering (RE) is about producing a consistent and comprehensive set of requirements of an information system, such as general functional requirements, operational environment constraints, and non-functional requirements such as security and performance. Among the “early-phase” requirements engineering activities are those that consider how the intended system should meet organizational goals, why it is needed, what alternatives may exist, what the implications of the alternatives are for different stakeholders, and how the interests and concerns of stakeholders might be addressed [51]. These activities fall under the umbrella of goal modeling approaches. There are a large number of established RE methods using goal models in the early stage of requirements analysis [28], and a number of goal modeling languages have been developed in the last two decades, with
A goal model is the result of a discussion process. Goal models for complex information systems – e.g., air-traffic management systems, systems that support industrial production processes, government or healthcare services – are constructed over the course of several workshops with stakeholders and requirements engineers. Failing to record the discussions underlying these complex goal models in a structured manner may harm the success of the RE phase of the system development process. The challenge here is that goal modeling is a
Current goal modeling languages have limited support for capturing and reasoning about changing beliefs and opinions: the resulting goal model only shows the end product of a long process and not the discussions of the stakeholders during the modeling process, and with existing goal modeling languages one might change part of a goal model without being able to reason about whether or not this new goal model is consistent with the underlying beliefs and arguments. What is needed is a systematic approach to record the rationales (beliefs, opinions, discussions, ideas) underlying a goal model. It should be possible to see how these rationales change during the goal modeling process and to clearly link the rationales to the elements of the resulting goal model. In order to do this, we propose a framework with its tool support which combines traditional goal modeling approaches with techniques from
The argumentation must capture the actual discussions of the stakeholders in the early requirements engineering phase.
The framework must have formal traceability links between elements of the goal model and their underlying arguments.
Using these traceability links, it must be possible to compute the effect of changes in the underlying arguments on the goal model, and vice versa.
A process explaining how practitioners can develop models in the framework must be identified.
The framework must have accessible tool support.
Based on our previous work [48,49], we develop the
Documenting choices and considerations in software or systems design using argumentation has a long tradition. Already in 1970, the first article on Issue-based Information Systems [29] talked about “argumentative processes” in information system design. IBIS was further developed in the 80’s and 90’s in the influential work on issue-driven design methods such as gIBIS [11] (see also [34,42] for further work on arguments or rationales in software design). For reasons unknown, this work was largely ignored by the goal-modeling community, which is why we propose our RationalGRL framework that incorporates the core ideas from issue-driven design methods into goal-oriented requirements engineering by explicitly including arguments for and against the various options into a goal model.
We first extend existing work on modelling goals and arguments by developing a list of critical questions that can be used to analyze and guide stakeholders’ discussions about goal models. Inspired by the work on practical reasoning from computational argumentation, most notably Atkinson and Bench-Capon [4], we performed a coding analysis in which we analyzed a set of transcripts containing more than 4 hours of discussions among designers of a traffic simulator information system, finding 222 instances of arguments and critical questions about goals and tasks (Requirement 1).
We then specify clearly in what way RationalGRL extends GRL by developing a metamodel, which specifies the traceability links between the arguments based on the schemes and critical questions and the GRL models (Requirement 2). In addition to this metamodel, we provide formal semantics for RationalGRL by formalizing the GRL language in propositional logic and rendering arguments about a GRL model as a formal argumentation framework to which we can apply argumentation semantics [13]. We, then, formally capture the links between argumentation and goal models as a set of algorithms for applying argument schemes and critical questions about goal models (Requirement 3).
In order to support practitioners in using the RationalGRL framework, we propose the RationalGRL development process, which explains steps for developing goal models and posing arguments based on critical; questions in an integrated way (Requirement 4). We implement and briefly evaluate a web-based tool for the RationalGRL framework, which works on any modern browser and is developed in Javascript (Requirement 5).1 The tool and source code can be found at
The rest of this article is organized as follows. Section 2 introduces our running example and briefly discusses the basics of GRL and argumentation about goals using argument schemes. Section 3 contains the coding analysis and an explanation of how we obtained an initial set of argument schemes and critical questions by coding transcripts from discussions about an information system. Section 4 provides an overview of the RationalGRL framework and the RationalGRL metamodel, and examples from the coding analysis that illustrate the framework and its language. In Section 5, we provide formal semantics for GRL and RationalGRL, show how RationalGRL models can be translated to GRL models and vice versa, and we develop various algorithms that change a RationalGRL model according to an argument scheme or a critical question. Section 6 discusses the RationalGRL development process and explains various features of our tool. Finally, Section 8 covers related work, future work, and the conclusion.
In this section, we introduce our running example, after which we give a brief overview of the Goal-oriented Requirements Language (GRL) [2], which is the goal modeling language we use to integrate with the argumentation framework. We consider a slightly simplified version of GRL, which includes all the core elements of GRL but, for example, has only one level of contribution strength, whereas GRL contains different levels of positive and negative contribution. This simplification does not in any way influence the coding analysis. Furthermore, extending the GRL part of RationalGRL to include the full set of GRL elements is straightforward. Next, we discuss the ideas behind computational argumentation. In particular, we focus on the
Running example: Traffic simulator
Our examples and coding analysis are based on the data produced by a series of experiments by Tang et al. [45], who in turn base their work on the so-called Irvine experiment [46]. This experiment contains a design reasoning assignment in software engineering about a traffic simulator. In this assignment (see Appendix A), designers are provided with a problem description, requirements, and a description of the desired outcomes. The client of the project is Professor E, who teaches civil engineering courses at an American university. In order for the professor to teach students various theories concerning traffic (such as queuing theory), traffic simulator software needs to be developed in which students can create visual maps of an area, regulate traffic, and so forth. Tang et al. asked designers (groups of students) to discuss the requirements of this traffic simulator. These discussions were recorded and transcribed. We performed a coding analysis on these transcripts, which we used to develop our RationalGRL framework. Furthermore, we also use the traffic simulator case as a running example throughout this paper.
Goal-oriented requirements language (GRL)

Basic elements and relationships of GRL.

Partial GRL model of the traffic simulator example.
GRL is a modeling language for specifying intentions, business goals, and non-functional requirements of multiple stakeholders [2], based on
Figure 2 illustrates a simplified GRL diagram from the traffic simulator design exercise. An actor represents a stakeholder of a system or the system itself (
Different links connect the elements in a GRL model. AND, IOR (Inclusive OR), and XOR (eXclusive OR) decomposition links allow an element to be decomposed into sub-elements. In Fig. 2, the goal
The GRL model in Fig. 2 shows the softgoals, goals, tasks and the relationship between the different intentional elements in the model. However, the rationales and arguments behind certain intentional elements are not shown in the GRL model. Some of the questions that might be interesting to reason about are the following:
Why is softgoal
What does
Why does the task
Why does
These are the types of the questions that we cannot answer by just looking at GRL models. The model in Fig. 2 does not contain information about discussions that led to the model, such as clarification steps for the naming, or alternatives that have been considered for the relationships. The idea behind the original GRL specification is that so-called
An important characteristic of human reasoning is its non-monotonic, or defeasible, nature: conclusions that are accepted at one moment may be retracted later in view of new information; on the other hand, new information may cause conclusions that were rejected earlier to be reinstated.
One central concept in argumentation is that of argument schemes [8,50]), stereotypical patterns of non-monotonic reasoning – for example, “if an expert says something, we can usually accept his claims”. Part of argument schemes are the critical questions, which point to typical sources of doubt or implicit assumptions in arguments based on schemes – for example, “is the expert biased?” or “is the expert a recognized expert in the field that he claims?”. Critical questions can be used to make explicit the counterarguments to the original argument – e.g. “we should not accept the expert’s claim since he is biased”. Such counterarguments can be attacked in turn by their own counterarguments – “no he’s not biased since he has no stake in the case” – and thus an argumentation framework [13] of mutually attacking arguments can be constructed.
In early-phase requirements engineering, we can imagine many different argument schemes, such as for example the Appeal to Expert Opinion Scheme illustrated above. Central, however, in discussions surrounding goal models is obviously the reasoning about which goals to pursue and which actions to take, often referred to as
Performing action
Action
Here,
Performing action
Action
Like in all argumentation, practical reasoning is also about counterarguments. For example, we may argue that, in fact, performing action
Will the action realize the desired goal?
Are there alternative ways of realizing the same goal?
Does performing the action have a negative side effect?
Answers to these critical questions are counterarguments to the original argument. These counterarguments also follow a scheme; for example, a negative answer to CQ1 follows the scheme “Action

PRAS arguments and attacks in the traffic simulation example.
Counterarguments Formal definitions of argumentation frameworks and semantics will be given in Section 3.
The practical reasoning scheme and its critical questions as given above could be used to argue about goal models. In fact, in some of our early work on RationalGRL [48,49] we used practical reasoning arguments such as A1 and A2 to capture reasoning about goals, combined with arguments based on other schemes such as the scheme from Expert Opinion. We then translated these arguments to goal models. However, our later coding analysis (Section 3) shows that when discussing requirements, people very often do not structure their reasoning nicely along the lines of the full argument schemes, that is, they rarely utter an argument along the lines “We have goal
Recall that All original transcripts, codings, and models are available in our online repository, which can be found at
In order to obtain actual requirements discussions, we turned to a recent series of experiments by Tang et al. [45]. In these experiments, 12 groups of two or three students in a Software Architecture course at MSc level were given the traffic simulator assignment (Appendix A). These groups had a maximum of two hours to design a traffic simulator, which included a discussion of the requirements of this traffic simulator. The students did not use any goal modeling technique in the course or during the discussions. They were asked to record their design sessions, and the recordings were subsequently transcribed. We used three of these transcripts, totaling 153 pages, for our coding analysis.
Occurrences of argument schemes AS and critical questions CQ in the three transcripts
Before coding the transcripts, we came up with an initial list of 11 argument schemes (AS0–AS10 in Table 1) based on GRL, practical reasoning, and an initial quick reading of some of the transcripts. As discussed in the previous section, we found that the discussion has a particular argumentative structure consisting of claims, questions and counterclaims. Hence, our argument schemes are not of the more traditional, syllogistic form but rather represent types of claims about a goal model.
AS0 to AS4 are schemes that concern a single element of a goal model. For example, AS0 represents the claim ‘
Using the initial list of arguments and critical questions, we coded three transcripts of requirements discussions. The coding was performed by one author and subsequently checked by other authors. As the transcripts contain spoken language, the coding involved some interpretation. For example, the students almost never literally say ‘actor
During the coding, new argument schemes and critical questions were added to the list. For example, we found that the discussants often talk about tasks decomposing into sub-tasks, therefore, we added AS10 and CQ10a. Furthermore, since there were many discussions on the relevance and the clarity of the names of elements, two generic critical questions CQ12 and CQ13 were added. The final results of the coding can be found in Table 1. We found a total of 159 instantiations of argument schemes AS0–AS10. The most used argument scheme was AS2: “Actor
Our coding further led us to identify three different operations, that represent different effects an argument or critical question can have on a goal model: an argument can introduce a new element in the goal model (
We now give an overview of our RationalGRL framework. Through a metamodel and informal examples from our coding analysis we will show that it is possible to trace elements of the goal model back to their underlying arguments (

The RationalGRL framework.
Figure 4 presents an overview of the RationalGRL framework. There are two activities (bottom),
In the rest of this section we discuss the individual parts of the RationalGRL framework. In Section 4.1, we continue our discussion of the argument schemes and critical questions for practical reasoning and argumentation, fitting these schemes and questions into our framework. In Section 4.2, we discuss the language for RationalGRL models and we provide a metamodel, linking the new concepts of our language to GRL. In Section 4.3, we provide extensive examples from our coding analysis.
A core aspect of the RationalGRL framework are the argument schemes – in particular the critical questions – which should be close to the actual discussions of stakeholders (
List of argument schemes (AS0–AS12, Att), critical questions (CQ0-CQ12), and the effect of answering the CQs (right column). The effects are for the CQs only, and do not apply to the argument schemes
List of argument schemes (AS0–AS12, Att), critical questions (CQ0-CQ12), and the effect of answering the CQs (right column). The effects are for the CQs only, and do not apply to the argument schemes
It is important to note that the list we provide here is not exhaustive – it is the result of our empirical study, but new argument schemes and questions can be added depending on the problem domain. In fact, our tool (Section 6.2) contains many more critical questions, and it is fully extensible, meaning that new argument schemes and critical questions can be added easily. See Section 8.2 for more details.
AS0–AS4 and AS11–AS12 are arguments for an element of a goal model, and AS5–AS10 are related to links in a goal model. The last scheme (Att) is a scheme for a generic counterargument against any type of argument. Arguments based on the schemes in Table 2 can be used to form arguments about elements in a GRL model. Making an argument based on one of the schemes effectively adds the corresponding GRL element to the model. See, for example, Table 5 in Appendix B: the participants argue for the addition of several tasks to the goal model using argument scheme AS2.
An important part of arguing about goal models is asking the right critical questions. The critical questions presented in Table 2 are therefore related to their respective argument schemes. These questions can be answered with “yes” or “no”, and the type of answer has an effect on the original argument (
RationalGRL is an extension of GRL and includes all the elements shown in Fig. 1. However, there are also new elements corresponding to argumentation-related concepts. Figure 5 shows these elements.

The new elements and link of RationalGRL. Generic argument (left), attack link (middle), and disabled element (right). The disabled element in this figure is a task, but all IEs and links can be disabled in RationalGRL.

The RationalGRL metamodel. The
The complete metamodel of the language can be found in Fig. 6. This metamodel represents the abstract grammar of the language, independently of the notation. The metamodel also formalizes the GRL concepts and constructs introduced in Section 2.2.
The metamodel consists of two packages,
The practical reasoning and argumentation package depicts the concepts we introduced in Section 4.1. An
The
There are two important links between the
We now discuss the interactions between the

RationalGRL model (right) with instantiated argument schemes (left): introducing new elements (operation
We first show how instantiating argument schemes leads to the introduction of new RationalGRL elements in a model. Take the example in Fig. 7, which is based on the excerpt from transcript

Disabling elements (operation
The excerpt from transcript

Replacing an element (operation
The excerpt of transcript

Renaming an element name (operation

Disabling an element (operation
The excerpt from transcript

Defending an element by attacking its disabling attacker (operation
Further in the discussion, it is then argued that the development team should be considered, since the professor does not develop the software. This is captured using a generic counterargument
In Section 4, we have shown through a language definition and informal examples from our coding analysis that it is possible to trace elements of a goal model back to their underlying arguments (
In Sections 5.1 and 5.2 we formalize a static representation of our framework based on the metamodel (Fig. 6). We first provide a formal specification of a GRL model in Section 5.1, and we extend it with arguments and attack links in the Section 5.2, hereby obtaining a formal specification of a RationalGRL model. In Section 5.3 we then present algorithms in order to translate a GRL model into a RationalGRL model, and vice versa. Finally, in Section 5.4, we develop algorithms for instantiating argument schemes and answering critical questions and thus formally capture the
Formal specification of GRL
We formalize a GRL model based on the metamodel (Fig. 6), starting with intentional elements and actors.
Throughout this section, we adopt the convention that variables start with a lowercase letter (e.g,
(General Definitions).
We define the following sets:
Next, we define an intentional element.
An intentional element is a tuple
A set of intentional elements is denoted by
The definition above is sufficient to capture all intentional elements (IEs) used in GRL. Note that according to the definition above, all IEs have a decomposition type, even when the IE is not decomposed into other IEs. This is in line with the GRL metamodel. However, in the following, we sometimes leave out the
Throughout this section, we use the example in Fig. 2. This example contains various IEs which can be formalized using Definition 2, for example,
We now define actors.
(Actor).
An actor is a tuple
A set of actors is denoted by
We can formalize the actor in our example (Fig. 2) as
The relation between actors and their intentional element is formalized as follows.
(Actor-IE Relations).
An
A set of Actor-IE relations is denoted by
Note that Actor-IE relations do not have an
At this point we have defined all intentional elements in GRL and a containment relation between actors and intentional elements. We now discuss the GRL links.
(GRL Link).
A
A set of links is denoted by
Similar to IEs, links have identifiers as well. Some of the links in our example (Fig. 2) are
We can now form GRL models as follows.
(GRL Model).
A
The full specification of Fig. 2 is as follows.
Definition 6 only sums up the elements of the model and not the constraints that make a
(Valid GRL Model).
A GRL model Note that ids are globally unique across IEs, Links, and Actors, i.e., let Intentional elements of actors exist: An intentional element belongs at most to one actor: Links connect intentional elements:
Let us briefly verify that our previous formalization of Fig. 2 satisfies all the constraints of Definition 7:
All elements in the formalization have different ids, so this constraint is satisfied. There is one actor ( All links connect IEs: the contribution links connect elements with ids 2, 3, and 6, which are all IEs; the decomposition links connect elements with ids 5, 6, and 7, which are all IEs; and the dependency link connects id 1 with 4, which are both IEs.
In order to develop a logical framework for RationalGRL, we extend the GRL logical framework of the previous section by adding two elements (see Fig. 5), namely

Example RationalGRL model (extension of Fig. 2).
A generic argument is a tuple
A set of generic arguments is denoted by
Thus, a generic argument is any element in the RationalGRL model that is not an intentional element or an actor. In the example, some of the generic arguments are
We can now define
(Argument).
An argument
This definition captures the specification in the RationalGRL metamodel (Fig. 6) in which the class
Examples of arguments in Fig. 13 are
(Attack Link).
Given a set of arguments
A set of attack links is denoted by
As an example, take the arguments
We now define a RationalGRL model.
(RationalGRL Model).
A
The definition of a RationalGRL model collects all the previously defined GRL and RationalGRL elements in a single definition. For completeness, we now provide the full specification of Fig. 13. Let us first enumerate all the arguments used in this example:
In Fig. 13, it can be read from that arguments
(Argumentation Framework).
An
Note that the definition of a RationalGRL model (Definition 11) is exactly the same as the definition for an argumentation framework. This allows us to use the following definitions directly.
(Attack, conflict-freeness, defense, admissibility, grounded extension).
Suppose an argumentation framework
Let us explain these definitions using the example argumentation framework, in Fig. 14, which is a subset of our RationalGRL model from Fig. 13, containing only arguments In the argumentation literature, argument

Example argumentation framework, subset of the RationalGRL model from Fig. 13.
The notion of admissible sets gives rise to various possible extensions of an argumentation framework; we use the grounded extension, which is the minimal admissible set that contains all the arguments it defends all the arguments. In Fig. 14, there is one grounded extension, namely
The status of arguments can now be determined based on the grounded extension. Recall from the metamodel (Fig. 6) that an argument can be
An argument is
In Fig. 14, we have that arguments
Translating between RationalGRL and GRL
Now that we have formalized both GRL and RationalGRL models, we present algorithms to translate between these two models. Both of these two translation algorithms are straightforward, which is result of the fact that the two models are formalized in a very similar way.

GRL to RationalGRL translation
We start with the translation algorithm from GRL to RationalGRL, which is shown in Algorithm 1. The translation algorithm takes a GRL model

RationalGRL to GRL translation
The translation from a RationalGRL model to a GRL model is given in Algorithm 2. First. the arguments are each put in the corresponding GRL component sets. The procedure
While we have defined a notion of a
A RationalGRL model
Algorithms for argument schemes and critical questions
We have now formalized a
As discussed in Section 4, the argument schemes and critical questions of Table 2 all lead to one of three operations:
In all of the following algorithms, we assume that:
The algorithms are applied to some valid RationalGRL model The procedure
INTRO algorithms
The following arguments schemes and critical questions of Table 2 fall into this category:
AS0–AS12
CQ5b, CQ6b, CQ6c, CQ7b, CQ9, CQ10b
These type of algorithms are short, and consist simply of adding an argument for the element that is being added. We illustrate this with a single example algorithm for AS5.

AS5: goal with id
We have slightly reworded critical question AS5 in Algorithm 3. We assume that a goal
As an example, suppose we add the decomposition of goal “Generate cars”, expressed as argument
The critical questions of type
As discussed before, algorithms of type
In the following algorithm, we assume the critical question is answered affirmatively, as indicated in the right-most column of Table 2. For instance, for critical question CQ0 “Is the actor relevant?”, we assume it is answered with “No”. In this case, an action is required. In contrary, if the answer to the question is “Yes”, no action is required.

CQ0: is actor with id
Algorithm 4 is executed when critical question CQ0 is answered with “No”. First, on lines 2 and 3, an argument is created for the critical question and added to the set of arguments
Consider for example the RationalGRL model in Figs 11, which consists of an actor and a generic counterargument. Let us reconstruct this model using the application of argument schemes and critical questions to an initially empty RationalGRL model (
Algorithms for the remaining critical questions are omitted here since they are not very complex.
Recall that

CQ5c: is the decomposition type of element
While the original critical question CQ5c is specific to the decomposition between a goal and a task, Algorithm 5 is more generally applicable to the decomposition type of any IE, since all IEs have a decomposition type (Definition 2).
Let us go through this algorithm step by step. On line 2, a new argument
As an example, take Fig. 7. The initial RationalGRL model (before applying CQ10b), can be formalized as follows:
Suppose algorithm
The other
In previous sections, we have shown how the RationalGRL framework can capture stakeholders discussions, and how interactions between two types of reasoning, practical reasoning and goal modeling, leads to two interlinked models, RationalGRL and GRL models. The previous section contained a formalization of RationalGRL, which forms the starting point of this section. In this section we clarify how practitioners can actually use the RationalGRL framework by proposing a development process (
RationalGRL development process
We propose the development process shown in Fig. 15 to develop a RationalGRL model (see [20]). We assume that the initial GRL models have been created based on requirements specification documents. The rest of the steps are as follows:

The RationalGRL development process.
We can continue these four steps until there is no more intentional element or link to analyze or we reach a satisfactory model. In the next section, we will give an example of how our tool can be used together with the methodology to build a GRL model.

Overview of the RationalGRL tool.
The final requirement of our framework is that it has tool support (
When the tool starts, the user is presented with a screen as in Fig. 16. This screen shows the palette of elements and links (top left pane), a canvas on which RationalGRL models can be built (top right pane), an ‘Export to GRL’ button (bottom left pane), and a details pane of the currently selected elements (bottom right pane). Elements and links can be added to the canvas by selecting them on the left and clicking on the canvas, thus capturing the
In total, there are four different types of details panes, which we now explain in turn.
If in the example of Fig. 17, the user selects “No” and clicks the “Answer question” button. A new argument is then automatically created that attacks the softgoal and the details pane shows the critical question as answered (Fig. 18). This is an implementation of a

Critical question details pane for “is the softgoal relevant/useful?”.

Effect of answering CQ11: “is the softgoal relevant/useful?” with “no”.

Attacking an argument with a generic argument “necessary”.
The connection to jUCMNav is maintained in the form of an export function from the RationalGRL tool to jUCMNav, essentially an implementation of the RationalGRL to GRL translation (Algorithm 2). RationalGRL models built in the RationalGRL tool can be exported to the
Two examples of this export are provided in Appendix C. Figure 20 shows the model that was discussed earlier in this paper (Fig. 13) in the RationalGRL tool. Recall that translating this model to GRL provided us with the model in Fig. 2. This is also what follows from our export: if we export the RationalGRL model and then import the resulting GRL model in jUCMNav, we get the model in Fig. 21, which is the same as Fig. 2.
Our translation and export function uses the argument acceptability as a way of determining the GRL model. Take for example, the RationalGRL model in Fig. 22. A positive contribution is added from “Keep same cars” to “Simple design”. More importantly, an argument “not enough CPU” has been added to the model. This argument attacks the “Realistic simulation” softgoal and the “Create new cars” task, arguing that there is not enough processing power for either of these to be feasible in the traffic simulator. Now, if we export this to GRL, the GRL elements that are rejected or disabled (greyed out in Fig. 22) are not included. This can be seen in Fig. 23, where the jUCMNav GRL model that was exported from the RationalGRL tool is shown. The pair of Figs 22 and 23 also nicely shows the added value of RationalGRL: Fig. 22 shows that there can be a larger discussion and rationalization underlying even a fairly simple goal model such as the one in Fig. 23.
In addition to the coding analysis (Section 3), which forms the basis of the RationalGRL framework, we also performed a user evaluation with 16 expert users. The objective of this evaluation was to determine whether the users found the components of RationalGRL (arguments, argumentation semantics, critical questions) useful, and whether they found it easier to keep track of and express opinions and beliefs using RationalGRL compared to standard GRL. Regarding the usefulness of the RationalGRl features and the to GRL, the following two broad hypotheses follow from our main points in this paper:
The components of RationalGRL – arguments, critical questions and determination of the status of arguments – are a useful extension to standard goal modeling in GRL.
The components of RationalGRL make it easier to express, determine the effect of and communicate to other stakeholders one’s opinions and beliefs about a goal model.
In the rest of this section, we will describe our experiment in more detail and further specify these hypotheses. In addition, we wanted to know some basics about the user experience. The aim was not to conduct a full user experience study for the RationalGRL tool, but usability could influence the participants ideas about the RationalGRL framework and language – a very nice and easy to use tool tends to make people more positive towards a particular modeling language, whereas irritations about a bad tool will lead to a more negative disposition.
Experiment design
The idea was to have our participants perform a small modeling task, and then ask them what they thought of RationalGRL. Thus, our experiment consists of three parts:
Explanation: We explain to the participants the basics of the RationalGRL development process and the RationalGRL tool.
Modeling: We ask the participants to model a summarized discussion in the RationalGRL tool.
Survey: We present the participants with a survey containing questions about the features of RationalGRL, and some questions about the usability of the RationalGRL tool.
The instructions for these three parts are provided in a single document that we sent out to the participants.9 See www.rationalgrl.com, page “Empirical Study”.
In order to allow the participants to compare their models to standard GRL models, after the modeling exercise we provide the participants with Fig. 2, which models the discussion for Part 2 (Appendix D) in standard GRL.
For Part 3, we provided the participants with a survey.10 Do you think the arguments and counterarguments of RationalGRL are a useful extension to standard goal modeling? Do you think the critical questions and answers in the details pane are a useful extension to standard goal modeling? Do you think the automatic determination of the status of arguments and elements is a useful extension to standard goal modeling? Do you think using RationalGRL instead of a standard goal modeling language makes it easier or more difficult to for someone to express beliefs and opinions in a goal model? Do you think using RationalGRL instead of a standard goal modeling language makes it easier or more difficult to for someone to determine the effect of beliefs and opinions on the resulting goal model? Do you think using RationalGRL instead of a standard goal modeling language makes it easier or more difficult to for someone who is not the original author to understand the goal model?
The following questions ask the participants to rate RationalGRL vs. a standard goal modeling language on a Likert scale from 1 (much more difficult) to 5 (much easier):
We also ask two open questions regarding the strengths and weaknesses of RationalGRL compared to GRL. The survey further contains questions about the RationalGRL tool user experience, such as whether it was easy or difficult to get started with the tool and to model the example case. We, furthermore, ask open questions about the strengths and weaknesses of the tool, possible improvements and whether the participant thinks the tool could be used in practice in future.
In order to test our main hypotheses H1 and H2, we have to formulate the appropriate null hypotheses and alternative hypotheses. For H1 and H2, we hypothesize that the participants will, on average, rate the components of RationalGRL as useful (rating 4) or very useful (rating 5) for Q1, Q2 and Q3, and as making it easier (rating 4) or significantly easier (rating 5) for questions Q4, Q5 and Q6. In other words, the null hypothesis and alternative hypothesis for H1 and H2 are as follows:
H10 and H20: median rating for questions Q1–Q6 is 3 or lower. H1
Note that for each question (Q1–Q6), we can test the null and alternative hypothesis separately, giving insight into exactly which components of RationalGRL were deemed useful. We set the significance level for each hypothesis at
Participant ratings and statistical results of the usefulness of the components of RationalGRL
Participant ratings and statistical results of the usefulness of the components of RationalGRL
Participant ratings and statistical results of whether the components of RationalGRL make reasoning about a goal model easier
First, the participants had to perform the modeling task. They produced RationalGRL models containing on average three arguments (in addition to goals, tasks, etc.) from the short transcript. Some of the examples of RationalGRL models, created by the users, can be found in Appendix D.1.11 The full results of the survey can be downloaded from www.rationalgrl.com, on the page “Empirical study”.
After the modeling task, the survey questions were asked. We first asked the participants some questions about user experience. The users where generally positive about RationalGRL’s clear User Interface (UI), the fact that the tool gives a nice overview of the goals and opinions in a case and that it was straightforward to use and understand. With respect to weaknesses and improvements to the RationalGRL tool, the users mentioned additional UI functionalities such as the possibility to save models, having an “undo” function, and flipping the arrow after adding them. Users also suggested various language-related improvements. Some users mentioned they missed the possibility to attack links, while others mentioned that not all GRL elements are supported (for instance, it is currently not possible to add actors).
The next set of questions concerned the specific features of the RationalGRL modeling language and the difference with standard goal modeling languages. Table 3 shows the respondents’ answers to questions Q1–Q3, and Table 4 shows the answers to questions Q4–Q6. We concluded with two open questions about the comparison between RationalGRL and other goal modeling languages. When asked about the advantages of RationalGRL over standard goal modeling languages, many users agreed that making arguments explicit may force end users to have a more structured discussion: “Yes, having the possibility to add arguments seems quite useful”, ‘Generally I think its useful to explicitly document arguments of a discussion”, “Clear communication about argumentation and forcing people to think in those clear terms.”, “...you can add arguments and that you can answer questions that help you to develop arguments”, “It’s useful that discussion and explanation are close to the diagrams”, “a way to see how decisions are being shaped.”. Furthermore, one user stated that RationalGRL successfully “tries to capture the rationale behind the modeling process’ and “has a simple way to compute the status of the arguments”.
When asked about the weaknesses, users mentioned the complexity as the most important weakness: “The apparent increase in complexity might lead to negative perceptions”, “adding yet another layer of complexity scares me”. The concern that the modeling process may involve too much cognitive overhead was mentioned a few times though: “I think the overhead of inputting a (detailed) discussion in a structured manner into any system makes adoption difficult”, “the manual input is too complex and takes too much time. An automated process of parsing the conversation log would be much more helpful”, and “I still believe in the value of arguments, but there should be less confusing ways to capture them”. One user mentioned that complexity and cognitive overload is a problem with goal modeling in general: “Goal models are already complex (...) I have worked for years on the effect of context on goal models, and my conclusion is that this was very interesting academic work but with close-to-zero practical implications, unfortunately.”.
With respect to Q4, participants stated that arguments make it much easier to express their opinions. None of the participants found expressing their beliefs (much) more difficult, and 69.3% found it easier or much easier. This corresponds to the answers to Q1, where participants said the arguments were a useful addition. For Q5, participants agree that RationalGRL makes it easier to determine the effect of one’s beliefs on the goal model. Combining this with the results for question Q3, which asked about the usefulness of determining the status, we can say that the participants overall found this a useful feature which makes working with conflicting beliefs easier. One participant remarked that “The reasoning [in the example] seems simplistic [...] the added value of [the formal argumentation] would be justified if the reasoning is more complex”. Thus, the simplistic case in the modeling exercise possibly detracts from the results for Q5 and Q3. Finally, participants were less sure that arguments would help in communicating the goal model to others. This may be due to the fact that in the experiment, communication of opinions to others was not really tested, leaving the participants to guess what this effect would be.
Threats to validity
Internal validity is about the validity of the experiment results given our experiment setup and interpretation of findings. The main threat here is that the modeling task the participants were asked to do is not realistic. The task is quite small, and based on an existing transcript of a requirements discussion. In a realistic setting, users of RationalGRL would model much more complex requirements together with the stakeholders. The problems with complexity and cognitive overload only start to play a role for larger models, so while the participants were generally positive in the ranking questions Q1–Q6, some reservations were expressed in the open questions as to whether this approach would work in a realistic setting.
Another threat to internal validity is that many of the participants had no experience with goal modeling languages at all. Hence, the perceived usefulness of the arguments could be influenced by the fact that the participants, for the first time, were given a goal modeling language to perform structured requirements analysis. In other words, perhaps they found a structured modeling language generally quite useful. One way to better check the difference between standard goal modeling and RationalGRL would be to first provide users with a standard goal modeling tool and then have them use RationalGRL. An even more thorough way to test the usefulness of RationalGRL over, for example, standard GRL would be to compare a test and control group, where the test group uses RationalGRL and the control group uses standard GRL. We leave these types of further empirical studies for future research.
External validity concerns the generalizability of the results. As the number of participants is fairly small (16), this threatens the generalizability of our findings. However, the type of participants is realistic: software engineers having a lot of experience with requirements engineering, as opposed to, for example, engineering students with little experience. Furthermore, the results are in line with existing research on design rationale. On the one hand, these existing studies, like our study, show that structured modeling languages suffer from the common problem of high cognitive overhead [43]. One the other hand, these studies show that the inclusion of argumentation and critical questions in design and requirements discussions improve the reasoning [39,45].
Discussion
Our results point in some interesting directions for further discussion and research.
Taking the above into account, it seems natural in future work to focus more on the RationalGRL development process.12 Note that in order to keep the study simple for the users, we did not explicitly ask the respondents to follow the development process from Section 6.1.
Related work
DR looks at issues, options and arguments for and against these options in the design of, for example, a software system. Similar to the literature on goal modeling, much of the traditional DR literature provides modeling languages and diagramming tool support for building design rationales. It is in this diagramming functionality that the link with argument diagrams from philosophy, law and AI [22,40] has been made, where argument diagrams represent reasoning from premises to conclusions. One of the problems of such methods and tools is the cognitive overload that results from having to learn and use such tools at the same time as having to discuss and think about complex software designs. Furthermore, not much of the research on design reasoning has empirically investigated which techniques and how much information designers use in design reasoning, which information is missing, and how the use of design reasoning techniques affects design discussions and eventually the quality of design discourse. More recent research on DR, therefore, moves away from the idea that all decisions have to be explicitly diagrammed and focuses more on empirically investigating how critical reflection can help when designing [39,45], or which parts of the design process are best explicitly documented [16].
Two relevant articles [9,17] capture software design processes as argumentation dialogues between parties. Black
Software design and requirements engineering (RE) are very closely related [38] and hence, the insights from the DR literature are directly applicable to RE – although for reasons unknown, the DR literature has been largely ignored by the goal-modeling community. The RationalGRL framework essentially incorporates the core ideas from DR into goal-oriented requirements engineering by explicitly including arguments for and against the various options into a goal model. In this respect, we may seem to go against the trend in DR research to focus less on diagramming and more on guidelines for design processes. There are two reasons for this: first, as opposed to DR diagramming, goal modeling is still very much an active area of research [21] with clear practical applications [37]. Secondly, we note that RationalGRL also includes a development process and critical questions that encourage reflection when thinking about the possible goals and functionalities of a system, which connects with the research ideas on DR [39,45].
A number of approaches in the field of requirements engineering take arguments into account explicitly. One early example comes from Haley
Another recent example of the use of arguments in goal-oriented requirements engineering is the work by Murukannaiah
Another example of argumentation in RE concerns the use of argumentation in requirements elicitation. Ionita
It is clear from these literature that arguments play a core role in RE. Murukannaiah
The work on RationalGRL puts the insights from the literature in a broader framework. For example, there is a specific focus on security requirements [23,26,52] or the reasoning is about single goals or tasks instead of about the wider context as represented in a goal model [14,23,35,52]. RationalGRL provides a generic and extensible framework for arguing about goals and tasks in RE. At the moment, there is only a “generic argument” in addition to arguments about goals and tasks. However, new argument schemes and critical questions about, for example, security risks or expert opinions, can be easily added: the metamodel (Fig. 6) accommodates this and the formal specification in Section 5 is set up in such a way that extending the definition of argument and adding new algorithms for specific critical questions is easy.
More explicit rationales for goal models are included in the original GRL specification [2] in the form of
There are further advantages of using RationalGRL over GRL with belief elements. For example, none of the GRL specifications allows to attach beliefs to other elements, thus it is not possible, for example, to provide a rationale for why some tasks positively contributes to a goal. Furthermore, the RationalGRL arguments follow clear schemes with associated critical questions explicitly tailored towards reasoning about goals and actions or tasks, while beliefs in GRL offer no further guidance as to what kinds of rationales can be given for elements in a goal model. In addition, beliefs in GRL seem not to influence a goal model in any way. Arguments in RationalGRL, in contrast, play an important role in forming the resulting goal model: if an element is defeated by an argument, it is not part of the resulting goal model.
Modeling goal models as argumentation frameworks allows the computation of consistent sets of goals and tasks in a goal model. In RationalGRL, we have opted not to provide such an argumentation-theoretic semantics to goal models, because GRL already has quite fine-grained satisfiability semantics [2], which take into account conflicts, decompositions and dependencies. RationalGRL focuses on what is not captured in the work discussed above [5,32], namely the arguments and beliefs underlying a goal model, and the way these arguments and beliefs interact with the elements of the goal model. If desired, however, it would be easy to provide Dung semantics similar to [5,32] for goal models, as the elements of a goal model are already arguments in RationalGRL (Fig. 6).
The contribution most closely related to ours is the work by Jureta
The GAM process is essentially a generic, high-level process for problem solving, not specifically tailored towards goal modeling. In this sense, the RationalGRL Development Process in Fig. 15 can be seen as a more specific version of GAM explicitly meant for goal modeling. The argument schemes and critical questions in RationalGRL provide clearer handles for goal modeling (cf. requirement 4 of our framework, Section 1). Furthermore, the RationalGRL framework adds full tool support for the goal modeling and reasoning process, which GAM lacks. GAM does contain more specific ways of dealing with different types of clarity problems; in RationalGRL clarification is captured as a single critical question (CQ12, Table 2). However, as argued above, further critical questions can easily be added to RationalGRL if needed.
Jureta Informally, a structured argument is similar to the PRAS argument in Section 2.3, i.e.,
RationalGRL allows for two-way translation between arguments about goals and standard goal models (cf. Section 5.3). In contrast, Jureta
RationalGRL provides a basic framework for argumentation in requirements engineering, and all aspects of this framework are intended to be fully extensible. We see many open issues to be explored in future research.
The user evaluation of the tool revealed that in order to implement the tool in realistic settings, we need to incorporate arguments in the goal modeling process in a more collaborative way. Extending the tool for collaborative online goal modeling, similar to Github is one of the possibilities: since the renaming (i.e. replacement) and deletion (i.e. disabling) of elements are all logged, it is easy for a stakeholder to continue working on a model that was made by another stakeholder. In addition, critical questions can be included for other stakeholders to answer at a later date. As a formal underpinning of this asynchronous communication between users, it would make sense to capture requirements engineering and software design processes as dialogues between parties [9,17], which are natural fit with the question-answer format employed in the RationalGRL framework.
See page “Empirical study” on www.rationalgrl.com.
The process of constructing a goal model involves discussions between requirements engineers and a group of stakeholders. While it is possible to capture part of this discussion process in a goal model, for instance by specifying alternative solutions for a goal, not all of the arguments can be found back in the resulting model. This makes it not only more difficult to understand the model, but other stakeholders may end up having similar discussions throughout the design and development phase as well. Furthermore, the disconnect between goal models and their underlying beliefs and opinions may lead to a poor understanding of the problem and solution domain.
In order to solve these problems, we present RationalGRL: a framework for integrated goal modeling and argumentation. We extend the well-known goal modeling language GRL with argument schemes and critical questions that can be used to analyze and guide stakeholders’ discussions about goal models. Furthermore, we provide formal argumentation semantics for the new RationalGRL language. Our approach, thus, provides a rationalization for the elements of the goal model in terms of underlying arguments, and helps in understanding why parts of the model have been accepted while others have been rejected. In the introduction, we identified five important requirements for our framework. Below, we discuss how the RationalGRL framework meets these requirements.
Our list of argument schemes and critical questions in Table 2 was constructed by performing a coding analysis in which we analyzed 153 pages of transcripts of discussions among designers of a traffic simulator information system. In this way, we ensure that the argumentation techniques capture the actual discussions of the stakeholders or designers in the early requirements engineering phase (
The metamodel of the RationalGRL framework in Fig. 6 clearly specifies the formal traceability links elements of GRL goal model and the underlying arguments. (
One of our main goals is to provide means for RE practitioners to capture the underlying arguments of goal models by using the RationalGRL framework (
Finally, we have implemented the RationalGRL tool, a web-based prototype,15
Footnotes
UCI design workshop prompt
Transcript excerpts
Discussion about the relevance of an actor (transcript
| Respondent | Text | Annotation |
| 0:10:55.2 (P1) | Maybe developers | |
| 0:11:00.8 (P2) | Development team, I don’t know. Because that’s- in this context it looks like she’s gonna make the software | |
| 0:18:13.4 (P2) | I think we can still do developers here. To the system | |
| 0:18:18.2 (P1) | Yeah? | |
| 0:18:19.8 (P2) | Yeah, it isn’t mentioned but, the professor does- | |
| 0:18:22.9 (P1) | Yeah, when the system gets stuck they also have to be [inaudible] ok. So development team |
From RationalGRL to GRL – examples from the tool
Modeling task – traffic controller
A group of three engineers (E1, E2, and E3) is tasked with designing a traffic flow simulation program. They receive a task specification, focusing on how the simulator will handle the generation of cars in the simulation. Below is an excerpt discussing the early requirements of the system. You are asked to model this discussion in as much detail as possible in the RationalGRL tool (http://www.rationalgrl.com), using all the tools RationalGRL puts at your disposal (GRL elements, critical questions, arguments).
As the RationalGRL prototype does not yet have a save functionality, please save a screenshot of your final model.
