Draft_review_VidJuvan

advertisement
Explaining the Goal Argumentation
Method
By A.J.Jansen
Introduction
This paper (Jureta I., 2006a) describes a method to model the arguments and choices made in the
Requirement Engineering (RE) processes for Information Systems (IS). The method is called the Goal
Argumentation Method (GAM) for justifying goal modeling decisions.
The representation of requirements for IS is usually done by goal models such as I-Star Strategic
Relationship (SR) diagram. These goal models describe the desired and undesired behaviors within
the IS. However, it is difficult to extract the reasoning, which led to these models, from the models
themselves. This generates the risk that the goal models are altered after several phases, either
because:



a stakeholder does not know why another stakeholder has made a certain modeling decision,
a stakeholder does not recall the reason for a certain modeling decision
or the reasons for making a certain modeling decision are lost over time.
<?For this the researchers conclude important information, the reasoning which leads to certain
choices, is missing in the RE process and should be added in a structured form.?> GAM provides this
structured form. Possible benefits of such a method are: each element in a goal diagram can be
related to a set of arguments, the justification process can be analyzed and validated and when new
information becomes available, changes in the goal diagram can be easier to understand (Jureta I.,
2006a).
Alternatives
Problem
Analysis
Evaluation
Problem
Statement
Problem Setting
Alternative
Justification
Diagram
Change
Decision
Figure 1: GAM reasoning loop
Generic speaking, GAM creates an argumentation model during the process of the creation of the
goal model. To do this, GAM uses a reasoning loop (figure 1), which starts with a problem statement something the IS should resolve. Then the problem statement is analyzed and several alternative
solutions are offered. These are evaluated at the hand of arguments, which give a justification of the
alternatives. Arguments are marked as pros and cons for the argument. When a full argumentation is
in place, a decision can be made on which alternative is the best to solve the problem statement. The
chosen alternative is then added to the goal model in the form, required by the model’s syntaxes.
From the mentioned arguments, new problem statements can be derived, which in place have
alternative solutions, etcetera. The results from this reasoning loop are displayed in a GAM
reasoning diagram (Jureta I., 2006a).
GAM can be used in three ways called light, normal and advanced. In the light version, the goal
diagram and the reasoning diagram are both constructed and can be shown next to each other. In
the normal mode, the contents of the GAM reasoning diagram are directly related to the contents of
the goal diagram by construction a dialectical tree. Finally the advanced mode was created to allow
tool support to be provided for automated recording and analysis of arguments for goal modeling
decisions. In this mode, a mapping is defined, which translates between a goal diagram and a
dialectical tree (Jureta I., 2006a).
This paper is written by Ivan J. Jureta, Stéphan Faulkner and Pierre-Yves Schobbens, all staff at the
University of Namur, Belgium at the time of writing. This University is currently not on the Shanghai
500 ranking of best universities (Center for World-Class Universities of Shanghai Jiao Tong University,
2012). The main writer Ivan J. Jureta is an associate Professor with his research focus on method
engineering and automation and a total of 456 citations on Google Scholar. The second writer is
associate professor Stépahn Faulkner, with a research focus on requirement engineering and 338
citations on Microsoft Academic Search. The last writer is professor Pierre-Yves Schobbens with a
research focus on requirement engineering and model driven engineering. The professor has 1999
citations on Google Scholar.
An Illustration of the Use of GAM
To illustrate the use of the GAM method, a simple example is provided. In this case, a professor
wants to build a service, in which he offers the lectures, that he and his department gives, online.
This is in case students are ill and through this have to miss a lecture. However, this should not cost
too much, since budget cuts also hit the university. Concerning this, some requirement choices need
to be made. A visual output from the GAM reasoning loop, used in this process in light mode, is
provided in figure 2. The method starts with a main problem statement defined as a goal. Goal: give
students opportunity to follow lectures, if they are ill, in a cost effective way. Now the problem
should be analyzed. From this analysis at least two alternatives should be provided. These are stated
as: Alternative 1: film the lectures and put these online; Alternative two: record lectures and post the
audio together with the slides online. These alternatives are then evaluated and arguments are
provided, which gives a justification of the alternatives. These arguments should be stated in the
form: ArgX+/-, in which the plus and minus give an indication whether the argument is positive or
negative for the alternative. In an argument, it is possible to fit in a counter argument, to make the
argument lose power. All the arguments provided under the alternatives are now used to make a
decision between the alternatives. One alternative is chosen and more problem statements are
derived from the arguments and justification of the chosen alternative. These problem statements
will follow the same reasoning loop, just like the problem statements derived after this, etcetera,
until no problem statements can be derived anymore.
PS1: Sick students should be able to view
lectures in a cost effective way online.
1.Alt1: Film lectures.
1.Alt2: Audio record lectures.
1.Alt1Arg1+: Good quality
lectures for students.
1.Alt2Arg1-: Less quality but
together with slides it is sufficient.
1.Alt1Arg2-: Relatively expensive
equipement needed.
1.Alt2Arg2+: Audio device is
relatively cheap.
1.Alt1Arg3-: Difficult to arrange
due bureaucracy at University.
1.Alt2Arg3+: Audio device is easy to
acquire.
1.Alt2Arg4+: Some lecturers already
has positive experience with audio
devices.
1.Alt2Arg5+: Audio is easier to put
online.
1.Alt2Arg6+: Audio recording
requires little skill.
1.Just2: Alt2 is preferred to Alt 1
by the stakeholders, because
they consider it to require less
effort and less budget.
PS2: Which audio device
should be acquired?
…
PS3: The use of the device
should be promoted.
…
PS4: Web space should be available
for the audio recordings
PS5: Lectures should acquire
skills on how to record audio.
PS6: Shouldn’t there be a
budget estimate that would
take into account user
friendliness and effort in use?
…
…
Figure 2: GAM reasoning loop output in light mode
In figure 3 an example of the output of the GAM reasoning loop in a normal and advanced mode is
provided. In this figure the same output is shown in a dialectical tree with well-formed formulas. In
appendix A, a template for this dialectical tree is provided.
Depend(student, provide(course_website(lecturer))
do(post_on_website(lecturer))
provide(lectures(lecturer))
provide(audiorecording(lecturer))
optimize(easy_to_use(lecturer))
do(audiorecording(lecturer))
achieve(lectures_online(lecturer))
…
do(aquire_audiorecording_skills(lecturer))
Figure 3: GAM reasoning loop output in normal and advanced mode
The next step in the method is the creation of an SR diagram. A basic example of such an SR diagram
for this case is provided in figure 4. This I-Star SR diagram provides the relations between the system
goals, soft goals, tasks, resources and actors. This specific diagram is made in the syntaxes of a Tropos
goal diagram (Castroa J. K. M., 2002). Although this example should be extended when the output of
the reasoning loop is expanded, it gives a clear view on output of the GAM.
When the normal or advanced version of GAM is used opposed to the light version, a dialectical tree
should be provided. Such a dialectical tree consists out of all the arguments mentioned in the
example, ordered in such a way, that all relations between arguments, problem statements and
justifications are put in such a way, that is easily translatable to the I-Star SR diagram. These are then
put in an 'achieve', 'optimize', 'do' or 'provide' form. In the advanced version this dialectical tree can
be translated into code that is useful for tools.
PS1
Lecturer
1.Alt2Arg4:
Easy to use defice
1.Alt2Arg1: Record
Audio
+
PS5
Acquire skills on how to
record audio
1.Alt2Arg6:
Audio records
PS1 provide
lecture online
1.Alt2Arg1:
Lectures
1.Alt2Arg5:
Post on website
PS4
Course website
Student
Figure 4: I-star strategic relationship model
Process Delivery Diagram
To gain deeper insight in this method, a Process Delivery Diagram (PDD) is constructed in this paper
and can be seen in figure 5. A PDD is a diagram containing an activity overview on the left side and an
overview of the deliverables on the right side. The activities are explained in the Activity Table. All
the deliverables are explained in the Concept Table (van de Weerd I., 2009).
An important side note to be placed is, that the PDD presented here is based on the Advanced Mode
of GAM and thus the PDD is more extensive and complicated then if it would be based on the Light
Mode or the Normal Mode.
In table 1 the Activity Table is shown. In this table all the actions, used on the process side, are
explained. The process side is the left side of the PDD.
Finally, in table 2 the Concept Table is shown. In this table all the used concepts, used on the right
side, are shown.
SITUATIONAL PROBLEM
CASE
1
Problem setting
based on
0..*
Set Problem
PROBLEM STATEMENT
1
1
1
Create a dialectical tree for the
problem statement
Stakeholder
DIALECTICAL TREE
1
solves
1..*
Add alternatives to the dialectial
tree Stakeholder
ALTERNATIVE
1..*
1
Values
1..*
Evaluate
ARGUMENT
Add arguments to the dialectical
tree
1..*
Description
Support value
Label the dialectical trees
LABEL
[More undefeated
trees exist]
1
c
[else]
DIALECTICAL TREE MAP
Stakeholder
DEFEATED
UNDEFEATED
results in
1
1
1
JUSTIFIED
DIALECTICALTREE
Accept justified alternative
Stakeholder
1
Is rewritten to
Diagram change
1
Write intermediary language
code for the undefeated tree
INTERMEDIARY
LANGUAGE CODE
OUTPUT
1
generates
1
Generate the associated I-Star SR
diagram
Stakeholder
[more problems
occured during the
process]
Figure 5
[else]
I-STAR STRATEGIC RELATION
DIAGRAM
1
1..*
REQUIREMENT
1..*
Activity
1. Problem setting
Sub-Activity
1.1 Set problem
1.2 Create a
dialectical tree for
each problem
2. Add alternatives
to the problem
settings
3. Evaluate
3.1 Add arguments to
dialectical tree
3.2 Label the
dialectical trees
4. Accept justified
alternative
5. Diagram change
Table 1: Activity table
5.1 Write an
intermediary
language code for the
undefeated tree
5.2 Generate the
associated I-Star SR
diagram
Description
The stakeholder generates one or more
PROBLEM STATEMENTs. This is done by
describing the problem in a specific case based
domain. Because of the cyclical way in which
the model works, over time, new (sub) problem
statements can be added. This will be defined
in the PROBLEM STATEMENT as well (Jereta I.,
2006b).
The stakeholder creates a DIALECTICAL TREE
for every presented PROBLEM STATEMENT.
These DIALECTICAL TREEs are all presented in
the DIALECTICAL TREE MAP.
In this process one or more alternative
solutions to the problem are created by the
stakeholder, called ALTERNATIVEs.
The stakeholder adds ARGUMENTs to an
ALTERNATIVE, which can either support or not
support this ALTERNATIVE. This is done in the
notation of the dialectical tree.
All DIALECTICAL TREEs are connected and
labeled by the stakeholder either with a D
(defeated) or a U (undefeated). <?The former
means that the ARGUMENTs of that
ALTERNATIVE is weaker and the latter
ALTERNATIVE is chosen above the former.?>
<?The best ALTERNATIVE is accepted by the
stakeholder. A JUSTIFIED DIALECTICAL TREE
is separated from the DIALECTICAL TREE MAP
or added, which<what?> contains only the
justified ALTERNATIVE and resulting
outcomes?>
From the JUSTIFIED DIALECTICAL TREE an
INTERMEDIARY LANGUAGE CODE OUTPUT is
generated by the stakeholder.
The I-STAR STRATEGIC RELATIONSHIP
DIAGRAM is created or changed based on the
INTERMEDIARY LANGUAGE CODE by the
system.
Concept
SITUATIONAL
PROBLEM CASE
PROBLEM STATEMENT
ALTERNATIVE
DIALECTICAL TREE
ARGUMENT
LABEL
DEFEATED
UNDEFEATED
DIALECTICAL TREE
MAP
JUSTIFIED
DIALECTICAL TREE
INTERMEDIARY
LANGUAGE CODE
OUTPUT
I-STAR STRATEGIC
RELATIONSHIP
DIAGRAM
REQUIREMENT
Table 2: Concept Table
Description
The situational problem is the context, in which the problem occurs.
Eventual problem statements are created based on the problem case
(Jereta I., 2006b).
<?A problem statement defines the objectives to be reached,
demands to be satisfied, problems to be solved, issues to be resolved
or generally speaking anything that one wants to be achieved?>
(Jereta I., 2006b).
A suggestion, proposal or idea about the resolution of the stated
problems (Jereta I., 2006b).
A dialectical tree is a formal way of notating arguments, in which the
argumentation process includes defeasible rules, which are
represented by well-formed formulas (Jereta I., 2006b).
An argument contains a description and a support indication,
whether or not it contributes to the alternative. (Jereta I., 2006b).
A label is the result of the argumentations structure of a dialectical
tree. This result is given in D (defeated) and U (undefeated).
This is a label that shows that an certain argument is bettered by
another (Jereta I., 2006b)
This is a label that shows that a certain argument is not (yet)
bettered by another argument. (Jereta I., 2006b)
A dialectical tree map is an overview of one or more dialectical trees,
which are related in a manner<? that an overview of all defeated and
undefeated < in a manner that an overview of all defeated and
undefeated what? > ?> (Jereta I., 2006b)
The result of the argumentations structure gives one dialectical tree
that is victorious above all other and thus used to produce the i-star
strategic relationship diagram (Jereta I., 2006b).
Intermediary language code output is the output of the rewritten
dialectical tree <?to code?>, from which an i-star strategic
relationship diagram can be generated (Jereta I., 2006b).
The I-Star SR Diagram in this context is a diagram, conducted in the
requirement-driven Tropos notation (Castroa J., 2002), which
describes the requirements and their independencies for a certain
system (Jereta I., 2006b).
Related Literature
The Goal Argumentation Method uses concepts from earlier researches. The general idea of that the
argumentation should be captured during the process of RE starts with a large multiple case study,
which shows that lack of this is one of the reasons for large IT project failures (Curtis B., 1988). The
researchers first searched for a widely accepted method for RE. This was found in the Tropos
(Castroa J. K. M., 2002) methodology of RE. This method provides a strongly goal model driven
approach of RE (Fuxman A., 2004). Next to this more model driven method, a way was needed to
translate the model into a form that could be translated into code. Abstract logical models of
arguments, used in artificial intelligence (Chesñevar C.I., 2000) and a mathematical approach of
defeasible reasoning based on arguments (Simari G., 1992), were used to describe the requirement
model in a way that this could be translated to code. The way, in which this was done, was
influenced by the way, in which the formal specification languages (Dardenne A, 1993)were used to
translate goal models to formalized text. A framework for the argumentation integration into the RE
methods was provided by the reasoning loop model (Lourdas P., 2000), which was an altered little.
Although no direct research was conducted to compare GAM against other RE methods, we will give
a quick comparison. First, we place the GAM in a framework. A RE method should have at least three
dimensions: the specification dimension, the representation dimension and the argumentation
dimension (Pohl, 1994). The first dimension should specify the necessary requirements, the second
dimension should represent these in the total picture and the last should visualize the argumentation
based on the first two dimensions. The GAM uses all of the three dimensions. If we look at an
alternative for GAM <?an example is the use?> of a methodology with which to audit personal data
protection, using Requirements Engineering and based on CobiT (Martínez M., 2010). This method
was developed for the RE of systems, which need a high measure of security and are specifically
adjusted to the Spanish law. This method seems more specific compared to the more general GAM.
Although this method has in common that focus lays on a goal model approach, there is little
possibility to record reasoning and guide the reasoning process, for which can be concluded that the
third dimension is not implemented sufficiently. Another method to compare GAM with is the KAOS
method (Darimont R., 1997). This method seems strong in the first two dimension of the framework
from K.Pohl (1994) and provides good integration in a RE tool called GRAIL, however it misses the
third argumentation dimension. Even though there has been no extensive research on the subject, a
quick comparison with some literature confirms what was already mentioned in the main paper:
most RE methods lack a good method to integrate the argumentation dimension, something GAM
does provide.
In the paper itself (Jureta I., 2006a) a case example is provided, which is based on the Meeting
Scheduler Problem (Van Lamsweerde A., 1993) in which a RE approach to create a meeting scheduler
system is provided. This case is in the paper by Jureta (2006) improved with the third dimension by
using and explaining the GAM. A more extensive case study is done by I. Jureta et al. in Clear
Justification of Modeling Decisions for Goal-Oriented Requirements Engineering, (2006b) which is a
more extensive version of the first paper and describes the problem in more depth.
Bibliography
Castroa J., K. M. (2002). Towards Requirement-Driven Information Systemens Engineering: The
Tropos Project. Information Systems 27, 365-389.
Castroa J., K. M. (2002). Towards requirements-driven information systems engineering: the Tropos
project. Information Systems 27, 365–389.
Center for World-Class Universities of Shanghai Jiao Tong University. (2012). Academic Ranking of
World Universities - 2012. Opgeroepen op 2 14, 2013, van shanghairanking.com:
http://www.shanghairanking.com/ARWU2012.html
Chesñevar C.I., M. A. (2000). Logical Models of Arguments. ACM Computer Serveys 32, 32-41.
Curtis B., K. H. (1988). A Field Study of the Software Design Process for Large Systems.
Communications of the ACM, 1268-1287.
Dardenne A, v. L. (1993). Goal-directed requirements acquisition. Science of Computer Programming
volume 20, 3-50.
Darimont R., D. E. (1997). GRAIL/KAOS: An Environment for Goal Driven Requirement Engineering.
ICSE '97 Proceedings of the 19th international conference on Software engineering (pp. 612613). New York: ACM Inc.
Fuxman A., L. L. (2004). Specifying and analyzing early requirements in Tropos. Requirement
Engeneering, 2, 132-150.
Jereta I., F. S. (2006b). Justifying Goal Models. Requirements Engineering, 14th IEEE International
Conference (pp. 119 - 128). Minneapolis/St. Paul, MN: IEEE.
Jureta I., F. S. (2006a). Justifying Goal Models. Requirements Engineering, 14th IEEE International
Conference (pp. 119-128). Minneapolis: IEEE.
Lourdas P., a. L. (2000). A Generic Model for Reflective Design. ACM Transactions on Software
Engineering and Methodology, Vol. 9, 199-237.
Martínez M., L. J.-M. (2010). A Personal Data Audit Method through Requirements Engineering.
Computer Standards & Interfaces, 166–178.
Pohl, K. (1994). The Three Dimensions of Requirement Engineering: A Framework and its
Applications. Information Systems, 9, 243-258.
Simari G., a. L. (1992). A mathematical treatment of defeasible reasoning and its implementation.
Artificial Intelligence 53, 125-157.
Van de Weerd I., B. S. (2009). Meta-Modeling for Situational Analysis and Design Methods.
Information Science Reference (pp. 3-22). New York: IGI Global.
Van Lamsweerde A., D. R. (1993). The Meeting Scheduler Problem: Preliminary Definition. Rio de
Janeiro: Universitat Catholique de Louvain.
Appendix A: Dialectical Tree Template
Achieve ( goal (
Optimize ( goal (
Depend( Actor,
¬
Actor ) )
Do ( action (
Provide ( data (
This template provides a format on how to build a dialectical tree with labeled well-formed formulas
as described in Jureta et al. (2006). The columns represent choices that can be made, the rows
represent the choices. A choice can be empty, meaning that it is not necessary to implement
something here. The choices or parts of choices represented in gray are fixed, meaning that they
represent a certain operator in the dialectical tree diagram. The parts of choices represented in blue
are domain independent representations which have to be specified to the certain case in which they
will be used. For example goal can be provide_lectures_online.
Another important thing to take into account is that although this template provides all the possible
options of a dialectical tree, the following rule needs to be followed: An well-formed formula is
connected to one or more other well-formed formulas through branches (cell 1,2 and 6,2).
Comments:
I corrected some mistakes in the paper and restructured a couple of sentences. Some other
improvements can still be made. A couple of commas can still be added, but since the English
language is not that strict about them, I didn’t add them. Wherever you see a “<?_?>”, it means that
the sentence is structured in a confusing way. It is hard to understand the meaning of it. I would
suggest restructuring those sentences.
Concerning the content itself, I think that it is well written and well defined. The structure of the
whole paper is proper. Elements are properly described. You can find more information on that
matter in the separate ‘review’ document.
Download