Goal-Oriented Requirements Engineering -...

68
Goal-Oriented Requirements Engineering Languages and Applications Paolo Giorgini OIS

Transcript of Goal-Oriented Requirements Engineering -...

Goal-Oriented Requirements EngineeringLanguages and Applications

Paolo Giorgini

OIS

Outline• Why Goal-Oriented Requirements Engineering

(GORE)?▫ Example Projects

• GORE Frameworks • i* Syntax and Examples• i* Modeling Practice • What can you do with goal models?• i* Resources• Conclusions• References

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

2

Why Goal-Oriented Requirements Engineering (GORE)?• Most systems today are socio-technical, e.g., ▫ E-business; E-learning; E-health; E-government ▫ Energy, environment, transportation

• Complex relationships among stakeholders▫ Know what they want

� E.g., security, privacy, trust, profitability, market positioning, strategic alliances, intellectual property, …

▫ Help them achieve what they want▫ Understanding “why”, not just “what”

• Strategic actors. Each one asks:▫ What do I want?▫ How can I achieve what I want?▫ Who do I depend on to achieve what I want?

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

3

Example Project: Strategic Requirements Analysis for Kids Help Phone• Kids Help Phone (KHP) is a not-for-

profit organization which provides counseling for Canadian children and youth.

¨ Traditionally, KHP has provided counseling via phone¨ As new technology is introduced, KHP wanted to go where

the kids are: the web¨ How can counseling services be effectively provided on-

line?¨ How can the organization continue to ensure:

¨ Anonymity? Confidentiality? Quality of Service?Paja, Horkoff, and Mylopoulos -- OIS 2014-15

4

Example Project: Security Requirements of a WiFi-based Navigation System

Location estimation Security issues: WiFi access

points may be switched off

• In a WiFi-based navigation system, users navigate inside buildings using WiFi access points• The system could use existing WiFi access points or could install new access points• Using existing access points saves money

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

5

Example Project: Case Study: “Greening” of ICSE Conference

• ICSE’09 wants to “go green”, cutting down it’s ecofootprint• The conference must balance this goal with other factors

affecting overall conference success, including:▫ Quality program, satisfied attendees, quality venue, good

keynotes, positive relationship with sponsors, financial success, quality workshops, involvement of industry,…

• How can we reason over and make tradeoffs between sustainability and other goals?

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

6

How would you apply RE techniques to these cases?

• Kids Help Phone

• WiFi-based Navigation System

• “Greening” of ICSE Conference

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

7

Goal-Oriented Requirements Engineering • GORE aims to capture both social and technical

aspects of computer systems. • In GORE, we want to capture: ▫ Agents (actual concrete participants)▫ Goals of agents (their objectives)▫ Dependencies between agents ▫ Relationships between agents ▫ Alternative solutions▫ Relationships between goals ▫ Goal satisfaction

• We typically capture these aspects using graphical models.

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

8

GORE for Early RE

• GORE is typically used for Early RE. • What do you need to be concerned about?▫ Solving the wrong problem▫ Socio-technical system failure, disuse▫ Changing needs▫ Changing regulations▫ Globalization, internationalization

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

9

Verification vs. Validation (SE Viewpoint)

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

A problem within the

world

Requirement Specification

A System

Describes

Elicitation

Verification

Validation

GORE Helps here:Fitness for a purpose

10

How does this fit into OIS? EA?

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

Enterprise (Complex Organization)

Sub-organization

People

Information Systems

Processes

Traditionally, GORE asks:Why? How? For systems as part of Software Engineering

But GORE can also be used for analysis at a higher level, business & enterprise analysis

11

GORE Frameworks

• There are several different approaches to GORE modeling: ▫ NFR (Non-Functional Requirement) Framework▫ i* Framework (Distributed Intentionality)▫ GRL (Goal-Oriented Requirements Language) ▫ Tropos▫ KAOS (Knowledge Acquisition in autOmated

Specification of software systems)

• Examples in this presentation will use i*.

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

12

i* background

• Developed in the early 90’s (PhD thesis by Eric Yu)▫ provides a framework for asking ‘why’ questions▫ models the organisational context▫ based on the notion of an “intentional actor”

• Two parts of the model▫ Actor Diagrams (AD): model social relationships

between actors▫ Rationale Diagrams (RD): model goals and

subgoals of actors

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

13

The i* approach

• AD model shows dependencies between actors:▫ goal/softgoal dependency - actor depends on another

to attain a goal▫ resource dependency - actor needs a resource from

another▫ task dependency - actor needs a task to be done by

another• RD model shows interactions between goals

within each actor▫ Shows goal/task decompositions▫ Shows means-ends links between tasks and goals

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

14

GORE Approach: Model Social Relationships for Analysis and Design

• Strategic actors

▫What do I want?

▫ How can I achieve what I want?

▫Who do I depend on to achieve what I want?

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

15

i*: Strategic Dependency (SD) Relationship

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

Actor A

I want …

Actor B

I can and I will…

D DCar Be Repaired

16

Strategic actors• Have goals, beliefs, abilities, commitments• Are strategic in the sense that they act in ways that

help them achieve their goals• Are semi-autonomous ▫ freedom of action, constrained by relationships with

others▫ not fully knowable or controllable▫ have knowledge to guide action, but only partially

explicit• Depend on each other▫ for goals to be achieved, tasks to be performed,

resources to be furnished

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

17

i* Strategic Dependency Diagram (1)

• Actors: General type▫ Agent: software or social agent:

� E.g. Counseling System, ICSE, Web Service, KHP▫ Role: collection of responsibilities

� E.g. Client, Kid, Counselor, PC Chair▫ Position: collection of roles

� E.g. Counseling Manager

• Actor Associations:▫ Plays, is-a, occupies, ins, is part-of

• These concepts can be used to draw actor association diagrams

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

Actor

Position

18

Dependency types• Goal Dependency: for an assertion to be brought

about, depender does not care how the assertion is achieved

• Task Dependency: for an activity to be performed, the dependency stipulates what has to be done

• Resource Dependency: for an entity to be transferred (provided): the depender needs that resource

• Softgoal Dependency: a softgoal is a goal having a non-sharp satisfaction criteria – the depender requires a good enough strategy to be carried out

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

19

SD Example: “Greening” of ICSE Conference

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

20

Example: WiFi-based Navigation System Requirement Analysis • How to analyze the threats that actors cause for each

other?▫ Who provides what information and for whom?▫ Who trusts who and what for?

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

21

i* Strategic Rationale Diagrams

• Actor boundaries• Goals, Softgoals, Tasks, Resources• Dependencies (as before)• Decomposition (AND), Means-Ends (OR)

• Contribution: Make, Help, Hurt, Break, Unknown

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

22

Goals and softgoals

• What are (Hard) Goals?▫ Describe desired states of affairs▫ Are “binary”, they can be satisfied or not satisfied▫ Examples: Raise Profit by 10% in the next year

• What are Softgoals?▫ Are not really “binary”, no strict criteria for

satisfaction and denial, judged to be sufficiently satisfied▫ Examples: happy customers, high profitability,

compatibility, usability, affordability, maintainability, etc.; but also low cost, reduce costs, increase profits, etc.

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

23

Relationships between goals • Decomposition: From a (soft)goal to a (soft)goal▫ AND: All “children” of (soft)goal must be satisfied for

it to be satisfied▫ OR: One or more “children” of soft(goal) need be

satisfied for it to be satisfied.▫ Between homogeneous goal types!!

• Full contribution: From a (soft)goal to a (soft)goal▫ ++ A goal makes (satisfies) another▫ -- A goal breaks (denies) another

• Partial contribution: From a (soft)goal to a softgoal▫ + A goal helps (partially satisfies) another▫ - A goal hurts (partially denies) another

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

24

SR Example: Kids Help Phone• What are the goals of KHP?• What are the relationships

between the goals?• What are the alternatives?• How can these goals be

satisfied? • What are the negative

consequences?• Who do we depend on?• For what?• How?

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

25

SR Example: Wifi (high-level overview)

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

26

i*: modeling primitives

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

27

i* Modeling Practice The ICSE Conference Program Committee (PC) Chair

needs to select full papers for the conference. He/she can either have an online meeting of the committee or have a meeting in person. The General chair depends on the PC Chair to have a high quality program. The Sustainability chair depends on the PC Chair to reduce pollution. Having an in-person meeting would require the committee members to take many flights, but having an online meeting may make it difficult for the Program Committee to make good decisions. How can we show this in an i* model?

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

28

i* Modeling Practice The ICSE Conference Program Committee (PC) Chair

needs to select full papers for the conference. He/she can either have an online meeting of the committee or have a meeting in person. The General chair depends on the PC Chair to have a high quality program. The Sustainability chair depends on the PC Chair to reduce pollution. Having an in-person meeting would require the committee members to take many flights, but having an online meeting may make it difficult for the Program Committee to make good decisions. How can we show this in an i* model?

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

Actors?

29

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

30

i* Modeling Practice The ICSE Conference Program Committee (PC) Chair

needs to select full papers for the conference. He/she can either have an online meeting of the committee or have a meeting in person. The General chair depends on the PC Chair to have a high quality program. The Sustainability chair depends on the PC Chair to reduce pollution. Having an in-person meeting would require the committee members to take many flights, but having an online meeting may make it difficult for the Program Committee to make good decisions. How can we show this in an i* model?

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

Goals? Tasks?

31

i* Modeling Practice The ICSE Conference Program Committee (PC) Chair

needs to select full papers for the conference. He/she can either have an online meeting of the committee or have a meeting in person. The General chair depends on the PC Chair to have a high quality program. The Sustainability chair depends on the PC Chair to reduce pollution. Having an in-person meeting would require the committee members to take many flights, but having an online meeting may make it difficult for the Program Committee to make good decisions. How can we show this in an i* model?

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

Goals? Tasks?

32

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

33

i* Modeling Practice The ICSE Conference Program Committee (PC) Chair

needs to select full papers for the conference. He/she can either have an online meeting of the committee or have a meeting in person. The General chair depends on the PC Chair to have a high quality program. The Sustainability chair depends on the PC Chair to reduce pollution. Having an in-person meeting would require the committee members to take many flights, but having an online meeting may make it difficult for the Program Committee to make good decisions. How can we show this in an i* model?

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

Softgoals?

34

i* Modeling Practice The ICSE Conference Program Committee (PC) Chair

needs to select full papers for the conference. He/she can either have an online meeting of the committee or have a meeting in person. The General chair depends on the PC Chair to have a high quality program. The Sustainability chair depends on the PC Chair to reduce pollution. Having an in-person meeting would require the committee members to take many flights, but having an online meeting may make it difficult for the Program Committee to make good decisions. How can we show this in an i* model?

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

Softgoals?

35

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

36

i* Modeling Practice The ICSE Conference Program Committee (PC) Chair

needs to select full papers for the conference. He/she can either have an online meeting of the committee or have a meeting in person. The General chair depends on the PC Chair to have a high quality program. The Sustainability chair depends on the PC Chair to reduce pollution. Having an in-person meeting would require the committee members to take many flights, but having an online meeting may make it difficult for the Program Committee to make good decisions. How can we show this in an i* model?

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

Relationships?

37

i* Modeling Practice The ICSE Conference Program Committee (PC) Chair

needs to select full papers for the conference. He/she can either have an online meeting of the committee or have a meeting in person. The General chair depends on the PC Chair to have a high quality program. The Sustainability chair depends on the PC Chair to reduce pollution. Having an in-person meeting would require the committee members to take many flights, but having an online meeting may make it difficult for the Program Committee to make good decisions. How can we show this in an i* model?

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

Relationships?

38

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

39

Example: “Greening” of ICSE ConferenceRequirements Analysis

• From the perspective of the General Chair• Model presented using views

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

40

SD View

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

41

General View

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

42

Publications and Program

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

43

Finance, Sponsorship, Advertising

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

44

Sustainability & Local Org

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

45

Everything

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

46

SR Example: ICSE Greening

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

47

Many More Motivating Examples…• Air Traffic Control▫ Lockerbie (City University London), Bush (NATS, UK), Maiden (City University

London), Blom, Everdij (National Aerospace Laboratory (NLR), The Netherlands)▫ Paja, Dalpiaz, Giorgini (University of Trento, Italy), Paul (Thales Research and

Technology, France), Meland (SINTEF, Norway)

• Agile Adoption in Telecommunications▫ Chiniforooshan, Yu (University of Toronto), Annosi (Ericsson Research Italy)

• Civil Construction▫ Alencar (Dep. Eletrônica e Sistemas), Castro (Centro de Informática), Menezes

(Dep. Engenharia Civil, Universidade Federal de Pernambuco, Brazil), Silva, Santos (Centro de Informática)

• Adverse Event Management in Healthcare▫ Ahmadi Behnam and Daniel Amyot (University of Ottawa), Forster (The Ottawa

Hospital)

• … From the iStar Showcase’11: http://www.cs.toronto.edu/km/istar/iStarShowcase_Proceedings.pdf

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

48

Benefits of Goal Modeling

• Elicit stakeholder needs• Facilitating cognitive understanding of stakeholder

needs, dependencies, etc.• Communication between and among stakeholders and

analysts• Shared understanding• Making explicit what was implicit (goals, softgoals,

dependencies)• Capturing alternative requirements and solutions• Selecting alternative solutions, trade off analysis• …

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

49

What you can do with goal models?

▫ Requirements Elicitation and documentation ▫ Communication▫ Model Analysis▫ Design Rationale ▫ Trade-off Analysis ▫ Security Analysis

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

50

Requirements Elicitation and Documentation

Derive

Goal Model

Requirements

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

51

Communication• Use a goal model along with textual

documentation to describe a situation or issue

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

What do Counselors want to achieve?

52

Model Analysis• Several approaches to analysis in GORE• Example approach: Use labels to represent degree of

satisfaction

• Use algorithms to propagate labels throughout the model using propagation rules

• Use human judgment to resolve conflicts

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

53

Application Attract Users

Implement Password System

Restrict Structure of Password

Ask for Secret

Question

Security Usability

Help

Hurt

Mak

e

Help Help

Example: Forward Evaluation of i* Models• Demonstrate the procedure through an example• Evaluation based on an analysis question:▫ If the Application implements Restrict Structure of Password,

but not Ask for Secret Question, what effect will this have on Attract Users?

• Place Initial Labels reflecting Analysis Question

Paja, Horkoff, and Mylopoulos -- OIS 2014-15 54

Example: Forward Evaluation of i* Models• Propagate labels• Resolve labels• Iterate on the above steps until all labels have been propagated

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

Application Attract Users

Implement Password System

Restrict Structure of Password

Ask for Secret

Question

Security Usability

Help

Hurt

Mak

e

Help HelpHuman Intervention

Attract Users Receives the following Labels:

Partially denied from Usability

Partially satisfied from Security

Select Label…

Select partially denied

Human Intervention

Usability Receives the following Labels:

Partially denied from Restrict Structure of Password

Partially denied from Ask for Secret Question

Select Label…

Select denied

55

Interactive Evaluation of i* Models• Analyze result▫ If the Application implements Restrict Structure of Password, but

not Ask for Secret Question, Attract Users is partially denied, as Usability, considered important by the evaluator, is denied.▫ This is not a viable design alternative.

• Next Steps: ▫ Repeat with new

analysis question…

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

Application Attract Users

Implement Password System

Restrict Structure of Password

Ask for Secret

Question

Security Usability

Help

Hurt

Mak

e

Help Help

56

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

?

!?!?!?!?!?

57

Design Rationale• Explicit listing of decisions made during a design process ▫ Why decisions were made

• Using i* notation, design rationale can be recorded as different contributions of alternative design choices

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

58

Trade-off Analysis

S1 S2

G

T1T2

Help

HelpHurt Hu

rt

S1 and S2 are in trade-off that is caused by T1

and T2 alternatives

S4 S5

G

T1T2

Help Hu

rt

S1

S3 S6

S2

Help Help

Make

Make

Help

Make Help

Break

T3 T4

Alternatives S1 S2 S3 S4DependingonWiFi Signals

DependingonRFIDPaja, Horkoff, and Mylopoulos -- OIS 2014-15

59

Resources for More Information

• iStar Workshop Series▫ iStar’14 co-located with CAiSE’14, June in Greece

• i* Wiki: ▫ http://istar.rwth-aachen.de/tiki-index.php

• Incomplete i*-related publication list:▫ http://istar.rwth-aachen.de/tiki-index.php?page_ref_id=4

• i* Linked-in group:▫ http://www.linkedin.com/groups/istar-modeling

• i* Citeulike:▫ http://www.citeulike.org/groupfunc/14571/home

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

60

i* Guide (Quick and Full)

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

61

i* related Tools• See http://istar.rwth-aachen.de/tiki-

index.php?page=i%2A+Tools for a list of available i*-related tools, for example:▫ OME, OpenOME, GR-Tool, ST-Tool, jUCMNav, Adoxx-istar,

IStar Tool, the RE-Tools, STS-Tool, CSRML Tool, BIM-Tool, TAGOOn Tool, …

• Tool fair as part of iStar’11 and iStar’13• OpenOME (i*)▫ http://sourceforge.net/projects/openome/

• jUCMNav (GRL)▫ http://marketplace.eclipse.org/content/jucmnav#.Uxmbafl

dXck• STS-Tool (STS) – focus on security▫ http://www.sts-tool.eu/

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

62

Tool Support: OpenOME

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

Project Explorer

Alternatives Tab

Canvas

Palette

Tree View

Outline View

Analysis Buttons

Judgments Tab

Horkoff, Yu, iStar Tool Fair’11

63

Tool Support: jUCMNav

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

Modeling elements

Evaluated GRL model, with quantitative contributions

and satisfaction levels, color highlight and trends

Group of 3

strategies

64

Amyot, Mussbacher, Ghanavati, Khealey, iStar’11http://ceur-ws.org/Vol-766/paper29.pdf

GORE: Conclusions

• Goal-oriented requirements engineering emphasizes the social and intentional aspects of system development▫ Explicitly address users goals▫ Who? How? Why?

• Several approaches/frameworks to goal modeling• Approaches for goal analysis (more lectures and tutorials

to come)• Many extensions/applications (STS, BIM, etc… more to

come)• Active community• Several challenges and open issues▫ More work to be done!

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

65

References (1)• E. Yu: Strategic Business Modeling with i* . Presented at CASCON

Workshop on Requirements-Driven Business Process Modelling and Performance Management. Markham, Ontario, Canada, October 29, 2008

• E. Yu: Social Modeling and i* - Themes and Variations. Seminar presented at Tilburg University, The Netherlands, June 9, 2009

• E. Yu, J. Castro, A. Perini: Strategic Actors Modeling with i*. RE 2008 – Tutorial.

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

66

References (2)• S. Easterbrook (PI), E. Yu (PI), J. Aranda, J. Horkoff, M. Strohmaier, Y.

Fan, M. Leica, and R. Abdul Qadir:▫ Strategic Requirements Analysis for Kids Help Phone. U of T DCS Undergraduate

Open House.▫ Kids Help Phone: Understanding the Counselling Service

through Requirements Modelling. Presented to KHP, Nov. 2004.• J. Cabot, S. Easterbrook, J. Horkoff, J. N. Mazon, L. Lessard, S. Liaskos:

Integrating Sustainability in Decision-Making Processes: A ModellingStrategy. ICSE 2009 New Ideas and Emerging Results (NIER’09).

• J. Horkoff, J. Aranda: Requirements Specification for the “Ask a Counsellor” Project for Kids Help Phone. Version 1.1 – Oct. 25, 2005.

• J. Horkoff, E. Yu: Qualitative, Interactive, Backward Analysis of i* Models. i* Workshop, 2007.

• J. Horkoff, E. Yu: A Qualitative, Interactive Evaluation Procedure for Goal-and Agent-Oriented Models. The 21st International Conference on Advanced Information Systems (CAiSE’09) Forum. Short Paper.

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

67

Acknowledge

Original slides from Elda Paja, Jennifer Horkoff and Golnaz Elahi

Paja, Horkoff, and Mylopoulos -- OIS 2014-15

68