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