GRL Introduction

GRL Introduction
Lin Liu
University of Toronto
April 2001
1
Why Goal-Orientation??
van Lamsweerde (ICSE 2000)
• Systematic derivation of requirements from
goals
• Goals provide rationales for requirements
• Goal refinement structure provides a
comprehensible structure for the
requirements document
• Alternative goal refinements and agent
assignments allow alternative system
proposals to be explored
• Goal formalization allows refinements to be
proved correct and complete.
2
Where Are We??
object-oriented
programming
GRL
KAOS
UCM
SDL
UML
[Mylopoulos AOIS’99]
3
Development-World model
refers to and reasons about…
As-is
Alt-1
Alt-2
To-be
Operational-World models
4
Outline
1. Goal-oriented modeling concepts in GRL
2. An example goal-oriented non-functional requirement
analysis process
3. Combined use of goal and scenario from requirement to
architectural design
4. Agent-oriented concepts in GRL
5. Related works
5
Goals and Softgoals in GRL
GOAL CallServicesBeSupported
“Both Narrowband and Wideband voice, data and image services be
supported.”
ATTRIBUTE
Object: TDMA
HOLDER IncomingCallServiceProvider
SOFTGOAL MinimizeCost OF TDMA
ATTRIBUTE
Budget : “less than 500k$”
HOLDER IncomingCallServiceProvider
SOFTGOAL MaximizeCallCapacity OF TDMA
ATTRIBUTE
Rates : “At least two times current capacity”
HOLDER IncomingCallServiceProvider
6
Tasks in GRL
TASK MakeVoiceConnectionOverLAN
ATTRIBUTE
Object: IncomingCall
HOLDER IncomingCallServiceProvider
7
Goal Refinement: Means-ends Link
Task Refinement: Decomposition Link
8
Softgoal Operationalizations: Contribution Relationship
Side-effects to softgoals: Correlation Relationship
9
Resource in GRL
RESOURCE LANBandwidth
ATTRIBUTE
Object: VoiceCall
HOLDER IncomingCallServiceProvider
10
Non-Intentional Elements in GRL
• Acting as parameters in GRL intentional
elements, i.e., topics of softgoal, “Object”
attributes of goal, task and belief
• Referring to entities of an external model, such
as responsibilities in UCM, class/objects in UML
class diagram,…
ELEMENT IncomingCallService
IS scenario ICS
FROM URN-FR
MODEL ICS_service_01
11
Belief in GRL
Convergence of media reduces
cost of ownership
12
Outline
1. Goal-oriented modeling concepts in GRL
2. An example goal-oriented requirement analysis process
3. Combined use of goal and scenario from requirement to
architecture design
4. Agent-oriented concepts in GRL
5. Related works
13
Softgoal Operationalization Example
14
Softgoal Operationalization Example
(cont’d)
15
Example (cont’d)
16
Example (cont’d)
17
Outline
1. Goal-oriented modeling concepts in GRL
2. An example goal-oriented requirement analysis process
3. Combined use of goal and scenario from requirement to
architecture design
4. Agent-oriented concepts in GRL
5. Related works
18
19
20
21
Goal model in GRL
GOAL CallServicesBeSupported
“Both Narrowband and Wideband voice, data and image services be
supported.”
ATTRIBUTE
Object: TDMA
HOLDER IncomingCallServiceProvider
SOFTGOAL MinimizeCost OF TDMA
ATTRIBUTE
Budget : “less than 500k$”
HOLDER IncomingCallServiceProvider
SOFTGOAL MaximizeCallCapacity OF TDMA
ATTRIBUTE
Rates : “At least two times current capacity”
HOLDER IncomingCallServiceProvider
22
An Original unbounded UCM scenario corresponding to
Goal “Call Services Be Supported”
23
Bounded UCM scenarios of Solutions: Reside VoiceCoder
in (1) Base Station; or (2) in Switch
24
Design Alternatives
& Their Contributions to NFRs
25
Outline
1. Goal-oriented modeling concepts in GRL
2. An example goal-oriented requirement analysis process
3. Combined use of goal and scenario from requirement to
architecture design
4. Agent-oriented concepts in GRL
5. Related works
26
Agent-Orientation in GRL
• Actors are semi-autonomous, partially knowable
• Strategic actors, intentional dependencies
• Can be considered as goal-holders
“Strategic
Dependency”
Model
Meeting Scheduling Example
27
Revealing goals, finding alternatives
• Asking “Why”, “How”, “How else”
28
Scheduling meeting
Consider
…with meeting scheduler
1. Technology as enabler
2. Networked systems and organizations
3. Increased inter-dependency and vulnerability
4. Limited knowledge and control
5. Openness and uncertainties
6. Cooperation
7. Boundaries, locality, identity
29
Distributed Goal Model
with Meeting Scheduler
• SR2
30
Outline
1. Goal-oriented modeling concepts in GRL
2. An example goal-oriented requirement analysis process
3. Combined use of goal and scenario from requirement to
architecture design
4. Agent-oriented concepts in GRL
5. Related works
31
Goal-Oriented
Requirements Engineering (GORE)
• GORE is gathering momentum






CSD – Feather 87…
KAOS – van Lamsweerde, …
Inquiry Cycle – Potts, Anton
EKD – Bubenko, Rolland, Loucopoulos
Win-Win – Boehm
NFR – Chung, Mylopoulos, …
Hopefully, MOMENTUM >>>
• Z.URN proposal to ITU-T (Nov. 2000)
 GRL
32
Goal + scenario
in RE and in Architectural Design
• Krutchen’s 4+1 model of software architecture
• Software Architecture Analysis Method (SAAM)
• Van Lamsweerde and Willement
• CREWS-L’Ecritoire approach of Collete Rolland et al.
33
Resources regarding GRL
Home of GRL
 http://www.cs.toronto.edu/km/GRL/
Tool web site
 http://www.cs.toronto.edu/km/OME/
References:
• Chung, L., Nixon, B.A., Yu, E.and Mylopoulos, J. Non-Functional
Requirements in Software Engineering. Kluwer Academic
Publishers, 2000.
• Yu, E. and Mylopoulos, J. Why Goal-Oriented Requirements
Engineering. In Proceedings of the 4th International Workshop
on Requirements Engineering: Foundations of Software Quality.
June 1998, Pisa, Italy. E. Dubois, A.L. Opdahl, K. Pohl, eds.
Presses Universitaires de Namur, 1998. pp. 15-22.
Also at: http://www.cs.toronto.edu/~eric
34