850 likes | 1.04k Views
User Requirements Notation (URN) Application and Research Areas. Daniel Amyot SITE, University of Ottawa damyot@site.uottawa.ca UofT, August 23, 2007. Informal Requirements, Textual Use Cases. Structural Diagrams SDL, eODL, or UML class, object, component, & deployment diagrams.
E N D
User Requirements Notation (URN)Application and Research Areas Daniel Amyot SITE, University of Ottawa damyot@site.uottawa.ca UofT, August 23, 2007 URN: Application and Research Areas
Informal Requirements, Textual Use Cases Structural Diagrams SDL, eODL, or UML class, object, component, & deployment diagrams MSC, UML Use Case Diagram & Activity Diagram Behavioral Diagrams MSC/SDL, or UML sequence, collabor., & statechart diagrams Testing and Performance LanguagesTTCN, LQN, ... Data Modeling Puzzle – Common View Can we do better to bridge this gap? URN: Application and Research Areas
Overview of the Presentation • Overview of URN • Goal-oriented Requirements Language (GRL) • Use Case Maps (UCM) • URN Analysis Techniques • GRL Strategies • UCM Scenarios • Application and Research Areas • Transformations to Message Sequence Charts and test goals • Architectural Evaluations • Performance engineering • Business process modelling and management • Requirements management and policy compliance • Pattern formalization • Reverse engineering • Aspect-oriented requirements engineering URN: Application and Research Areas
User Requirements Notation (URN) • ITU-T Languages in Study Group 17 • SDL, MSC, ASN.1, TTCN-3, eODL, URN, … • UML 2.0 profiles • ITU-T Z.150: User Requirements Notation (URN) • Focus on early stages of development with goals and scenarios URN: Application and Research Areas
URN Proposal • Combined use of two complementary notations: • Goal-oriented Requirement Language (GRL) • for goals and non-functional requirements • http://www.cs.toronto.edu/km/GRL/ • Use Case Maps (UCM) • for operational requirements and architectures • http://www.UseCaseMaps.org/ • http://www.UseCaseMaps.org/pub URN: Application and Research Areas
GRL in a Nutshell • Goal-oriented Requirement Language • graphical notation • connects requirements to business objectives • allows reasoning about (non-functional) requirements • has its roots in i* and the NFR framework • GRL models the “why” aspect • objectives, alternatives, as well as decision rationales • little or no operational details • Supports goal and trade-off analysis and evaluations URN: Application and Research Areas
SystemSecurity Softgoal AND Break Hurt Some- Unknown Cost of Terminal Decomposition . Make Help Some+ Equal Biometrics is no regular off-the-shelftechnology . Security of Host Security of Terminal Make Contribution ? Access Authorization Task Encryption AND Correlation(side-effect) Authentication Identification Goal OR Belief Cardkey Password Biometrics Basic GRL Notation URN: Application and Research Areas
Advanced GRL Notation • GRL graphs can be allocated to actors • Dependencies can be defined between actors, together with intermediate resources. URN: Application and Research Areas
Why GRL? • Goals are an important driver for requirements elaboration • GRL expresses and clarifies tentative, ill-defined and ambiguous requirements • Supports argumentation, negotiation, conflict detection & resolution, and decisions • Captures decision rationale and criteria (documentation!) • GRL identifies alternatives (requirements, architectures, means…) • GRL provides traceability from strategic objectives to technical requirements • GRL allows reuse of stable higher-level goals when the system evolves • Nothing quite like this in UML… URN: Application and Research Areas
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, transformations URN: Application and Research Areas
c) PassWord Plug-in b) Biometrics Plug-In Timer OR-Fork Pool UCM Example StartPoint Stub AND-Fork Slot End Point Responsibility Component a) Root UCM Bindings for Authorize: [atNight] Biometrics {(IN1,Bio), (OUT1,Yes), (OUT2,No)} [!atNight] PassWord {(IN1,PW), (OUT1,Yes), (OUT2,No)} OR-Foin URN: Application and Research Areas
Why Use Case Maps? • Help bridgethe modeling gap between use cases, requirements, and design • Link behavior and structure in an explicit and visual way • Provide a behavioral framework for making (evaluating) architectural decisions at a high level of design • Characterize the behavior at the architecture level once the architecture is decided • Enable reasoning about many integrated scenarios (FIs) • Can model dynamic systems where scenarios and structures may change at run-time • May be transformed into more detailed representations • Effective learning tool for people unfamiliar with the domain URN: Application and Research Areas
IntentionalElement Actor Responsibility Component Map URN (Typed) Links • Most frequently, URN links are used to trace … • Actors in GRL models to components in UCM models • Tasks in GRL models to maps or responsibilities in UCM models • jUCMNav also allows other intentional elements to be linked to responsibilities or maps • Other links are currently restricted in the tool even though the URN metamodel allows links from any URN modeling element to another URN: Application and Research Areas
Overview of the Presentation • Overview of URN • Goal-oriented Requirements Language (GRL) • Use Case Maps (UCM) • URN Analysis Techniques • GRL Strategies • UCM Scenarios • Application and Research Areas • Transformations to Message Sequence Charts and test goals • Architectural Evaluations • Performance engineering • Business process modelling and management • Requirements management and policy compliance • Pattern formalization • Reverse engineering • Aspect-oriented requirements engineering URN: Application and Research Areas
Satisficed SystemSecurity Weakly Satisficed Cost of Terminal Undecided Biometrics is no regular off-the-shelftechnology Weakly Denied Security of Terminal Security of Host Denied Access Authorization Encryption Authentication Identification Cardkey Password Biometrics Evaluations with GRL (strategy 1) AND . . AND OR URN: Application and Research Areas
Evaluations with GRL • Evaluations of GRL graphs show the impact of qualitative decisions on high level softgoals • Propagation is usually bottom-up • Fuzzy evaluation of satisfaction level • Takes into consideration four parameters: • Degrees of satisfaction of children (satisficed, denied, …) • Composition operators (AND, OR) • Contributions and correlations (+/-, sufficient or not) • Dependencies • More complete than simple pros/cons tables or criteria evaluation matrices • One could use numerical values and functions instead of qualitative values (see jUCMNav tool) URN: Application and Research Areas
Satisficed SystemSecurity Weakly Satisficed Cost of Terminal Undecided Biometrics is no regular off-the-shelftechnology Weakly Denied Security of Host Security of Terminal Denied Access Authorization Encryption Authentication Identification Cardkey Password Biometrics Evaluations with GRL (strategy 2) AND . . AND OR URN: Application and Research Areas
GRL Strategies • User defined sets of initial evaluations • Propagated to the rest of the model • Numerical interpretation of satisfaction levels • Implemented using the strategies view • Visual coloured feedback • Cycles permitted • Evaluation of the impact of strategies on the operational and architectural aspects, using URN links URN: Application and Research Areas
Strategies in jUCMNav A star (*) indicates an initial value part of a given strategy. All the others are evaluated through a propagation algorithm. URN: Application and Research Areas
Numerical Evaluation in jUCMNav Evaluation between -100 and 100. E = -100 Denied -100 < E < 0 Weakly Denied E = 0 Undecided 0 < E < 100 Weakly Satisficed 100 Satisficed URN: Application and Research Areas
Numerical Evaluation: Decompositions • Minimum for AND, maximum for OR Or Decomposition And Decomposition URN: Application and Research Areas
Numerical Evaluation: Contributions • For each contribution, convert the contribution level to the corresponding weight factor • Make = 1 • Help = 0.5 • Some Positive = 0.25 • Unknown = 0 • Some Negative = -0.25 • Hurt = -0.5 • Break = -1 • Contributions are additive, but are normalized. URN: Application and Research Areas
Numerical Evaluation: Dependencies • Intentional element evaluation is set to the minimal value in the set of dependees evaluation or it current evaluation URN: Application and Research Areas
Actor Evaluation • Evaluations deal with negotiations between stakeholders • Actor evaluations help analyzing and comparing the satisfaction levels of each actor based on the selected strategy • Computed from priority and criticality attributes of intentional element references bound to actors URN: Application and Research Areas
Numerical Evaluation: Actor Evaluation Priority = Low Criticality = None Priority = None Criticality = High URN: Application and Research Areas
UCM Scenario Definitions and Path Traversal (Highlight) • Extraction of individual scenarios based on a traversal algorithm • Conditions attached to selection/start/end points • Initialization of global variables, and selection of start points and expected end points • Data types: Boolean, integer, enumerations • Used for validation and transformations URN: Application and Research Areas
GRL - UCM Relationship • Goal-based approach • Focuses on answering “why” questions • Functional and non-functional requirements • Scenario-based approach • Focuses on answering “what” questions • Goals are operationalized into tasks and tasks are elaborated in (mapped to) UCM scenarios • Focus on answering “how” questions • Enables completeness and consistency analysis • User-defined links for requirements management • Any GRL element can be linked to any UCM element URN: Application and Research Areas
URN-GRL Goals, non-functional requirements, alterna-tives, rationales Informal Requirements, Textual Use Cases ? Structural Diagrams SDL, eODL, or UML class, object, component, & deployment diagrams URN-UCM Superimpose visually system level behavior onto structures of abstract components. Can replace UML use case / deployment diagrams. ? MSC, UML Use Case Diagram & Activity Diagram Behavioral Diagrams MSC/SDL, or UML sequence, collabor., & statechart diagrams Testing and Performance LanguagesTTCN, LQN, ... Data Modeling Puzzle — URN UCMs link to operationalizationsand actors in GRL models UCMs represent visually use cases in terms of causal responsibilities UCMs visually associate behavior and structure at the system level UCMs provide a framework for making high level and detailed design decisions URN: Application and Research Areas
Overview of the Presentation • Overview of URN • Goal-oriented Requirements Language (GRL) • Use Case Maps (UCM) • URN Analysis Techniques • GRL Strategies • UCM Scenarios • Application and Research Areas • Transformations to Message Sequence Charts and test goals • Architectural Evaluations • Performance engineering • Business process modelling and management • Requirements management and policy compliance • Pattern formalization • Reverse engineering • Aspect-oriented requirements engineering URN: Application and Research Areas
Several Known URN Application Domains • Telecommunication/telephony services • Wireless systems • Object-oriented software • Multi-agent systems • Web applications and Web services • Railway control systems • Embedded systems • User interfaces • Access control procedures • Network protocols • e-Business applications • Supply chain management • e-Health applications • Software product lines • Operating systems • Information retrieval systems • Vehicle communication systems • … URN: Application and Research Areas
jUCMNav supports • Scenario definition (with data types, pre/post conditions, start/end points, and scenario inclusion) • Problems View • Scenario highlight URN: Application and Research Areas
jUCMNav Scenario Export • Groups of scenarios can be run together • Scenarios can be exported to: • UCM model where all scenarios are linearized • Stubs flattened and choices resolved (but documented with special waiting places) • UCM model where all scenarios are linearized and well-formed • From graph to “tree” (especially for AND-joins) • Some concurrency may be lost along the way • MSC model with one diagram per scenario • Can be visualized with embedded MSC viewer URN: Application and Research Areas
jUCMNav supports • MSC viewer • Reordering of instances • MSC export to images URN: Application and Research Areas
UCM-Based Testing • Based on UCM Testing Patterns • Grey-box test selection strategies, applied to requirements scenarios • Manual • Based on UCM Scenario Definitions • UCM + simple data model, definitions, and path traversal algorithms • Semi-automated • Based on UCM Transformations • Exhaustive traversal • Mapping to formal language (e.g., LOTOS, ASM) • Automated URN: Application and Research Areas
Comparison URN: Application and Research Areas
Towards Test Case Generation • Communication and calls • Messages, parameters, interfaces, protocols... • Data • Must endure that the scenario is feasible • Temporal information • UCM timers currently have no quantitative time • Implementation, sequencing, execution, clean-up • Many other challenges! • There are however some partial results available… • Use of UCMNav, scenario definitions, and Fitnesse to generate executable test cases for a typical Web application. URN: Application and Research Areas
Test Generation for Web Applications • [Amyot, Roy and Weiss, 2005] URN: Application and Research Areas
Overview of the Presentation • Overview of URN • Goal-oriented Requirements Language (GRL) • Use Case Maps (UCM) • URN Analysis Techniques • GRL Strategies • UCM Scenarios • Application and Research Areas • Transformations to Message Sequence Charts and test goals • Architectural Evaluations • Performance engineering • Business process modelling and management • Requirements management and policy compliance • Pattern formalization • Reverse engineering • Aspect-oriented requirements engineering URN: Application and Research Areas
(a) Service in MobSC (b) Service in MobSC, SDF in SN (c) Service and SDF in SCP Three Alternative Architectures URN: Application and Research Areas
Two Resulting MSCs Service in MobSC (option a) Service and SDF in SCP (option c) URN: Application and Research Areas
Quantitative Performance Engineering with UCMs • Resource Characteristics • Passive/active,external operations • Disks, processors, … • Operation time • Multiplicity • Workload • Characteristics • Poisson, periodic… • Population size • Open/closed TaxPayer Security E_Accountant CheckBio Continue Ready Access Rejected • Components • Allocated responsibilities • Resource assignment • Responsibilities • Host demand • External op. demands • Multiplicity • OR Forks andDynamic Stubs • Probability Automated translation to Core Scenario Model (CSM) for analytical evaluations and simulations. URN: Application and Research Areas
Resource Management URN: Application and Research Areas
Demand and Workload Management URN: Application and Research Areas
From UCM to Core Scenario Model (CSM) • Export CSM (XML) from URN model • Translation of CSM file to LQN, QN, stochastic Petri Nets… URN: Application and Research Areas
Typical Performance Analysis Results… • Ex: Via conversion to Layered Queueing Networks • General statistics: elapsed time, system time… • Measured quantities: service demands, number of blocking and non-blocking calls, call delays, synchronization delays. • Service times: for every entry and activity, with confidence intervals and variances (where relevant) • Throughputs and utilizations for every entry and activity, with confidence intervals • Utilizations and waiting times for devices (by entry) URN: Application and Research Areas
Overview of the Presentation • Overview of URN • Goal-oriented Requirements Language (GRL) • Use Case Maps (UCM) • URN Analysis Techniques • GRL Strategies • UCM Scenarios • Application and Research Areas • Transformations to Message Sequence Charts and test goals • Architectural Evaluations • Performance engineering • Business process modelling and management • Requirements management and policy compliance • Pattern formalization • Reverse engineering • Aspect-oriented requirements engineering URN: Application and Research Areas
BPM and the W5 Questions • UCM models describe: • what the activities related to a business goal are (responsibilities and scenarios) • who is involved in these activities (actors and components) • where they are performed (allocation to components) • when they should be performed (via common workflow constructs for expressing sequence, choice, concurrency, synchronization). • GRL models describe: • why activities, participants and processes are structured the way they are (goal graphs and URN links) URN: Application and Research Areas
Simple Supply Chain Management BPM Agent: actor Team: role theactor plays URN: Application and Research Areas
Retailer Retailer Warehouse Warehouse Manufacturer Manufacturer Consumer Consumer InventoryManagement:W InventoryManagement OrderProcessing OrderProcessing:R Production Production:M Warehouse:M Warehouse:M a) CURRENT: Sell to stock via warehouse and retailer (R) Consumer Consumer Warehouse Warehouse Manufacturer InventoryManagement:W InventoryManagement:W Production:M Warehouse:M Warehouse:M OrderProcessing:W Alternative Process Architectures (1/2) b) Sell to stock via warehouse (W) URN: Application and Research Areas
Consumer Consumer Manufacturer Warehouse Warehouse OrderProcessing:M InventoryManagement:W InventoryManagement:W Production:M Warehouse:M c) Sell direct to consumer with external warehouse (MW) Alternative Process Architectures (2/2) Manufacturer Consumer OrderProcessing:M OrderProcessing:M InventoryManagement:M InventoryManagement:M Warehouse:M Warehouse:M Production:M Production:M d) Sell direct to consumer with internal warehouse (M) URN: Application and Research Areas