You are on page 1of 47

RE

Goal Modeling

Lecture 7

Aamir Anwar
Lecturer CS & IT
University of Lahore, Islamabad Campus
RE We Will Cover
• What is a goal model?
• When to use goal models?
– How do goal models relate to UML models?
• Why use goal models?
• Capturing the goal model
RE When to use goal models
• Early requirements engineering
– Focus on identifying problems
– Exploring system solutions and alternatives
– Done before UML modeling

Early RE Late
RRE Design Code Test

Why? What? How?


RE Why use goal models?
• Give rationale for requirements
• Identify stable information
• Guide requirement elaboration
RE

The Goal Model


RE Running Example
• Meeting Scheduler
– Assists the initiator in scheduling a meeting
– Meeting should be convenient for participants
• Participants should be available
• Modeled using the i* goal notation
Goal Model
RE
Schedule Goals are refined into
meeting subgoals that elaborate
how the goal is
achieved
Collect Choose
timetables schedule

By Manually Automatically
By
person system

Collect from Collect from


agents users

Send Receive
request request
AND Refinement
RE
Schedule All of the
meeting subgoals must be
AND AND
achieved for the
Collect Choose goal to be
timetables schedule achieved

By Manually Automatically
By
person system

Collect from Collect from


agents users
AND
AND
Send Receive
request request
OR Refinement
RE
Schedule
At least one of the
meeting subgoals must be
achieved for the
AND AND
Collect Choose
goal to be achieved
timetables schedule
OR OR
OR OR
By Manually Automatically
By
person system
OR
OR

Collect from Collect from


agents users
AND
AND
Send Receive
request request
Interpretations of OR Refinements
RE Static systems -
Schedule alternative solutions
meeting
Adaptive systems –
AND AND points of variation
Collect Choose
timetables schedule
OR OR
OR OR
By Manually Automatically
By
person system
OR
OR

Collect from Collect from


agents users
AND
AND
Send Receive
request request
RE Softgoals Good Quality
schedule

AND
Minimal
AND
conflicts
Minimal
effort Good
AND participation
Matching
AND effort

Collection
effort Minimal
disturbances

Accurate
constraints
RE Modeling Softgoals
• Used to evaluate alternatives
• Helps (+)
• Makes (++)
• Hurts (-)
• Breaks (--)
RE Contributions to Softgoals

Good Quality
schedule

AND
Schedule Minimal
AND
meeting conflicts

AND Good
− + participation
Choose
schedule
OR +
OR −

Manually Automatically
RE Construction Process Good Quality
schedule
Minimal
effort
AND AND
Minimal
AND
AND Matching conflicts
effort
Good
participation
Collection
effort

1. Define
Minimal Softgoals
disturbances

Accurate
constraints
.
RE Construction Process Good Quality
schedule
Minimal
effort
AND AND
Schedule Minimal
AND
AND Matching meeting conflicts
effort
AND AND Choose Good
schedule participation
Collection Collect
effort timetables OR
OR OR
OR
By Manually Automatically
By
person system
OR
OR

Collect from Collect from


agents users 2. Define
Minimal AND
AND Hardgoals
disturbances
Send Receive

Accurate
request request Steps 1 & 2
constraints may be
iterative
RE Construction Process Good Quality
schedule
Minimal
effort
AND AND
Schedule Minimal
AND
AND Matching meeting conflicts
effort
AND AND Choose Good
− + participation
+ schedule
Collection Collect
effort timetables − OR +
+ OR
OR OR −

By Manually Automatically
By
person system
OR
OR

Collect from Collect from


+
agents users 3. Evaluate
Minimal − − AND
AND hardgoal
disturbances
+ Send Receive contribution
Accurate
request request
to softgoals
constraints
RE

Integrating Goals with Other


Models
RE Integrated Use of Goals
• KAOS
– Refining goals into requirements
– 4 models
• Goal
• Agent
• Operationalization
• Object
RE KAOS

• KAOS stands for Knowledge Acquisition in automated


specification.
• KAOS, is a goal-oriented software requirements capturing
approach in requirements engineering.
• Goals justify and explain requirements which are not
necessarily comprehensible by stakeholders.
• Goals can be used to assign responsibilities to agents so
that prescribed constraints can be met.
• Goals provide basic information for detecting and resolving
conflicts that arise from multiple viewpoints
The KAOS Modeling Philosophy

• Modeling a social setting involves a variety of concepts,


including Goals, Agents, Concerned Objects, Actions,
Constraints and Responsibilities.
• Goals lead to assignments of responsibilities and designs
of actions and artifacts.
• Use a metamodel to support reuse of generic domain
modeling patterns.
• For example, the library domain is an instance of the
“resource allocation” meta-domain, which also covers
car/room/dwelling rental and is similar to airline/hotel
reservation, class registration etc.
The KAOS Acquisition Process
• Identify Goals, and their Concerned Objects.
• Identify potential Agents and their Capabilities.
• Operationalize Goals into Constraints.
• Refine Objects and Actions.
• Derive strengthened Objects and Actions to Ensure
•Constraints.
• Identify alternative Responsibilities.
• Assign Actions to responsible Agents.
All this could be just as useful to someone doing
organizational design, rather than software development!
RE KAOS Goal Model
• Agent - active system component
• Object - inactive system component
• Operation - an action an agent takes to achieve a goal
• Requirement - a goal for which an automated component is responsible
• Expectation - a goal for which a human is responsible Safe Transportation

Maintain Knowledge of Other Train Locations

Manually Radio Other Train Conductors

Radio Automatically Sense Other Train Locations

Human
Radio Other Train
Software Train
Sensor
RE KAOS Goal Model
• Agent - active system component
• Object - inactive system component
• Operation - an action an agent takes to achieve a goal
• Requirement - a goal for which an automated component is responsible
• Expectation - a goal for which a human is responsible Safe Transportation

Maintain Knowledge of Other Train Locations

Manually Radio Other Train Conductors

Radio Automatically Sense Other Train Locations

Human
Radio Other Train
Software Train
Sensor
RE KAOS Goal Model
• Agent - active system component
• Object - inactive system component
• Operation - an action an agent takes to achieve a goal
• Requirement - a goal for which an automated component is responsible
• Expectation - a goal for which a human is responsible Safe Transportation

Maintain Knowledge of Other Train Locations

Manually Radio Other Train Conductors

Radio Automatically Sense Other Train Locations

Human
Radio Other Train
Software Train
Sensor
RE KAOS Goal Model
• Agent - active system component
• Object - inactive system component
• Operation - an action an agent takes to achieve a goal
• Requirement - a goal for which an automated component is responsible
• Expectation - a goal for which a human is responsible Safe Transportation

Maintain Knowledge of Other Train Locations

Manually Radio Other Train Conductors

Radio Automatically Sense Other Train Locations

Human
Radio Other Train
Software Train
Sensor
RE KAOS Goal Model
• Agent - active system component
• Object - inactive system component
• Operation - an action an agent takes to achieve a goal
• Requirement - a goal for which an automated component is responsible
• Expectation - a goal for which a human is responsible Safe Transportation

Maintain Knowledge of Other Train Locations

Manually Radio Other Train Conductors

Radio Automatically Sense Other Train Locations

Human
Radio Other Train
Software Train
Sensor
RE KAOS Goal Model
• Agent - active system component
• Object - inactive system component
• Operation - an action an agent takes to achieve a goal
• Requirement - a goal for which an automated component is responsible
• Expectation - a goal for which a human is responsible Safe Transportation

Maintain Knowledge of Other Train Locations

Manually Radio Other Train Conductors

Radio Automatically Sense Other Train Locations

Human
Radio Other Train
Software Train
Sensor
RE KAOS Goal Model
• Agent - active system component
• Object - inactive system component
• Operation - an action an agent takes to achieve a goal
• Requirement - a goal for which an automated component is responsible
• Expectation - a goal for which a human is responsible Safe Transportation

Maintain Knowledge of Other Train Locations

Manually Radio Other Train Conductors

Radio Automatically Sense Other Train Locations

Human
Radio Other Train
Software Train
Sensor
RE KAOS Goal Model
• Agent - active system component
• Object - inactive system component
• Operation - an action an agent takes to achieve a goal
• Requirement - a goal for which an automated component is responsible
• Expectation - a goal for which a human is responsible Safe Transportation

Maintain Knowledge of Other Train Locations

Manually Radio Other Train Conductors

Radio Automatically Sense Other Train Locations

Human
Radio Other Train
Software Train
Sensor
RE KAOS Goal Model
• Agent - active system component
• Object - inactive system component
• Operation - an action an agent takes to achieve a goal
• Requirement - a goal for which an automated component is responsible
• Expectation - a goal for which a human is responsible Safe Transportation

Maintain Knowledge of Other Train Locations

Manually Radio Other Train Conductors

Radio Automatically Sense Other Train Locations

Human
Radio Other Train
Software Train
Sensor
RE KAOS Goal Model
• Agent - active system component
• Object - inactive system component
• Operation - an action an agent takes to achieve a goal
• Requirement - a goal for which an automated component is responsible
• Expectation - a goal for which a human is responsible Safe Transportation

Maintain Knowledge of Other Train Locations

Manually Radio Other Train Conductors

Radio Automatically Sense Other Train Locations

Human
Radio Other Train
Software Train
Sensor
RE KAOS Goal Model
• Agent - active system component
• Object - inactive system component
• Operation - an action an agent takes to achieve a goal
• Requirement - a goal for which an automated component is responsible
• Expectation - a goal for which a human is responsible Safe Transportation

Maintain Knowledge of Other Train Locations

Manually Radio Other Train Conductors

Radio Automatically Sense Other Train Locations

Human
Radio Other Train
Software Train
Sensor
RE KAOS Agent Model
• Objective: depicts agent responsibilities
• Agent models can be inferred from goal models
Maintain Knowledge of Other Train Locations Software
Sensor

Automatically Sense Other Train Locations


Manually Radio Other Train Conductors

Automatically Sense Other Train Locations

Human
Human

Software
Sensor
Manually Radio Other Train Conductors

Goal Model Agent Model


RE KAOS Agent Model
• Objective: depicts agent responsibilities
• Agent models can be inferred from goal models
Maintain Knowledge of Other Train Locations Software
Sensor

Manually Radio Other Train Conductors


Automatically Sense Other Train Locations
Manually Radio Other Train Conductors

Automatically Sense Other Train Locations

Human
Human
Human
Software
Sensor
Manually Radio Other Train Conductors

Goal Model Agent Model


RE KAOS Agent Model
• Objective: depicts agent responsibilities
• Agent models can be inferred from goal models
Maintain Knowledge of Other Train Locations Software
Sensor

Automatically Sense Other Train Locations


Manually Radio Other Train Conductors

Automatically Sense Other Train Locations

Human
Human

Software
Sensor
Manually Radio Other Train Conductors

Goal Model Agent Model


RE KAOS Agent Model
• Objective: depicts agent responsibilities
• Agent models can be inferred from goal models
M aintain Knowledge of Other Train Locations
Alert Passengers to Delays Software
Sensor

Human
Automatically Sense Other Train Loc ations
Manually R adio Other Train Conductors

Automatically Sense Other Train Locations


Manually Slow the Train
Human Human

Manually Radio Other Train Conductors


Software
Sensor
Manually Radio Other Train Conducto rs

Goal Model Agent Model


RE KAOS Agent Model
• Objective: depicts agent responsibilities
• Agent models can be inferred from goal models
Maintain Knowledge of Other Train Locations Software
Sensor

Automatically Sense Other Train Locations


Manually Radio Other Train Conductors

Automatically Sense Other Train Locations

Human
Human

Software
Sensor
Manually Radio Other Train Conductors

Goal Model Agent Model


RE KAOS Operationalization Model
• Objective: specifies the operations that agents must
perform to achieve the goals

Safe Transportation

Train Doors Closed While Moving

Close Door Request Train Begins to Move

Close Door
Door
RE KAOS Operationalization Model
• Objective: specifies the operations that agents must
perform to achieve the goals

Train Doors Closed While Moving


Safe Transportation

Train Doors Closed While Moving

Train Begins to Move

Close Door Request Train Begins to Move

Close Door
Close Door
Door
Door
07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons
RE KAOS Object Model
• Objective: further specifies objects used in the goal model
• The syntax is similar to a that of a UML class diagram

Following Track

On Track

Train On TrackSegment hasGate Gate


Speed SpeedLimit Loc
Loc Status

Switch
position
RE Integrated Use of Goals
• KAOS
– Refining goals into requirements
– 4 models
• Goal
• Agent
• Operationalization
• Object
• i*
– Relates goals to the organization context
– 2 models
• Actor (Strategic) Dependency Model
• Actor (Strategic) Rationale Model
RE i* Actor Dependency Model
• Dependencies between actors - An actor is a black box

Attends
Meeting(p,m)
D

MeetingBe
Scheduled(m) Enter
AvailDates
Meeting Meeting (m) Meeting
Initiator
D Enter
Scheduler D Participant
DateRange Proposed
(m) Date(m)
Agreement
(m,p)
ISA
Attends
Meeting(ip,m)
Important
Assured
D Participant
(Attends D
LEGEND Meeting(ip,m))
Depender Dependee
D D Resource Dependency

D D Task Dependency

D D Goal Dependency

D D Softgoal Dependency
O Open (uncommitted) X Critical
RE i* Actor Dependency Model
• Dependencies between actors - An actor is a black box

Attends
Meeting(p,m)
D
LEGEND
Me etingBe
Depender Dependee
Sche duled(m) D Enter
D D Resource
D Dependency
AvailDates
Meeting Meeting (m) Meeting
Initiator
D Enter D Scheduler D D Participant
DateRange
D D Task Dependency
Proposed
(m) Date(m)
D Agreement
D D D Goal Dependency
(m,p)
Attends ISA
D D
Meeting(ip,m)
Softgoal Dependency
D
D Important
Assured Participant
O Open (uncommitted)
(Attends X Critical
D
LEGEND Meeting(ip,m))
Depender Dependee
D D Resource Dependency

D D Task Dependency

D D Goal Dependency

D D Softgoal Dependency
O Open (uncommitted) X Critical
RE i* Actor Dependency Model
• Dependencies between actors - An actor is a black box

Attends
Meeting(p,m)
D

MeetingBe
Scheduled(m) Enter
AvailDates
Meeting Meeting (m) Meeting
Initiator
D Enter
Scheduler D Participant
DateRange Proposed
(m) Date(m)
Agreement
(m,p)
ISA
Attends
Meeting(ip,m)
Important
Assured
D Participant
(Attends D
LEGEND Meeting(ip,m))
Depender Dependee
D D Resource Dependency

D D Task Dependency

D D Goal Dependency

D D
Softgoal Dependency

O Open (uncommitted) X Critical


RE i* Actor Rationale Model
• Internal actor relationships - An actor is a white box
Meeting Meeting
Initiator Participant
Organize
Meeting Attends Participate
Meeting InMeeting
D
Quick MeetingBe Low Attend
Scheduled Effort Arrange
Meeting Meeting
Convenient
(Meeting,Date)
Schedule LetSceduler
Meeting Schedule Quality Low
Meeting D Meeting (ProposedDate) Effort
MeetingBe Scheduler Agreeable
Scheduled (Meeting,Date)
Enter Richer User
LEGEND DateRange Medium Friendly
Schedule
Goal Meeting
Task
FindAgreeable FindAgreeable
Obtain DateUsing DateByTalking
Resource AvailDates Enter Scheduler ToInitiator
Obtain D AvailDates
Soft!Goal Find Agreement
Task! Decompo! Agreeable Proposed
Slot AgreeTo
sition link Date Date
Means!ends link

+! Contribution to Merge D Agreement


softgoals AvailDates
Actor

Actor Boundary
RE i* Actor Rationale Model
• Internal actor relationships - An actor is a white box
LEGEND
Meeting Meeting
Initiator Participant
Organize
D
Goal Participate
Meeting Attends
Meeting InMeeting
Task D
Quick MeetingBe Low Attend
Scheduled Effort Arrange
Resource Meeting Meeting
Convenient
(Meeting,Date)
LetSceduler
Schedule
Meeting Schedule Soft! Goal Quality Low
Meeting D Meeting (ProposedDate) Effort
MeetingBe Agreeable
Scheduler
Scheduled D (Meeting,Date)
Task! Decompo!
Enter sition link Richer
Medium
User
LEGEND DateRa nge D Friendly
Schedule Means!ends link
Goal Meeting
FindAgreeable FindAgreeable
Task

Resource
+
! Contribution
Obtain
AvailDates
to
Enter
DateUsing
Scheduler
DateByTalking
ToInitiator
Obtain
softgoals D AvailDates D
Soft!Goal
Find AgreementActor
Task! Decompo! Agreeable D Proposed D AgreeTo
sition link Slot Date
Means!ends link
Date
Actor Boundary
+! Contribution to Merge D Agreement D
softgoals AvailDates
Actor

Actor Boundary
RE i* Actor Rationale Model
• Internal actor relationships - An actor is a white box
Meeting Meeting
Initiator Participant
Organize
Meeting Attends Participate
Meeting InMeeting
D
Quick MeetingBe Low Attend
Scheduled Effort Arrange
Meeting Meeting
Convenient
(Meeting,Date)
Schedule LetSceduler
Meeting Schedule Quality Low
Meeting D Meeting (ProposedDate) Effort
MeetingBe Scheduler Agreeable
Scheduled (Meeting,Date)
Enter Richer User
LEGEND DateRange Medium Friendly
Schedule
Goal Meeting
Task
FindAgreeable FindAgreeable
Obtain DateUsing DateByTalking
Resource AvailDates Enter Scheduler ToInitiator
Obtain D AvailDates
Soft!Goal Find Agreement
Task! Decompo! Agreeable Proposed
Slot AgreeTo
sition link Date Date
Means!ends link

+! Contribution to Merge D Agreement


softgoals AvailDates
Actor

Actor Boundary

You might also like