using the user requirements notation

26
SCHOOL OF INFORMATION TECHNOLOGY AND ENGINEERING UNIVERSITY OF OTTAWA, CANADA Daniel Amyot Q.18/17 Rapporteur SITE, University of Ottawa, Canada [email protected] Using the User Requirements Notation TU-T Workshop on the "Use of Description Techniques

Upload: cardea

Post on 21-Jan-2016

32 views

Category:

Documents


0 download

DESCRIPTION

ITU-T Workshop on the "Use of Description Techniques". Using the User Requirements Notation. Daniel Amyot Q.18/17 Rapporteur SITE, University of Ottawa, Canada [email protected]. About this presentation. What is the User Requirements Notation (URN)? What can we model with URN? - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Using the User Requirements Notation

SCHOOL OF INFORMATION TECHNOLOGY AND ENGINEERING

UNIVERSITY OF OTTAWA, CANADA

Daniel AmyotQ.18/17 Rapporteur

SITE, University of Ottawa, Canada

[email protected]

Using theUser Requirements Notation

ITU-T Workshop on the "Use of Description Techniques"

Page 2: Using the User Requirements Notation

URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002 2

About this presentation

What is the User Requirements Notation (URN)?

What can we model with URN? What answers can these models

provide? What are the typical/potential usages?

Page 3: Using the User Requirements Notation

URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002 3

URN – Main objectives

Focus on early stages of development with goals and scenarios

From user requirements to system functional and non-functional requirements

No messages, components, or component states required

Reusability– of argumentations (goal patterns and analysis)– of scenarios (patterns and architectural alternatives)

Early performance analysis Traceability and transformations to other languages

– Particularly MSC, SDL, TTCN, and UML

Page 4: Using the User Requirements Notation

URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002 4

Current Proposal for URN

Draft documents for Z.150, Z.151, Z.152 Combined use of two complementary

notations:– Goal-oriented Requirement Language (GRL) for

NFRs (http://www.cs.toronto.edu/km/GRL/)– Use Case Maps (UCM) for Functional

Requirements (http://www.UseCaseMaps.org/) Create ITU-T standard by end of 2003 http://www.UseCaseMaps.org/urn/

Page 5: Using the User Requirements Notation

URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002 5

?

?MSC, UML Use

Case Diagram & Activity Diagram

Informal Requirements,

Textual Use Cases

URN — Missing Piece ofthe Modelling Puzzle?

UCMs link to operationalizations

(tasks) in GRL models

Structural Diagrams

SDL, eODL, or UML class, object,

component, & deployment

diagrams

Testing and Performance Languages

TTCN, LQN, ...

Behavioral DiagramsMSC/SDL, or UML

sequence, collabor., & statechart diagrams

UCMs represent visually use cases in terms of causal

responsibilities

UCMs provide a framework for

making high level and detailed

design decisions

UCMs visually associate

behavior and structure at the

system level

URN-FR / UCMsSuperimpose visually system level behavior onto structures of abstract components. Can

replace UML use case & deployment diagams.

URN-NFR/GRLGoals, non-functional requirements, alterna-

tives, rationales

DataASN.1 whereappropriate

Page 6: Using the User Requirements Notation

URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002 6

GRL in a Nutshell

Goal-oriented Requirement Language– graphical notation– connects requirements of requirements to

business objectives– allows reasoning about (non-functional)

requirements GRL models the “why” aspect

– objectives, alternatives, as well as decision rationale

– no operational details Supports goal analysis and evaluations

Page 7: Using the User Requirements Notation

URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002 7

Basic GRL Notation

Means-End

PasswordCardkey Biometrics

Correlation(side-effect)

Cost ofTerminal

Belief

Argumentation

Biometrics is noregular off-the-shelf

technology

Goal

Decomposition(AND)

IdentificationAuthentication

Task

Make..Access

Authorization Encryption

?Break Hurt Some- Unknown

Make Help Some+ Equal

Contribution

Security ofHost

Security ofTerminal

Softgoal SystemSecurity

Page 8: Using the User Requirements Notation

URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002 8

Evaluations with GRL

..

PasswordCardkey Biometrics

Identification

Cost ofTerminal

Biometrics is noregular off-the-shelf

technology

AccessAuthorization Encryption

Authentication

Satisficed

Weakly Satisficed

Undecided

Weakly Denied

Denied

Security ofHost

Security ofTerminal

SystemSecurity

Page 9: Using the User Requirements Notation

URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002 9

UCMs in a Nutshell

Use Case Maps– graphical scenario notation – causal relationships between responsibilities– scenario elements may (optionally) be allocated to

components UCMs model the “what” aspects

– functional requirements as scenarios– integration and reusability of scenarios– guidance for architecture and detailed behaviour

Performance analysis, conflict detection

Page 10: Using the User Requirements Notation

URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002 10

Component

StartPoint

End Point

Responsibility

Stub

AND-Fork

Pool

a) Root UCM

Slot

b) Biometrics Plug-In c) PassWord Plug-in

Timer

OR-Fork

Page 11: Using the User Requirements Notation

URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002 11

GRL - UCM Relationship Goal-based approach

– Focuses on answering “why” questions Scenario-based approach

– Focuses on answering “what” questions Goals are operationalized into tasks and

tasks are elaborated in (mapped to) UCM scenarios– Focuses on answering “how” questions

GRL goals can guide the selection of a particular architecture for the UCM scenarios

Page 12: Using the User Requirements Notation

URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002 12

Typical Usage of URN Modelling and documentation

– User and system requirements, rationales Analysis of business goals

– Evaluations of alternative requirements or solutions– Discovery of tradeoffs that can optimize the

stakeholders’ degree of satisfaction for conflicting goals Architecture analysis

– Based on NFRs and design constraints– Performance analysis

Generation of individual scenarios– Training, documentation– Detection of conflicts– Transformation to MSC and test cases

Reverse-engineering

Page 13: Using the User Requirements Notation

URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002 13

Experiences with GRL Used on industrial projects

– New family of Web-based telephone sets– Documentation of discussions involving multiple

stakeholders– Visualization and analysis of conflicting goals– Evaluation of architectural solutions, and rationales for the

retained solution– Proved to be very helpful for keeping discussions on track

and for avoiding repeating the same discussions over and over again.

– Accelerated the reaching of an agreement and – Improved (short-term and long-term) understanding.

Used in academic projects– Security applications– Web-based systems (in combination with UCMs)– Architectural/performance tradeoffs at a qualitative level

Page 14: Using the User Requirements Notation

URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002 14

Performance Engineering with UCMs

Response TimeRequirement• From T1 to T2• Name• Response time• Percentage

Security E_Accountant

ReadyContinueCheckBio

TaxPayer

Access

T1

Timestamp

T2

Device Characteristics• Processors, disks, DSP, external services…• Speed factors

Rejected

ArrivalCharacteristics• Exponential, or• Deterministic, or• Uniform, or• Erlang, or• OtherPopulation size

Responsibilities•Data access modes•Device demand parameters

•Mean CPU load (time)•Mean operations on other devices

OR Forks• Relative weights (probability)

Components• Allocated responsibilities• Processor assignment

Automated translation to Layered Queuing Networks (LQNs), for analytical evaluations and simulations.

Being applied to industrial case studies.

Page 15: Using the User Requirements Notation

URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002 15

UCM Scenario Definitions and Path Traversal (Highlight)

Extraction of individual scenarios

Conditions attached to selection points

Initialization of Boolean variables, and selection of start points

Page 16: Using the User Requirements Notation

URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002 16

Tool Support: UCMNav 2.1

Page 17: Using the User Requirements Notation

URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002 17

From UCM Requirements to More Detailed Design Models Requires:

– Path Data Model (global Booleans variables)

– Scenario Definitions– Path Traversal Mechanism– Mapping Rules (MSC, UML,

TTCN, LQN, LOTOS...)

Page 18: Using the User Requirements Notation

URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002 18

MSC

call origination

locreq [TERMLIST]

routreq [TLDN]

call setup

LRT

RRTRRT

TLDNAT

HLR VLRSCP MS

LOCREQ [DGTSDIAL, TRANSCAP]

MSC

SERVREQ [SRVID, DGTSDIAL]

SVRT servreq [ACTCODE, ALRTCODE]

ROUTREQ [MIN, ALRTCODE]

ROUTREQ [MIN, ALRTCODE]

call setup [ALRTCODE]

routreq [TLDN]

Originating System Serving System

g

h

i

j

a

b

c

d

e

f

k

ICS invocation with Normal Termination and Distinctive Alerting

Experiences with TIA’s Wireless Intelligent Network

Page 19: Using the User Requirements Notation

URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002 19

IncomingCall(IC)

CallSetup(CS)

CallBlocked(CB)

Screening (S)

NormalAlerting (NA)

PlayBlockAnnounce (PBA)

Simplified UCM for Incoming Call Screening

WIN Phase 1 covers three major services:• Calling Name Presentation (CNAP)• Incoming Call Screening (ICS)• Voice Controlled Services (VCS)

The following ICS Use Case Map is for illustration purpose.

Page 20: Using the User Requirements Notation

URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002 20

FE1

FE5

FE6

FE1

FE2

FE3

FE4

FE1

FE2

(a) First Structure (b) Second Structure (c) Different Mapping of UCM

FE3

FE4

CS

S

IC

CB PBANA

CS

IC

CB PBANA

S

IC

S

CB PBA

CS NA

Incoming Call Screening Scenario on Functional Entities

Page 21: Using the User Requirements Notation

URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002 21

NE1

FE1

NE3

FE3

NE2

FE2

NE4

FE4

NE1

FE1

NE3

FE3

NE2

FE2

FE4

NE1

FE1

NE3

FE2

(a) First Structure (b) Second Structure (c) Different Mapping of FEs

NE2

FE3

FE4

Binding Functional Entities to Network Entities

Page 22: Using the User Requirements Notation

URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002 22

NE1

FE1

NE3

FE2

NE2

FE3

FE4

CS

S

IC

(a) UCM to FEs to NEs

CB PBANA

NE1 NE2 NE3

IC

CS

m2m1

NE1 NE2 NE3

CB

IC

m2m1

m4

(b) A MSC for <IC,S,NA,CS> (c) A MSC for <IC,S,PBA,CB>

m3

m5

S

NA

S

PBA

Refinement with MSC

Page 23: Using the User Requirements Notation

URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002 23

CallBlocked

Announcement

Routing

IncomingCall

CallSetup

VoiceMail

CallForwarded

Req

Chk

Loc

Blk PBA

NADA

NbVM

SF

CF

HLRLRFH

MSC MACF

CCF

SRFIP

SCPSDF

SCF

SRF

SSF

SCF

LegendBlk : Blocking

Chk : Check

CF : CheckFunction

DA : DistinctiveAlerting

NA : NormalAlerting

Nb : Number

PBA : PlayBlockAnnounce

Req : Request

SF : ScreeningFunction

VM : VoiceMail

Loc : Location

Plug-in UCM for ICS+

+

+

+

Page 24: Using the User Requirements Notation

URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002 24

Coming soon…

URN-oriented Reverse-Engineering– UCMs for reverse-engineering already popular. – Can cope with very complex systems

UCM to UML scenarios UCM to TTCN test cases URN and Requirements Management UCM and Requirements-based Design (synthesis)

– Already a tool-support mapping to LOTOS

Socket

Logic

SendMsg

MsgSentToTool

ProcessMsg MsgToTool

GetRequest

SendMsg

LogicLayerLogicLayerLogicLayer

SocketLayerSocketLayerSocketLayer

BufferLayerBufferLayerBufferLayer

FILE ScenarioMessage48

6

1

18

34

9

32

1

8

32

MsgSentToTool

ProcessMsg MsgToTool

GetRequest

Page 25: Using the User Requirements Notation

URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002 25

Conclusions URN

– Allows engineers to specify or discover requirements for a proposed system or an evolving system, and review such requirements for correctness and completeness.

– Is usable in industry and in standardization bodies– Combines goals and scenarios– Helps bridging the gap between informal and formal concepts, and

between requirements models and design models– Big benefits for little modelling investment, even when used

informally GRL

– For incomplete, tentative, (non-functional) requirements– Capture goals, objectives, alternatives and rationales

UCM– For operational and functional requirements– Enables analysis and transformations– Architectural alternatives and dynamic systems

Page 26: Using the User Requirements Notation

URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002 26

7th Feature Interaction WorkshopOttawa, June 9-11, 2003

http://www.site.uottawa.ca/fiw03/

Submission deadline: December 9