Using the User Requirements Notation Daniel Amyot Q.18/17 Rapporteur

advertisement
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
damyot@site.uottawa.ca
SCHOOL OF INFORMATION TECHNOLOGY AND ENGINEERING
UNIVERSITY OF OTTAWA, CANADA
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?
URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002
2
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
URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002
3
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/
URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002
4
URN — Missing Piece of
the Modelling Puzzle?
Structural
Diagrams
SDL, eODL, or
UML class, object,
component, &
deployment
diagrams
UCMs visually
associate
behavior and
structure at the
system level
Informal
Requirements,
Textual Use Cases
URN-NFR/GRL
?
?
Goals, non-functional
requirements, alternatives, rationales
Data
ASN.1 where
appropriate
UCMs link to
operationalizations
(tasks) in GRL
models
URN-FR
/ UCMs
MSC, UML
Use
Superimpose
Case Diagram
visually
& system level behavior
onto
Activity
structures
Diagram
of abstract components. Can
replace UML use case & deployment diagams.
UCMs represent
visually use cases
in terms of causal
responsibilities
Behavioral Diagrams
MSC/SDL, or UML
sequence, collabor., &
statechart diagrams
UCMs provide a
framework for
making high level
and detailed
design decisions
Testing and
Performance
Languages
TTCN, LQN, ...
URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002
5
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
URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002
6
Basic GRL Notation
Softgoal
?
Break Hurt Some- Unknown
Belief
Make Help Some+ Equal
System
Security
Contribution
Biometrics is no
regular off-the-shelf
technology
.
Security of
Terminal
Argumentation
Access
Authorization
Cost of
Terminal
Security of
Host
. Make
Encryption
Task
Correlation
(side-effect)
Decomposition
(AND)
Authentication
Means-End
Cardkey
Password
Identification
Goal
Biometrics
URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002
7
Evaluations with GRL
Satisficed
System
Security
Weakly Satisficed
Undecided
Weakly Denied
Biometrics is no
regular off-the-shelf
technology
Denied
.
Security of
Terminal
Access
Authorization
Cost of
Terminal
Authentication
Cardkey
Password
Security of
Host
.
Encryption
Identification
Biometrics
URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002
8
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
URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002
9
Pool
Start
Point
Stub
AND-Fork
Slot
End Point
Responsibility
Component
a) Root UCM
c) PassWord Plug-in
b) Biometrics Plug-In
Timer
OR-Fork
URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002
10
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
URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002
11
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
URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002
12
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
URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002
13
Performance Engineering with UCMs
Arrival
Characteristics
• Exponential, or
• Deterministic, or
• Uniform, or
• Erlang, or
• Other
Population size
Timestamp
TaxPayer
Device Characteristics
• Processors, disks, DSP,
external services…
• Speed factors
Security
T1
E_Accountant
T2
CheckBio Continue
Access
Rejected
Components
• Allocated responsibilities
• Processor assignment
OR Forks
• Relative weights
(probability)
Automated translation to Layered Queuing Networks
(LQNs), for analytical evaluations and simulations.
Being applied to industrial case studies.
URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002
Ready
Response Time
Requirement
• From T1 to T2
• Name
• Response time
• Percentage
Responsibilities
•Data access modes
•Device demand parameters
•Mean CPU load (time)
•Mean operations on
other devices
14
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
URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002
15
Tool Support: UCMNav 2.1
URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002
16
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...)
URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002
17
Experiences with TIA’s
Wireless Intelligent Network
ICS invocation with Normal Termination and Distinctive Alerting
Origi nati ng System
MSC
Servin g Syste m
HLR
SCP
VL R
MSC
MS
call origi nati on
a
LOCREQ [DGTSDIAL, TRANSCAP]
b
SERVREQ [SRVID, DGTSDIAL]
SVRT
c
se rvre q [ACTCODE, ALRTCODE]
ROUTREQ [MIN, ALRTCODE]
LRT
e
ROUTREQ [MIN, ALRTCODE]
RRT
RRT
rou treq [TLDN]
rou treq [TLDN]
lo creq [TERMLIST]
d
TLDNAT
f
g
h
i
call setu p
j
call setu p [ALRTCODE]
URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002
k
18
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.
NormalAlerting (NA)
IncomingCall
(IC)
Screening (S)
PlayBlockAnnounce (PBA)
URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002
CallSetup
(CS)
CallBlocked
(CB)
19
Incoming Call Screening
Scenario on Functional Entities
IC
FE5
FE1
IC
FE3
FE1
FE3
CS
NA
IC
S
FE1
S
FE6
FE2
CB
PBA
NA
S
FE4
FE2
CB
NA
PBA
CS
(a) First Structure
(b) Second Structure
FE4
CB
PBA
CS
(c) Different Mapping of UCM
URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002
20
Binding Functional Entities to
Network Entities
NE1
NE2
FE1
NE3
FE2
NE4
FE3
FE4
(a) First Structure
NE1
FE1
NE2
FE2
NE3
FE3
NE1
FE1
NE2
FE3
NE3
FE4
(b) Second Structure
URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002
FE2
FE4
(c) Different Mapping of FEs
21
Refinement with MSC
IC
NE1
NE1
NE2
NE3
NE1
NE2
NE3
NE2
IC
FE1
IC
m1
FE3
m1
m2
m2
S
S
m3
m4
m5
NA
NE3
CS
S
FE2
FE4
PBA
CB
NA
PBA
CB
CS
(a) UCM to FEs to NEs
(b) A MSC for <IC,S,NA,CS>
URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002
(c) A MSC for <IC,S,PBA,CB>
22
Plug-in UCM for ICS
+
+
SCP
HLR
Legend
LRFH
SDF
SF
Blk : Blocking
Chk : Check
Chk
CF : CheckFunction
DA : DistinctiveAlerting
Loc
NA : NormalAlerting
SCF
SCF
NA
DA
CF
VM
Nb
Nb : Number
PBA : PlayBlockAnnounce
MSC
MACF
Routing
Req : Request
SSF
IP
SF : ScreeningFunction
SRF
VM : VoiceMail
Blk
Loc : Location
PBA
CCF
IncomingCall
CallSetup
Req
SRF
VoiceMail
Announcement
CallForwarded
CallBlocked
+
+
URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002
23
Coming soon…
48
FILE ScenarioMessage
6
Logic
LogicLayer
ProcessMsg
ProcessMsg
MsgToTool
MsgToTool
1
MsgSentToTool
18
Socket
SocketLayer
SendMsg
SendMsg
GetRequest
34
GetRequest
9
MsgSentToTool
BufferLayer
8
32
32

1
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
URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002
24
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
URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002
25
7th Feature Interaction Workshop
Ottawa, June 9-11, 2003
http://www.site.uottawa.ca/fiw03/
Submission deadline: December 9
URN, ITU-T Workshop on the "Use of Description Techniques", November 23, 2002
26
Download