SEG3101 (Fall 2009) User Requirements Notation (Part II) Gunter
94 Slides4.10 MB
SEG3101 (Fall 2009) User Requirements Notation (Part II) Gunter Mussbacher, University of Ottawa Based on material from: Mussbacher and Amyot 2009
Table of Contents Use Case Maps (UCM) UCM Basics Transformations Use Cases, UCM, and GRL Requirements Management Scenario Traversal, Message Sequence Charts Performance Analysis, Testing Business Process Modeling, Aspect-oriented Modeling, Reverse Engineering Tool Metamodel URN Summary 2 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
3 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Use Case Maps (UCM)
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Use Case Maps Overview 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 behavior Conflict detection Transformations Performance analysis 5 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Use Case Maps Notation – Basic UCM Example: Commuting home transport secure home ready to leave home X Path commute X Responsibility elevator take elevator X at class room Component (from start point to end point) 6 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Use Case Maps Notation – Hierarchy UCM Example: Commuting home ready to leave home transport secure secure home home commute commute X X elevator take take elevator elevator X at class room stay home Dynamic Stub Static Stub (selection policy) 7 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Use Case Maps Notation – Simple Plug-in UCM Example: Commute - Car (Plug-in) transport drive drive car driven X 8 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Use Case Maps Notation – Parallel / Alternatives UCM Example: Commute - Bus (Plug-in) person read Dilbert transport take bus X take 95 take 182 X X take 97 bus taken X AND Fork OR Fork OR Join AND Join 9 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Use Case Maps Notation – Waiting Place / Timer UCM Example: Take Elevator (Plug-in) elevator call elevator select floor X X take elevator elevator arrived take stairs elevator arrived Timer Waiting Place at floor X Timeout Path 10 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary UCM Notation – Simple Plug-in with Stub UCM Example: Secure Home (Plug-in) home alarm leave in stay home lock door out1 out2 use alternative alarm system X X left home 11 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Use Case Maps Notation – Plug-ins at 2nd Level UCM Example: Alarm - Installed (Plug-in) home not alarmed [quit] alarm alarm system accept code X Direction check code X alarmed [matched] [not matched] UCM Example: Alarm – Not Installed (Plug-in) home start end 12 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Use Case Maps – Scenario Execution (1) Scenarios start at start point “take bus”, end at end point “bus taken” 1st Scenario Definition: Bus95 false; UCM Example: Commute - Bus (Plug-in) person 2nd Scenario Definition: Bus95 true; read Dilbert X transport take bus take 95 take 182 X X take 97 bus taken X Branch Conditions: Bus95 !Bus95 13 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Use Case Maps – Scenario Execution (2) 3rd Scenario Definition: starts at start point “leave”, ends at end point “left home” 3rd Scenario Definition: Installed true; LeaveAnyway false; StayHome false; UseAlternativeAlarm false; Plug-in «Alarm – Installed»: Installed Plug-in «Alarm – Not Installed»: !Installed Selection Policy: UCM Example: Secure Home (Plug-in) home alarm leave in stay home 4th Scenario Definition: Installed true; LeaveAnyway false; StayHome true; UseAlternativeAlarm false; lock door out1 out2 use alternative alarm system X Branch Conditions: X left home LeaveAnyway UseAlternativeAlarm StayHome 4th Scenario Definition: starts at start point “leave”, ends at end point “stay at home” 14 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Use Case Maps – Scenario Execution (3) 3rd Scenario Definition: Matched true; Quit false; 4th Scenario Definition: Matched true; Quit true; UCM Example: Alarm - Installed (Plug-in) home not alarmed !Matched alarm system [quit] alarm Branch Conditions: Matched accept code X Branch Conditions: check code alarmed [matched] X Quit !Quit [not matched] UCM Example: Alarm – Not Installed (Plug-in) home start end 15 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Use Case Maps Notation – Summary UCM Example: Tiny Telephone System Start Point Dynamic Stub Component Responsibility AND (fork) Condition Telephone Switch Telephone Switch Originating req IN1 OUT1 vrfy upd [idle] [busy] OUT2 pb ring prb sig OR (join) a) Basic Call map s1 waiting place timer chk [allowed] pd e2 e1 [denied] End Point b) OCS plug-in map Path AND (join) OR (fork) parent: Default s1 e1 c) default plug-in map Static Stub (at most one plug-in map) 16 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary UCM Notation – Component Plug-in Bindings Establishes relationship of component on parent map with component on plug-in map (in addition to bindings of stub’s in/out-paths with start/end points on a plug-in map) RE C EN T C1 a) not bound parent: Name C2 b) refinement parent: Name c) role C2 d) service Option c: the parent component plays a role e.g. in an architectural or behavioral pattern 17 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Use Case Maps Notation – Advanced Stubs RE C UCM Examples: Advanced Types of Stubs doHousework relax S Plug-in Maps: doLaundry cook getMovie S watchMovie [n] S [1] Plug-in Maps: askFriendForMovie Synchronizing Stub with synchronization threshold collectApplicationPapers S X B Plug-in Maps: [2] send Application Plug-in Map: (three times) doLaundry getRecommendation Letter cook requestMovieAtLibrary buyGroceries S doHousework relax EN T buyGroceries S X B [n] Blocking Stub with replication indicator 18 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Use Case Maps Notation – Singleton Maps Case 1: Map G is a singleton and therefore the stubs RE C EN T on Map A, B, and C use the same instance of Map G Case 2: Map I is not a singleton and therefore the stubs on Map G and Map H use different instances of Map I Case 3: A groups of stubs may want to use the same instance of a plug-in map but a different instance than other stubs. Achieved with an intermediate layer (e.g., the stubs on Map B Map E Map A, B, and C use the same Map A Map C Map D Map F instance of Map I, but the stubs on Map singleton Map G Map H singleton D, E, and F use a different uses 1 instance uses 2 instance instance Map I of Map I) R st nd 19 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Use Case Maps – Semantics (1) RE C OR-fork: exclusive OR AND-fork: always all paths Protected component: only one active path at a time Dynamic and synchronizing stubs: Map A o1 i1 i1 i2 i2 R2 o1 i1 i2 [2] Map P1 [C1] i1 R1 o1 Map P3 [C3] Map P2 [C2] i2 R3 i2 o1 R2 [C1] i1 S i2 R1 Map P2 [C2] i1 Map P1 [C1] Map A o1 o1 EN T o1 i1 Map P3 [C1 C2] R3 i2 o1 [C1] i1 R1 [C3] [C3] R3 [C2] R2 o1 i2 R1 [C1 C2] [C1 C2] R3 [C2] R2 o1 [2] 20 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Use Case Maps – Semantics (2) RE C Waiting place and timer Transient a trigger is counted only if a scenario is already waiting EN T Persistent all triggers are counted (i.e., remembered) Waiting place Scenario is allowed to continue if CW true or the trigger counter 0 Warning is issued if CW false and the trigger counter 0 Timer: Scenario is allowed to continue along Regular path if CT true Regular path if CT false and CTO false and trigger counter 0 Timeout path if CT false and CTO true Timeout path if CT false and CTO false and trigger counter 0 [CW] [CTO] [CTO] [CT] [CT] [CW] 21 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Use Case Maps Summary Model scenario concepts – mainly for operational and functional requirements Use Case Maps (UCMs) provide Visual description of behavior superimposed over entities (from software architecture to actors to hardware) Easy graphical manipulation of use cases/scenarios Fairly simple, intuitive, low learning curve Enhanced consistency and completeness Single use case/scenario view Combined system view – use case maps integrate many scenarios Enables reasoning about potential undesirable interactions of scenarios Convey a lot of information in a compact form Effective learning tool for people unfamiliar with the domain Document while you design 22 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Where is the System Boundary? MySystem2 MySystem1 NA CS NA CS Human IC IC S S PBA CB PBA Same scenarios! May assign responsibilities to system under design or to CB external entities (e.g., human or other systems) May assign start/end points to actors (human or machine) UCM actors ( ) supported in language 23 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Why Use Case Maps? Bridge the 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 architectural reasoning Characterize the behavior at the architecture level once the architecture is decided Provide ability to model dynamic systems where scenarios and structures may change at run-time E-commerce applications, Web services Distributed systems based on agents May be transformed Smooth transition to design models (e.g., MSC/ sequence diagrams) Connections to performance models and testing models 24 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary UCM Transformations Why Different notations are more suitable at different points of the development cycle Reuse scenario information to bridge the gap between phases In the spirit of OMG’s Model Driven Architecture (MDA) vision Platform-independent model Platform-specific model How Use Case UCM UCM MSC and UML sequence diagrams, for design UCM LQN, for performance analysis UCM LOTOS and SDL, for requirements prototyping and validation UCM TTCN-3, for system-level testing UCM UML2, UCM Petri Nets Code UCM (OMG’s Architecture-Driven Modernization) 25 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Extensibility: Metadata URN can be extended with metadata (name/value pairs) Can be attached to any URN model element and exploited by specialized tools Customer Online Video Store secure buy selectMovie payForMovie processOrder sendMovie bought For example, secure indicates that the scenario requires secure communication between the Customer and the Online Video Store The metadata definition (name value) is: Communication secure 26 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary From Use Cases to Use Case Maps Title: Submit Paper 1. Author writes a paper 2. Conference receives submission 3. INCLUDE Review Paper 4. Conference Program Committee informs author of outcome 5. Author forwards response to supervisor Extension Point response reception Title: Review Paper 1. Conference Reviewer receives paper 2. Conference Reviewer reviews the paper 3. Conference Reviewer sends in evaluation 1.a. Conference Reviewer is too busy 1.a.1. Conference Reviewer delegates work 1.a.2. Conference Reviewer confirms review 1.a.3. GOTO 3 Title: Update Publications At Extension Point response reception 1. Author updates publication list 27 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Include Relationship Helps clarify a use case by isolating and encapsulating complex details and by improving consistency Base use case requires included use case for completion Solution: Use static stubs on the path representing a base use case Stubs hide the details contained in their plug-ins (the included use case) The plug-in can be reused in multiple stubs, hence improving consistency among the UCMs 28 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary OCS Call Basic Call Include Relationship – Example Basic Call « include » OCS Call « include » « i nc Originating Originating lude » Terminating Terminating ring req msg OCS req Terminating ring msg 29 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Extend Relationship Shows that part of a use case is: (potentially) optional Executed only under certain conditions Inserted at an extension point in a base use case Not required for the completion of base use case Solution: Use (guarded) OR-forks or dynamic stubs on a base use case Extension points are visual For dynamic stubs, there is a default plug-in that represents the original base case 30 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Extend Relationship – Example « extend » Basic Call « ex t Busy Treatment en d » Basic Call OCS Feature Originating Selection Strategy upd [idle] req ring [busy] mb msg OCSlist in1 out1 chk [allowed] in1 md out1 [denied] out2 Default plug-in OCS plug-in 31 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Generalization Relationship Used when two or more use cases have commonalties in behavior, structure, and purpose The shared part can then be described in a new parent use case specialized by child use cases Solution: Use OR-joins and OR-forks, or multiple dynamic stubs Parent use case contains dynamic stubs for diverging behavior Child use case is parent plug-ins 32 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Generalization Relationship – Example Phone Session Basic Call OCS Call UserO AgentO AgentT UserT Phone Session Originating ring req msg OCSlist chk [allowed] in1 in1 out1 md out1 [denied] out2 Basic Call Phone Session Originating plug-in OCS Call Phone Session OCS plug-in 33 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Use Cases and GRL? Use cases are often weak at capturing non-functional aspects Misuse cases focus on some NF aspects, especially security and safety The threatens, mitigates, aggravates relations could be mapped to GRL contributions Mis-use cases are more specific and specialized than GRL for this domain Support trade-off analysis and rationale documentation, like GRL They also allow to find new mitigation scenarios They often become functions of sub-systems 34 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Integrating GRL and UCM Traceability between: Goals/tasks and UCMs (or UCM scenario definitions) Tasks and UCM responsibilities (different granularity) Requirements management Others Enables completeness and consistency analysis Underspecification and overspecification Discovery of new goals and scenarios, removal of unnecessary goals and scenarios Examples: Why is there a UCM scenario without any link to a GRL goal? Why is there a GRL goal without any link to a UCM scenario? Refinements of alternative solutions From GRL (identification) to UCM (evaluation) 35 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary From GRL Models to UCM Models – URN Links URN (Typed) Links establish traceability relationships Connect any pair of URN model elements 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 Actor Intentiona l Element Map Component Responsibility Evaluation of the impact of strategies on the operational and architectural aspects, using URN links User-defined links for requirements management URN link: 36 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Requirements Management Traceability from / to external requirements or other models, impact analysis, etc. 37 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Use Case Maps – Scenario Execution (1) UCM Example: Tiny Telephone System Telephone Switch Originating IN1 req Branch Conditions Selection Policy: OCS: OCS default: not(OCS) [not vrfy OUT1 (Busy)] [idle] [busy] [Busy] OUT2 Telephone Switch upd pb sig ring prb s1 Scenario Definition “Simple Basic Call” Start point: req OCS false; Busy false; chk pd e2 a) Basic Call map [not [allowed] (OCSdenied)] e1 [denied] [OCSdenied] b) OCS plug-in map Telephone Switch s1 e1 c) default plug-in map End points: ring, sig 38 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Use Case Maps – Scenario Execution (2) UCM Example: Tiny Telephone System Telephone Switch Originating IN1 req Branch Conditions Selection Policy: OCS: OCS default: not(OCS) [not vrfy OUT1 (Busy)] [idle] [busy] [Busy] OUT2 pb Telephone Switch upd ring prb sig s1 Scenario Definition “Busy Call OCS” Start point: req OCS true; OCSdenied false; Busy true; chk pd e2 a) Basic Call map [not [allowed] (OCSdenied)] e1 [denied] [OCSdenied] b) OCS plug-in map Telephone Switch s1 e1 c) default plug-in map End point: sig 39 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Use Case Maps – Traversal Mechanism (1) UCM scenarios describe one path through the UCM model (only one alternative at any choice point is taken) Set of initial values for the variables used in conditions and responsibilities Start points triggered, end points reached Possibly pre/post conditions jUCMNav’s traversal mechanism executes the UCM model given UCM scenario description(s) (i.e. highlights the scenario(s)) Intuitive interpretation aligned with UCM semantics except for dynamic stubs which are deemed to contain an XOR for the selection of a single plug-in map Extraction of individual scenarios 40 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Use Case Maps – Traversal Mechanism (2) Two options Deterministic (only one alternative at any choice point can be enabled) Non-deterministic (randomly choose an alternative from all enabled ones) Boolean, Integer, and Enumeration variables are evaluated and can be changed by responsibilities during the traversal of the UCM model Variables are used in expressions for any alternative of a choice point Conditions attached to selection points Groups of scenarios can be run together Useful for regression testing 41 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Scenario Export – UCM Model 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 42 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Scenario Export – MSC Scenarios can be exported to: MSC model with one diagram per scenario Can be visualized with embedded MSC viewer jUCMNav supports -MSC viewer -Reordering of instances -MSC export to images 43 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Key Points - Scenario Definitions Improves understanding of (lengthy) scenarios Validation and regression testing Path data model is not a problem domain data model Scenario definitions are the foundation for more advanced functionality based on UCM path traversal mechanisms (highlight, transformations) Much value in a tool-supported translation 44 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary UCM Example I – Context - New service for wireless network - Where to put the service logic? - Where to put the service data? 45 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary UCM Example I – Path Nodes a) Authenticated wireless connection use case: Top-level map Path with Start Point with [CO1] Precondition CS and End [CO2] [CS] [CE] Point with Postcondition CE [CO3] Responsibility Or-Fork with Empty Point Or-Join Conditions Direction Arrow Waiting Place with Condition [CW] and Asynchronous Trigger And-Fork [CTO] Timer with Timeout Path, Conditions, and Synchronous Release IN1 OUT1 Dynamic Stub with In-Path ID and Out-Path ID [CT] And-Join 46 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary UCM Example I – Components a) Authenticated wireless connection use case: Top-level map Components: Protected Component Team Process Object parent: Context-dependent Component Agent Actor 47 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary UCM Example I – Stubs and Plug-ins a) Authenticated wireless connection use case: Top-level map IN1 OUT1 Static Stub IN1 OUT1 Dynamic Stub IN1 S b) Service in MSC, data in external service node: SvcInMSC DataInSN map OUT1 [ST] Synchronizing Stub IN1 SXB OUT1 [ST] Blocking Stub c) Service and data in MSC: SvcInMSC map 48 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary UCM Example I – Scenarios Exported to UCM Model ServiceInMSC OK: StartConnection, authorization variable is true ([Ok]), SvcInMSC plug-in selected ServiceInMSC DataInSN NotOK: StartConnection, authorization variable is false ([NotOk]), SvcInMSC DataInSN plug-in selected 49 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary UCM Example I – Scenario Refinement with MSCs (1) 50 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary UCM Example I – Scenario Refinement with MSCs (2) 51 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary UCM Example II – Context GRL model that addresses privacy protection in a hospital environment Researchers want access to patient data but the Health Information Custodian (HIC – i.e., the hospital) needs to protect patient privacy, as required by law (PHIPA in Ontario). The process of accessing databases must ensure privacy. As required by law, a Research Ethics Board (REB) is usually involved in assessing privacy risks for the research protocol proposed by a researcher. DB administrators also want to ensure that DB users are accountable for their acts. 5252 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary UCM Example II –Path Nodes [CS] [CE] Path with Start Point with Precondition CS and End Point with Postcondition CE [CO1] [CO2] [CW] Waiting Place with Condition and Asynchronous Trigger [CO3] Responsibility Or-Fork with Conditions Or-Join [CTO] Empty Point [CT] Timer with Timeout Path, Conditions, and Synchronous Release Direction Arrow And-Fork And-Join 53 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary UCM Example II – Components Components: Protected Component Team Process Object parent: Context-dependent Component Agent Actor 54 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary UCM Example II – Stubs and Plug-ins IN1 OUT1 Static Stub IN1 IN1 OUT1 Dynamic Stub S OUT1 [ST] Synchronizing Stub with Synchronization Threshold IN1 S X B OUT1 [ST] Blocking Stub with Synchronization Threshold & Replication Indicator 55 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary UCM Example II – Visualization of Scenario as UCM Start Points RequestData Ready Variables CheckAccountability TrustUser; ReviewResult OK, Traversed scenario can be visualized as a UCM 56 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary UCM Example II – Visualization of Scenario as MSC 57 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary UCM Example III – Telephony Features 58 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary UCM Example III – Scenario Definitions 59 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary UCM Example III – Sample MSC 60 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Performance Analysis Recall URN Example I Which of the three wireless IN alternative architectures is the best for this scenario? Service and Data in MsgSwitchingCenter Service in MsgSwitchingCenter, Data in ServiceNode Service and Data in ServiceControlPoint Different complementary approaches Qualitative analysis with GRL strategies Transformations to MSCs for impact on messaging UCM performance annotations and transformation to CSM for quantitative analysis 61 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Performance Annotations for UCMs Workload Characteristics Poisson, periodic Population size Open/closed Resource Characteristics Passive/active, external operations Disks, processors, Operation time Multiplicity TaxPayer Access Security E Accountant CheckBio Continue Ready Rejected Components Allocated responsibilities Resource assignment OR Forks and Dynamic Stubs Probability Responsibilities Host demand External op. demands Multiplicity Automated translation to Core Scenario Model (CSM) for analytical evaluations and simulations 62 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Resource Management 63 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Demand and Workload Management 64 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary From UCM to Core Scenario Model (CSM) Export CSM (XML) from URN model Translation of CSM file to LQN, QN, stochastic Petri Nets 65 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary LQN Generation from UCMs (1) Layered Queueing Networks Capture the workload within activities (operations connected in sequence or in parallel) which belong to an entry of a task (e.g. method of an operating system process) running on a host device (usually a processor) Solving LQN models Analytic solver (LQNS) or simulator (LQSim) Both developed at Carleton University Solver is faster but more limited than simulator 66 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary LQN Generation from UCMs (2) Useful for various types of analyses Sensitivity (importance or impact of parameters) Scalability (what if there are more users/requests?) Concurrency (what if there are more/fewer threads?) Deployment and configuration (different hardware allocation) Quantitative evaluation of architecture! Source: D.B. Petriu et al., 2003 67 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Typical Performance Analysis Results 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) 68 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary 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, initial values and start points, and path traversal algorithms Semi-automatic Based on UCM Transformations Exhaustive traversal Mapping to formal language (e.g., LOTOS, ASM) Automated 69 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Comparison Testing Patterns Scenario Definitions Automatic Transformations Automation Unfeasible scenarios Communication Exhaustiveness Coverage Scalability Model Evolution Usability Transformations Maturity Tool Support 70 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Towards Test Case Generation Communication and calls Messages, parameters, interfaces, protocols. Data Must ensure 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 jUCMNav, scenario definitions, and Fitnesse to generate executable test cases for a typical Web application 71 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Test Generation for Web Applications Config. File XML Files (scenarios) UCM2FIT Fixtures Test Pages FitNesse UCM File ( scen. defs) UCMNAV User-selected values Web Application (widget.com) Test Results Source: Amyot, Roy, and Weiss, 2005 72 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary URN for Business Process Modeling? In a BPM tool we need to answer the W5 questions URN can answer Where, What, Who, When, and Why Use Case Maps (UCM) Responsibilities (What) Components (Who and Where) Scenarios and causal relationships (When) Goal-oriented Requirement Language (GRL) Tasks (What) Actors (Who and Where) Business or system goals and rationales (Why) GRL & UCM Link processes to business goals 73 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Business Process Analysis and Monitoring How can we model and monitor business processes and determine how well they meet their business goals and performance requirements? Can monitoring information be used to better align business processes and goals? Business Goals GRL ? KPI Model UCM Business Processes KPI Key Performance Indicator 74 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
GRL Editor with Key Performance Indicators 75 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Three Connected Views in a URN Model with KPI Hospital In Reject privacyOfficer: Hospital CPOReview submitToREB REB Committee REB Approval DW Administrator: HIC SubmitREBApproval technicalReview Approved Process Model Performance Model Goal Model 76 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
GRL Views and KPIs KPI Details Process View Models Goal View Performance View KPI Groups 77 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Integration with BI Tools (Cognos 8) 78 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Support for Aspect-oriented Modeling in URN Aspects address the problem of one concern crosscutting other concerns in a system or model Aspects can encapsulate concerns even if they are crosscutting Without Aspects Concern A Concern B Concern C Can’t escape the “tyranny of the dominant decomposition” [1] Tangling Abstraction With Aspects Concern A Aspect1 Aspectual Properties Concern B Aspect2 Modular Reasoning Scattering Concern C 3 Crosscutting Concerns (Aspect1, Aspect2, Aspect3) Compositional Reasoning Aspect3 (each aspect contains a composition rule illustrated by the arrows that defines where to add the aspect) [1] Tarr, P., Ossher, H., Harrison, W., and Sutton, S.M.: N degrees of separation: Multidimensional separation of concerns. ICSE 99 79 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Crosscutting Concerns Affect Modularization Good modularization [XML parsing in org.apache.tomcat] Bad modularization [logging in org.apache.tomcat] 80 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Aspects-oriented Modeling – Dependencies Aspects make it possible to align technical dependencies with logical dependencies to a greater extent than before Account withdraw() { log() } Logger log() { } Account is dependent on Logger due to technical reasons only. Logically, an account is completely independent from a Logger. On the contrary, the Logger is logically dependent on what needs to be logged (i.e. the Account). Account withdraw() { } Logging Aspect after withdraw() pointcut { log() } join point Technical dependency is now aligned with logical dependency. log() { } advice 81 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Generating Models from Code? Execution traces can help us understand functionalities and other dynamic aspects in an existing program But they are usually huge and impossible to understand Sometimes millions of events! Need abstraction and visualisation UCMs provide and abstract view of scenarios Code Instrument and execute Execution traces Filter out “utilities” Abstraction UCM model generation UCM model Validation OK? [no] [yes] Source: A. Hamou-Lhadj et al., 2005 82 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Correspondence of UCM Elements (Example) Trace element UCM element Symbol Package Component (Agent), shown as a rectangle with thick border. Class Component (Team), shown as a rectangle with narrow border. Object Component (Object), shown as a rounded-corner rectangle. Thread Component (Process), shown as a parallelogram. Beginning / End of Start point (circle) / End point (bar) (also used as connectors for linking sub-scenarios to the trace parent stub) Instruction Responsibility (shown as a X on a path) Block of 3 or more Stub (diamond) with the name of the first instruction that is not a constructor. This stub instructions in the contains a plug-in (another sub-map) showing the sub-sequence with one responsibility per same class/object instruction. Repeated instruction Responsibility with repetition count (number between curly brackets) {2} Repeated sequence Loop (with loop count between curly brackets) {2} Condition Condition (between square brackets) [cond] {2} 83 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary jUCMNav (Eclipse Plug-in) Features for UCM Scenario definitions Traversal mechanism with color highlight and problems view Many diagrams per model Definitions and references of components and responsibilities Drag&drop from outline or via properties Perspective Auto-layout Export graphics (.bmp, .gif, .jpg) Export to Message Sequence Charts (MSC) URN links (for integration with GRL) Graphical Outline Problems view Export to DOORS 84 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary jUCMNav – Stub Plug-in Bindings 85 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
OrJoin enumeration WaitKind Transient Persistent Connect EmptyPoint OrFork 0.* nodes AndJoin PathNode AndFork enumeration ComponentKind Team Object Process Agent Actor 1 source 1 target RespRef repetitionCount : String hostDemand : String WaitingPlace waitType : WaitKind in InBinding Stub dynamic : Boolean false synchronizing : Boolean false blocking : Boolean false 0.* stub 1 UCM Abstract Metamodel nodes 0.* inBindings 0.* 0.* inBindings 1.* respRefs Timer 0.1 timer 1 startPoint StartPoint 0.1 0.* bindings startPoint binding 1 timeoutPath 0.1 1 stubEntry 1 0.* succ 0.* 0.1 precondition pred 0.1 PluginBinding 0.1 NodeConnection pluginBinding Condition condition id : String probability : Nat 100 probability : Nat 100 nodeConnection precondition expression : String 0.1 threshold : String 0.1 replicationFactor : String 0.1 postcondition 0.* 1 1 1 connections stubExit binding binding 0.1 respDef Responsibility expression : String 0.* responsibilities UCMmodelElement endPoint EndPoint 0.* parentStub 1 endPoint diagram 1 0.* outBindings 0.* OutBinding 0.* out outBindings diagram 1 UCMmap ucmMaps singleton : Boolean true 0.* 1 1 plugin ucmspec 1 1 ucmspec UCMspec 1 ucmspec diagram 1 ucmspec componentTypes 0.* components 0.* pluginBindings 0.* ComponentBinding parentBindings 0.* contRefs 0.* type ComponentType 0.1 0.* Component instances compDef kind : ComponentKind 0.* compRefs 1 protected : Boolean false 0.* components context : Boolean false parent 0.* includingComponents children 0.1 0.* includedComponents 0.* pluginComponent 1 ComponentRef 1 parentComponent 0.1 contRef 86 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary UCM Scenarios Abstract Metamodel 1 ucmspec UCMspec ucmspec Condition expression : String UCMmodelElement 1 1 ucmspec 0.* 1 ucmspec postconditions 0.* enumerationTypes EnumerationType values : String enumerationType 0.1 scenarioDefPre scenarioDefPost 0.1 0.1 includedScenarios scenarioDefs 0.* {ordered} 0.* ScenarioDef groups 0.* ScenarioGroup 1.* scenarioGroups 0.* instances 0.* Variable variables type : DatatypeKind Boolean variable 1 0.* preconditions enumeration DatatypeKind Boolean Integer Enumeration scenarios 0.* 0.* parentScenarios 0.* 0.* 1 scenarioDefs scenarioDef scenarioDefs initializations endPoints 0.* {ordered} 0.* startPoints Initialization EndPoint 0.* value : String StartPoint initializations 0.* 87 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary UCM Performance Abstract Metamodel ucmspec 1 UCMspec 1 ucmspec resources 0.* GeneralResource 1 RespRef repetitionCount : String hostDemand : String ucmspec multiplicity : Nat 1 schedPolicy : String ActiveResource opTime : String unit : TimeUnit ms PassiveResource resource 0.1 respRefs 1.* ProcessingResource kind : DeviceKind Processor 0.1 host responsibilities 1 respDef 0.* Responsibility expression : String ExternalOperation responsibility 1 resource 1 StartPoint component 0.1 0.* components 0.* Component components demands 0.* Demand quantity : String startPoint 1 0.* demands workload 0.1 Workload unit : TimeUnit ms UCMmodelElement enumeration TimeUnit year day h s ms us ns enumeration DeviceKind Processor Disk DSP OpenWorkload OWPoisson mean : String OWPeriodic period : String deviation : String OWUniform start : String end : String ClosedWorkload population : String externalDelay : String OWPhaseType alpha : String s : String 88 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary 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 Business process management Software product lines Operating systems Information retrieval systems Vehicle communication systems 89 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Typical Usage of URN Modeling 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 Generation of individual scenarios Training, documentation Detection of conflicts Transformation to MSC and test cases Reverse-engineering Abstract dynamic view of existing system Architecture analysis Based on NFRs and design constraints Performance analysis 90 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Key Points – URN Puzzle Goal-based and scenario- based notations complement each other URN fills a void in UML and ITU-T languages UCMs offer more capabilities than UML 1.X use case diagrams and activity diagrams UCMs offer features different from UML 2.x diagrams URN fits well into goal / scenario-based software develpmnt methodologies GRL provides the decision making framework for software engineering activities URN supports early activities in SW develpmnt, bringing together stakeholders with expertise in many different areas UCMs provide a good basis for design-time feature interaction detection and for model construction UCMs and GRL can be used iteratively and independently 91 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Basics Transformations UC GRL RM Traversal Performance Testing BPM AOM Reverse E. Tool MM URN Summary Conclusions URN Allows engineers to specify or discover requirements for a proposed or an evolving system, and review such requirements for correctness and completeness. Is usable in industry and in standardization bodies Combines goals & scenarios Helps bridging the gap between informal and formal concepts, and between requirements models and design models Big benefits for little modeling 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 92 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Appendix: Notation Overview – UCM (Behavior) [CS] [CE] [CW] [CT] Path with Start Point with Precondition CS and End Point with Postcondition CE [CO1] Or-Fork with Conditions Empty Point Direction Arrow Waiting Place with Condition and Asynchronous Trigger IN1 OUT1 IN1 OUT1 Or-Join And-Fork Timer with Timeout Path, Conditions, and Synchronous Release Static Stub with In-Path ID and Out-Path ID Dynamic Stub with In-Path ID and Out-Path ID [CO3] Responsibility [CTO] [CO2] IN1 IN1 S S X B And-Join Synchronizing Stub with In-Path ID, Out-Path ID, and Synchronization Threshold Blocking Stub with InPath ID, Out-Path ID, Synchronization Threshold, and Replication Indicator OUT1 [ST] OUT1 [ST] 93 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher
Appendix: Notation Overview – UCM (Structure) Components: Team Process Agent Object Actor Protected Component parent: Context-dependent Component 94 SEG3101 (Fall 2009). User Requirements Notation (Part II). 2009 Gunter Mussbacher