Professional Documents
Culture Documents
SEG3101-Ch3-5 - Goal Modeling - GRL
SEG3101-Ch3-5 - Goal Modeling - GRL
SEG3101-Ch3-5 - Goal Modeling - GRL
Goal Modeling
Goal
Agent
Goal contribution
• For precisely defined behavioral goals and corresponding
refinement tree, one can present proofs of correctness for the
reasoning.
• Rationale: reasoning behind some (external) design choice or
the statement of some goal contribution
SEG3101 (Fall 2010). Goal Modeling and GRL
Example: a goal decomposition that can be verified
• Given some other soft goal (not mentioned above), this goal
may be satisficed to different degrees by the two alternatives.
• This may become the rationale for selecting one of the
alternatives.
19
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
In essence …
GRL can be used for what we discussed above using the
notation from Lamsweerde’s book. GRL uses a different
notation and has some additional concepts.
GRL is mainly designed for SoftGoals with their fuzzy
satisfaction criteria. Not intended for the verification of
behavioral goals, as in some of the examples above.
There is a tool, called jUCMNav, that supports this language.
20
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
+
Dependency Contribution System
Security
Actor Softgoal
Cost of
+.
+
Terminal
Correlation Security of Security
_ Terminal of Host
+ .
Decomposition .
+ +
Access
Biometrics is no Encryption
Authorization
regular, off-the-shelf
AND
technology Authentication
OR
Task
Belief Identification
GRL Concepts
• Concepts already discussed in Lamsweerde’s notation
• Goal, Softgoal, contributions including AND, OR, also XOR
relationships (the GRL correlation is similar)
• Note: Achievement of softgoal is qualifiable but not measurable; it is
quantifiable for goals (Softgoals are often non-functional, goals functional)
• Actor : appears to be a subtype of Agent
• Belief : appears to be the same as a Rationale
• Other concepts:
• Task: a proposed solution that achieves a goal or satisfices a softgoal
• This appears to be similar to the concept of agent responsible for realizing
some goal
• Dependency: An actor (the depender) depends on another actor (the
dependee) for something (the dependum), e.g. the business owner depends
on the online shopper for payment (the dependum is optional)
• Resource: used in dependencies as dependum
22
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
23
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
intermediate Payment
Dependency
Electronic
resources or TaxPayer
Accountant
other Forward
Tax Forms System
Security
.
elements Biometrics is no Security
regular off-the-shelf of Host
technology Security of
. Terminal
.
Cost of Access
Encryption
Terminal Authorization
Authentication Identification
Keep Password
Secret
Actor
Boundary
Why GRL?
These are essentially arguments that were already given
when we discussed goals above.
• Goals become an important driver for requirements elaboration – yet,
stakeholders goals and objectives are complex and will conflict…
• GRL expresses and clarifies tentative, ill-defined, and ambiguous
requirements
• Supports argumentation, negotiation, conflict detection & resolution, and in
general decisions
• Captures decision rationale and criteria (documentation!)
• GRL identifies alternative requirements and alternative system boundaries
• GRL provides clear traceability from strategic objectives to technical
requirements
• GRL allows reuse of stable higher-level goals when the system evolves
• There is nothing like this in UML…
25
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
26
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
28
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
*
100 *
100 Business 33 Increase
Owner Sales
Online Payment Offer Online +
Shopper Shopping high
high + 44
System
Importance Security
medium 75
Cost of
+.
+ 25 *
100
Terminal
Security of Security
_ Terminal of Host
+ .
.
+ -75 + *
100
Access
Biometrics is no 100 Encryption
Authorization
regular, off-the-shelf
AND
technology Authentication
OR
*
-75
0 *
100 0
Identification
Initial
Satisfaction
Fingerprint Password Cardkey
Level
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
high + -31
System
Security
medium -75
Cost of
+.
+ -75 *
100
Terminal
Security of Security
_ Terminal of Host
+ .
.
+ -75 + 0
Access
Biometrics is no 100 Encryption
Authorization
regular, off-the-shelf
AND
technology Authentication
OR
*
-75
*
100 0 0
Identification
*
100 *
100 Business 68 Increase
Owner Sales
Online Payment Offer Online +
Shopper Shopping high
high + 90
System
Security
medium 0
Cost of
+.
+ 100 *
100
Terminal
Security of Security
_ Terminal of Host
+ .
.
+ 0 + *
100
Access
Biometrics is no Encryption
Authorization
regular, off-the-shelf
AND
technology Authentication
OR
0
0 0 0
Identification
Strategies in jUCMNav
32
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
-50* 80 * 0 30 * 80 * 0
33
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
34
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
Connection Connection
AND AND
* * * * * *
Connection Connection
AND AND
* * * * * *
(c) Minimum is Conflict: Undecided is propagated (d) Miminum is Denied, even if Conflict is present
35
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
Connection Connection
IOR IOR
* * * * * *
Connection Connection
IOR IOR
* * * * * *
(c) Maximum is Conflict: Undecided is propagated (d) Maximum is Satisfied, even if Conflict is present
36
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
Increase Increase
Mobility Mobility
* * * *
Telecom
Provider Low
Cost (L)
Low
Reliability Weight
(H)
High
Perf (M)
37
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
*
Low Charge
Costs Fees
Telecom
Store
Provider *
Increase Internet Create
Visibility Connection Account
*
Low Charge
Costs Fees
39
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
Collapsed
Belief Actor with Boundary
Actor
40
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
Correlation Means-End
41
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
or i) Icon only ii) Text only iii) Icon and text iv) Number only v) Icon and number
quantitative (e) Representations of Qualitative and Quantitative Contributions
42
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
Weakly Weakly
Denied Satisfied
Denied Satisfied
43
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
44
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
45
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
46
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
47
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
Weakly Weakly
Denied Satisfied
Denied Satisfied
48
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
• In addition to the
qualitative approach,
strategies and evaluations can also be
quantitative ([-100, 100] scale)
• Hybrid algorithms can also be defined
49
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
Source: http://www.cs.toronto.edu/km/GRL/
50
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
51
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
52
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
53
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
54
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
55
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
56
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
http://www.cs.toronto.edu/km/openome/
57
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
common models
• Export graphics (.bmp, .gif, .jpg)
• Export strategy evaluations (.csv) Outline
view
Palette
• Export to DOORS
58
SEG3101 (Fall 2010). Goal Modeling and GRL
Inclusion of Measures in Goal Models
• GRL includes a notion of goal satisfaction, with qualitative
and quantitative ([-100..100]) scales.
• However, there is often a need to better relate observations
about the real world to the goal model, with domain-specific
units such as:
• Currencies (e.g., revenues in $)
• Durations (e.g., waiting time in a hospital, in hours)
• Counts (e.g., number of new students admitted in SEG)
• GRL has non-standard extensions to support this kind of
information, and integrate it in the rest of the goal model
• Key Performance Indicator (KPI)
• KPIs help measure goals and NFRs with quantifiable metrics
• GRL KPIs can also be fed from external sources of
information, hence turning the GRL model into a monitoring
engine (e.g., a dashboard).
59
SEG3101 (Fall 2010). Goal Modeling and GRL
GRL Key performance Indicators
• In GRL, a KPI is defined as an intentional element, but with
additional characteristics
• Attributes (for a given GRL strategy)
• An evaluation value (observed, or simulated in a what-if strategy)
• A target value (the KPI is fully satisfied if the evaluation value reaches it)
• A worst-case value (the KPI is fully denied if the evaluation value reaches
it)
• A threshold value (the KPI is neutral if the evaluation value equals it)
• A unit (e.g., $)
• Associations (for a given GRL model)
• Can be part of contributions or decompositions
• New: can be analysed from multiple dimensions
• For example, a time dimension might enable the study of a KPI according to a
year, a month, a week, a day, or an hour.
60
SEG3101 (Fall 2010). Goal Modeling and GRL
61
SEG3101 (Fall 2010). Goal Modeling and GRL
From KPIs to GRL Satisfaction Levels
63
SEG3101 (Fall 2010). Goal Modeling and GRL
Multiple Views
64
SEG3101 (Fall 2010). Goal Modeling and GRL
jUCMNav Extensions for KPI and Monitoring
In jUCMNav, KPI values can also be computed (aggregated) from other KPIs,
in a way similar to Excel.
concern
0..* 0..1
concerns
67
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
Actor actor
0..1 elems
0..*
IntentionalElement
linksDest dest
ElementLink 0..* 1 GRLLinkableElement type : IntentionalElementType
decompositionType : DecompositionType = AND
linksSrc 1 importance : ImportanceType = None
0..* src importanceQuantitative : Integer = 0
<<enumeration>>
Decomposition Dependency ContributionType
Make <<enumeration>>
IntentionalElementType <<enumeration>>
Help
<<enumeration>> Softgoal ImportanceType
SomePositive
DecompositionType Contribution Unknown Goal High
AND contribution : ContributionType = Unknown SomeNegative Task Medium
XOR quantitativeContribution : Integer = 0 Hurt Resource Low
IOR correlation : Boolean = false Break Belief None
68
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
GRLmodelElement <<enumeration>>
QualitativeLabel
Denied
WeaklyDenied
WeaklySatisfied
Satisfied
Conflict
StrategiesGroup 1..* 0..* EvaluationStrategy Unknown
None
group strategies
1 strategies
0..* evaluations
Evaluation
IntentionalElement 1 evals
evaluation : Integer = 0
intElement 0..*
qualitativeEvaluation : QualitativeLabel = None
69
SEG3101 (Fall 2010). Goal Modeling and GRL
User Requirements Notation jUCMNav Goals and Rationale GRL Basics Evaluations Examples Tools Metamodel
70
SEG3101 (Fall 2010). Goal Modeling and GRL
Appendix: GRL Notation
i) Icon only ii) Text only iii) Icon and text iv) Number only v) Icon and number