Presentation is loading. Please wait.

Presentation is loading. Please wait.

«URN » D. Amyot uOttawa URN: Application and Research Areas1 User Requirements Notation (URN) Application and Research Areas Daniel Amyot SITE, University.

Similar presentations


Presentation on theme: "«URN » D. Amyot uOttawa URN: Application and Research Areas1 User Requirements Notation (URN) Application and Research Areas Daniel Amyot SITE, University."— Presentation transcript:

1 «URN » D. Amyot uOttawa URN: Application and Research Areas1 User Requirements Notation (URN) Application and Research Areas Daniel Amyot SITE, University of Ottawa UofT, August 23, 2007

2 «URN » D. Amyot uOttawa URN: Application and Research Areas2 MSC, UML Use Case Diagram & Activity Diagram Informal Requirements, Textual Use Cases Structural Diagrams SDL, eODL, or UML class, object, component, & deployment diagrams Testing and Performance Languages TTCN, LQN,... Behavioral Diagrams MSC/SDL, or UML sequence, collabor., & statechart diagrams Data Modeling Puzzle – Common View Can we do better to bridge this gap?

3 «URN » D. Amyot uOttawa URN: Application and Research Areas3 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

4 «URN » D. Amyot uOttawa URN: Application and Research Areas4 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

5 «URN » D. Amyot uOttawa URN: Application and Research Areas5 URN Proposal Combined use of two complementary notations: Goal-oriented Requirement Language (GRL) — for goals and non-functional requirements — Use Case Maps (UCM) — for operational requirements and architectures — —

6 «URN » D. Amyot uOttawa URN: Application and Research Areas6 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

7 «URN » D. Amyot uOttawa URN: Application and Research Areas7 Basic GRL Notation Correlation (side-effect) Cost of Terminal Belief Biometrics is no regular off-the-shelf technology ? BreakHurtSome- Unknown MakeHelpSome+Equal PasswordCardkey Biometrics OR Goal IdentificationAuthentication AND.. Task Make Access Authorization Encryption Contribution Decomposition Security of Host Security of Terminal AND Softgoal System Security

8 «URN » D. Amyot uOttawa URN: Application and Research Areas8 Basic GRL Notation Goal Quantifiable (often functional) Softgoal Qualifiable but not measurable (often non-functional) Task Solution which achieves goals (means-end) or satisfice softgoals (contribution, correlation) Belief Captures rationale And/Or Link Contribution & correlation links may be typed AND or OR

9 «URN » D. Amyot uOttawa URN: Application and Research Areas9 Basic GRL Notation Break Hurt Some- Unknown Make Help Some+ Equal Contribution Link for tasks, softgoals, beliefs, and links May be qualified (see symbols  ) — Some+: hesitate between Make (sufficient) and Help (insufficient) — Some-: hesitate between Break (sufficient) and Hurt (insufficient) Correlation Same as contribution but indicates side-effect Means-End Link for tasks achieving goals (always OR) Decomposition Defines what is needed for a task to be performed (refinement, always AND)

10 «URN » D. Amyot uOttawa URN: Application and Research Areas10 Advanced GRL Notation GRL graphs can be allocated to actors Dependencies can be defined between actors, together with intermediate resources.

11 «URN » D. Amyot uOttawa URN: Application and Research Areas11 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…

12 «URN » D. Amyot uOttawa URN: Application and Research Areas12 GRL: Abstract Metamodel (I)

13 «URN » D. Amyot uOttawa URN: Application and Research Areas13 GRL: Abstract Metamodel (II) Links Strategies

14 «URN » D. Amyot uOttawa URN: Application and Research Areas14 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

15 «URN » D. Amyot uOttawa URN: Application and Research Areas15 Component Start Point End Point Responsibility Stub AND-Fork Pool a) Root UCM Slot b) Biometrics Plug-In c) PassWord Plug-in Timer OR-Fork UCM Example OR-Foin Bindings for Authorize: [atNight]  Biometrics {( IN1,Bio), ( OUT1,Yes), ( OUT2,No)} [!atNight]  PassWord {( IN1,PW), ( OUT1,Yes), ( OUT2,No)}

16 «URN » D. Amyot uOttawa URN: Application and Research Areas16 Why Use Case Maps? Help 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 —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

17 «URN » D. Amyot uOttawa URN: Application and Research Areas17 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 (Typed) Links Actor Intentiona l Element Component Map Responsibility

18 «URN » D. Amyot uOttawa URN: Application and Research Areas18 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

19 «URN » D. Amyot uOttawa URN: Application and Research Areas19 Cost of Terminal Biometrics is no regular off-the-shelf technology PasswordCardkey Biometrics OR IdentificationAuthentication AND.. Access Authorization Encryption Security of Host Security of Terminal AND System Security Evaluations with GRL (strategy 1) Satisficed Weakly Satisficed Undecided Weakly Denied Denied

20 «URN » D. Amyot uOttawa URN: Application and Research Areas20 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) Evaluations with GRL

21 «URN » D. Amyot uOttawa URN: Application and Research Areas21 Cost of Terminal Biometrics is no regular off-the-shelf technology PasswordCardkey Biometrics OR IdentificationAuthentication AND.. Access Authorization Encryption Security of Host Security of Terminal AND System Security Satisficed Weakly Satisficed Undecided Weakly Denied Denied Evaluations with GRL (strategy 2)

22 «URN » D. Amyot uOttawa URN: Application and Research Areas22 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

23 «URN » D. Amyot uOttawa URN: Application and Research Areas23 Strategies in jUCMNav A star (*) indicates an initial value part of a given strategy. All the others are evaluated through a propagation algorithm.

24 «URN » D. Amyot uOttawa URN: Application and Research Areas24 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

25 «URN » D. Amyot uOttawa URN: Application and Research Areas25 Numerical Evaluation: Decompositions Minimum for AND, maximum for OR And Decomposition Or Decomposition

26 «URN » D. Amyot uOttawa URN: Application and Research Areas26 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 = Hurt = -0.5 Break = -1 Contributions are additive, but are normalized.

27 «URN » D. Amyot uOttawa URN: Application and Research Areas27 Numerical Evaluation: Dependencies Intentional element evaluation is set to the minimal value in the set of dependees evaluation or it current evaluation

28 «URN » D. Amyot uOttawa URN: Application and Research Areas28 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

29 «URN » D. Amyot uOttawa URN: Application and Research Areas29 Numerical Evaluation: Actor Evaluation Priority = Low Criticality = None Priority = None Criticality = High

30 «URN » D. Amyot uOttawa URN: Application and Research Areas30 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

31 «URN » D. Amyot uOttawa URN: Application and Research Areas31 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

32 «URN » D. Amyot uOttawa URN: Application and Research Areas32 ? ? MSC, UML Use Case Diagram & Activity Diagram Informal Requirements, Textual Use Cases UCMs link to operationalizations and actors in GRL models Structural Diagrams SDL, eODL, or UML class, object, component, & deployment diagrams Testing and Performance Languages TTCN, LQN,... Behavioral Diagrams MSC/SDL, or UML sequence, collabor., & statechart diagrams UCMs represent visually use cases in terms of causal responsibilities UCMs provide a framework for making high level and detailed design decisions UCMs visually associate behavior and structure at the system level URN-UCM Superimpose visually system level behavior onto structures of abstract components. Can replace UML use case / deployment diagrams. URN-GRL Goals, non-functional requirements, alterna- tives, rationales Data Modeling Puzzle — URN

33 «URN » D. Amyot uOttawa URN: Application and Research Areas33 Key Points - URN Puzzle Goal-based (e.g. GRL) and scenario-based (e.g. UCMs) 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 URN fits well into scenario-based software development methodologies GRL provides the decision making framework for software engineering activities URN supports early activities in software development, 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

34 «URN » D. Amyot uOttawa URN: Application and Research Areas34 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

35 «URN » D. Amyot uOttawa URN: Application and Research Areas35 Several Known URN Application Domains Telecommunication/telep hony 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 …

36 «URN » D. Amyot uOttawa URN: Application and Research Areas36 jUCMNav supports -Scenario definition (with data types, pre/post conditions, start/end points, and scenario inclusion) -Problems View -Scenario highlight

37 «URN » D. Amyot uOttawa URN: Application and Research Areas37 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

38 «URN » D. Amyot uOttawa URN: Application and Research Areas38 jUCMNav supports -MSC viewer -Reordering of instances -MSC export to images

39 «URN » D. Amyot uOttawa URN: Application and Research Areas39 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

40 «URN » D. Amyot uOttawa URN: Application and Research Areas40 Comparison

41 «URN » D. Amyot uOttawa URN: Application and Research Areas41 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.

42 «URN » D. Amyot uOttawa URN: Application and Research Areas42 Test Generation for Web Applications [Amyot, Roy and Weiss, 2005]

43 «URN » D. Amyot uOttawa URN: Application and Research Areas43 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

44 «URN » D. Amyot uOttawa URN: Application and Research Areas44 Minimum MobSC Load Minimum Message Exchange Service in SCP Service in MobSC SDF in SCPSDF in SN Determine SDF Location Impact is vendor-specific High Evolveability High Performance High Throughput Maximum Hardware Utilisation Minimum Changes to Infrastructure Low Cost Less need for new hardware Example GRL Model (Wireless Service)

45 «URN » D. Amyot uOttawa URN: Application and Research Areas45 (c) Service and SDF in SCP Three Alternative Architectures

46 «URN » D. Amyot uOttawa URN: Application and Research Areas46 Two Resulting MSCs Service in MobSC (option a)Service and SDF in SCP (option c)

47 «URN » D. Amyot uOttawa URN: Application and Research Areas47 SecurityE_Accountant Ready Continue CheckBio TaxPayer Access Resource Characteristics Passive/active, external operations Disks, processors, … Operation time Multiplicity Rejected Workload Characteristics Poisson, periodic… Population size Open/closed Responsibilities Host demand External op. demands Multiplicity OR Forks and Dynamic Stubs Probability Components Allocated responsibilities Resource assignment Automated translation to Core Scenario Model (CSM) for analytical evaluations and simulations. Quantitative Performance Engineering with UCMs

48 «URN » D. Amyot uOttawa URN: Application and Research Areas48 Resource Management

49 «URN » D. Amyot uOttawa URN: Application and Research Areas49 Demand and Workload Management

50 «URN » D. Amyot uOttawa URN: Application and Research Areas50 From UCM to Core Scenario Model (CSM) Export CSM (XML) from URN model Translation of CSM file to LQN, QN, stochastic Petri Nets…

51 «URN » D. Amyot uOttawa URN: Application and Research Areas51 LQN Generation from UCMs 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 Useful for various types of analyses: Sensitivity (importance or impact of parameters) Scalability (what if more users/requests?) Concurrency (what if more/fewer threads?) Deployment and configuration (different HW allocation) Quantitative architecture evaluations!

52 «URN » D. Amyot uOttawa URN: Application and Research Areas52 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)

53 «URN » D. Amyot uOttawa URN: Application and Research Areas53 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

54 «URN » D. Amyot uOttawa URN: Application and Research Areas54 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)

55 «URN » D. Amyot uOttawa URN: Application and Research Areas55 Agent: actor Team: role the actor plays Simple Supply Chain Management BPM

56 «URN » D. Amyot uOttawa URN: Application and Research Areas56 Alternative Process Architectures (1/2) Warehouse InventoryManagement Warehouse InventoryManagement:W Retailer OrderProcessing Retailer OrderProcessing:R Manufacturer Production Warehouse:M Manufacturer Production:M Warehouse:M Consumer a) CURRENT: Sell to stock via warehouse and retailer (R) b) Sell to stock via warehouse (W) Consumer Warehouse InventoryManagement:W Warehouse InventoryManagement:W Manufacturer OrderProcessing:W Production:M Warehouse:M

57 «URN » D. Amyot uOttawa URN: Application and Research Areas57 Alternative Process Architectures (2/2) Consumer InventoryManagement:M Warehouse:M OrderProcessing:M Production:M Manufacturer InventoryManagement:M Warehouse:M OrderProcessing:M Production:M d) Sell direct to consumer with internal warehouse (M) Consumer Warehouse InventoryManagement:W Warehouse InventoryManagement:W Manufacturer OrderProcessing:M Production:M c) Sell direct to consumer with external warehouse (MW) Warehouse:M

58 «URN » D. Amyot uOttawa URN: Application and Research Areas58 When to Evolve our Process Architecture? Low Risk

59 «URN » D. Amyot uOttawa URN: Application and Research Areas59 UCM Maps for Business Process (M)

60 «URN » D. Amyot uOttawa URN: Application and Research Areas60 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? ? Key Performance Indicator (KPI) Model

61 «URN » D. Amyot uOttawa URN: Application and Research Areas61 BP Analysis and Monitoring (e.g. with KPI, using Cognos 8)

62 «URN » D. Amyot uOttawa URN: Application and Research Areas62 GRL with KPI Extensions for BAM

63 «URN » D. Amyot uOttawa URN: Application and Research Areas63 KPI: Fed from Outside & Impact on GRL

64 «URN » D. Amyot uOttawa URN: Application and Research Areas64 URN Model Export to DOORS (DXL Library) Enables - Requirements management - Traceability to/from other external requirements or models - Impact analysis, etc.

65 «URN » D. Amyot uOttawa URN: Application and Research Areas65 Internal GRL and UCM links created automatically Manual links between UCM model and higher/lower level requirements Link auto-completion uses some manual links and internal links to infer and generate other links automatically Autolinking URN Models

66 «URN » D. Amyot uOttawa URN: Application and Research Areas66 From Traceability to Compliance: 3 Wishes Framework that can model organizational policies, procedures and legislative documents in the same notation Support for useful links: within views of a model (goals and processes) between two models (organization and legislation) between models and legislation and other documents A way to manage the evolution of any part (legislation, business processes, etc.) in order to assess the global impact and ensure compliance in the new context

67 «URN » D. Amyot uOttawa URN: Application and Research Areas67 Compliance Management Framework Provides a set of links to connect the policy and procedure documents of an organization to legislation documents Other links/models provide little return on investment

68 «URN » D. Amyot uOttawa URN: Application and Research Areas68 Framework Metamodel (DOORS View) Organization Metamodel Law Metamodel

69 «URN » D. Amyot uOttawa URN: Application and Research Areas69 Case Study – PHIPA Compliance at Ontario Hospital GRL Model of PHIPA Satisfy Privacy Regulations Protect Confidentiality PreventUnautho- rizedDisclosure Ask for Compliance Agreement Check Research Plan Check Adequate Safeguards Check Ethical Issues HIC And Ask for REB Approval REB Committee Limit Disclosure of Data Satisfy Privacy Regulations Satisfy Privacy Regulations Protect Confidentiality Protect Confidentiality PreventUnautho- rizedDisclosure PreventUnautho- rizedDisclosure Ask for Compliance Agreement Ask for Compliance Agreement Check Research Plan Check Research Plan Check Adequate Safeguards Check Adequate Safeguards Check Ethical Issues Check Ethical Issues HIC And Ask for REB Approval Ask for REB Approval REB Committee Limit Disclosure of Data Limit Disclosure of Data GRL Model of Hospital Protect Privacy and Confidentiality of Hospital Data Protect Privacy and Confidentiality of Hospital Data Prevent Unauthorized Use and Disclosure Prevent Unauthorized Use and Disclosure Ensure Accountability of Data User Ensure Accountability of Data User Check Ethical Issues Check Ethical Issues Get to An Agreement with Data User Get to An Agreement with Data User Check Request Form Check Request Form Check with Privacy and Confidentiality Legislations Check with Privacy and Confidentiality Legislations Check Users Safeguards Check Users Safeguards DW Administrator REB Privacy Officer Hospital Document HIC Policy Document -All requests for data from data warehouse will be evaluated based on technical feasibility, data availability, resource availability and REB approval for research. -Policy 2… PHIPA Document -HIC: Person or organization who has custody of PHI. -A HIC may disclose PHI to a researcher if he/she, (a) submits: (i) an application, (ii) a research plan, (iii) a copy of REB approval (b) enters into the agreement … source resp traces complies UCM Model of Hospital X X X X V [GiveUp] Reject requestForPHI Accept getToAnAgreement reviewRequest getRejection amendDocuments [NewRequest] Researcher Hospital resp Discrepancies could be detected during modelling…

70 «URN » D. Amyot uOttawa URN: Application and Research Areas70 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

71 «URN » D. Amyot uOttawa URN: Application and Research Areas71 Integrating UCEd and jUCMNav

72 «URN » D. Amyot uOttawa URN: Application and Research Areas72 Integrating UCEd and jUCMNav Title: PaperSubmission 1. Author writes a paper 2. Conference receives submission 3. INCLUDE PaperReview 4. Conference ProgramCommittee informs author of outcome 5. Author forwards response to supervisor ExtensionPoint==> response reception Title: PaperReview 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: PaperReception PART 1. At Extension Point response reception 1. Author updates publication list

73 «URN » D. Amyot uOttawa URN: Application and Research Areas73 URN for Pattern Formalization Many pattern descriptions tend to focus on the solution to a problem, and not so much on how the various (and often conflicting) forces involved are balanced. Use URN to formalize patterns: Enables rigorous trade-off analysis (GRL) Maintains the genericity and abstract nature of the solution description (UCM)

74 «URN » D. Amyot uOttawa URN: Application and Research Areas74 Modelling Forces and Resolutions

75 «URN » D. Amyot uOttawa URN: Application and Research Areas75 Considering Alternative Combinations [Mussbacher, Amyot and Weiss, 2007]

76 «URN » D. Amyot uOttawa URN: Application and Research Areas76 Reverse-Engineering UCM Models from Code Instrument and execute OK? Code Execution traces Filter out “utilities” Abstraction UCM model generation Validation UCM model [no] [yes] 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 [A. Hamou-Lhadj et al., 2005]

77 «URN » D. Amyot uOttawa URN: Application and Research Areas77 Trace elementUCM elementSymbol PackageComponent (Agent), shown as a rectangle with thick border. ClassComponent (Team), shown as a rectangle with narrow border. ObjectComponent (Object), shown as a rounded-corner rectangle. ThreadComponent (Process), shown as a parallelogram. Beginning / End of trace Start point (circle) / End point (bar) (also used as connectors for linking sub-scenarios to the parent stub) InstructionResponsibility (shown as a X on a path) Block of 3 or more instructions in the same class/object Stub (diamond) with the name of the first instruction that is not a constructor. This stub contains a plug-in (another sub-map) showing the sub-sequence with one responsibility per instruction. Repeated instructionResponsibility with repetition count (number between curly brackets) {2} Repeated sequenceLoop (with loop count between curly brackets) {2} ConditionCondition (between square brackets)[cond] {2} …… IN1OUT1 …… …… Correspondence of UCM Elements (Example)

78 «URN » D. Amyot uOttawa URN: Application and Research Areas78 Star t End Example of Trace Viewed as UCM (TConfig)

79 «URN » D. Amyot uOttawa URN: Application and Research Areas79 Background on Aspects: The Problem “Structurally, the units of interest in the requirements domain are fundamentally different from the units of interest in object-oriented software. Requirements units of interest generally are not, and cannot readily be, encapsulated in the software.” [ClBa05] Requirement Unit1 (R1) Requirement Unit2 (R2) Requirement Unit3 (R3) Requirement UnitN (RN) … ClassA R1 elements ClassB R1 elements ClassC R1 elements ClassG R1 elements ClassD ClassF R1 elements R2 elements R3 elements RN elements ClassE “Scattering: design elements to support R1 in many places of the OO design” “Tangling: single OO design unit has elements for many requirements units” Clarke, S. and Baniassad, E.: Aspect-Oriented Analysis and Design: The Theme Approach. Addison-Wesley, 2005, Not limited to only OO

80 «URN » D. Amyot uOttawa URN: Application and Research Areas80 ClassA R1 elements ClassC R1 elements ClassG R1 elements ClassF R1 elements R2 elements R3 elements RN elements ClassB R1 elements R1 Triggered behavior (code) Predicate F.R1 Background on Aspects: The Solution Aspects address the problem of one unit crosscutting other units in the system or model Terminology based on AspectJ: (identifies joinpoints where advice is executed) R1 elements intertype declaration (structural) advice (behavioral) pointcut joinpoint aspect (new unit of encapsulation)

81 «URN » D. Amyot uOttawa URN: Application and Research Areas81 Aspect-oriented URN (AoURN) By Ph.D. student Gunter Mussbacher URN extended to support aspects-oriented modelling Demonstrated that UCM (with their dynamic stubs) can be a more expressive concern composition language for requirements than most AO languages Same language (UCM) used for base models, advices, and pointcuts URN metamodel additions (very few), composition algorithm, and examples are available Extended to support AoGRL Metrics defined to measure effectiveness of AoURN

82 «URN » D. Amyot uOttawa URN: Application and Research Areas82 AoUCM: Advice and Pointcut Maps An aspect is a group of UCMs (some may be advice maps) An advice map visually describes the advice of an aspect An advice map contains one (zero) or more pointcut stubs (other than that it is a standard UCM) A pointcut stub contains one (zero) or more pointcut maps (other than that it is a standard stub) A pointcut map visually describes a pointcut expression (other than that it is a standard UCM) A pointcut map is matched against the base model in order to identify the joinpoints that are affected by the aspect * Pointcut Map Base Model StartPoint EndPoint A B R1 R0 Advice Map start endSuccess [success] Advice.after_success Advice.before Advice.after_fail endFail [fail] C Pointcut P

83 «URN » D. Amyot uOttawa URN: Application and Research Areas83 Composition of AoUCM with Aspect Stubs Composition is achieved by inserting aspect stubs at the joinpoints in the base model identified by the mapped pointcut expression * Pointcut Map Base Model StartPoint EndPoint A B R1 R0 Advice Map start endSuccess [success] Advice.after_success Advice.before Advice.after_fail endFail [fail] C Composed System StartPoint EndPoint A B R1 R0 endSuccess Advice.after_success s2 Advice.after_fail endFail s3 Aspect A A A start Advice.before e1 C Pointcut P

84 «URN » D. Amyot uOttawa URN: Application and Research Areas84 Prototype Support for Concerns

85 «URN » D. Amyot uOttawa URN: Application and Research Areas85 Towards AoURN Reporter AND Write Story Win Pulitzer Prize Research Story + Web- master Publish Story Provide Online Content + Reporter Goal GraphWebmaster Goal Graph Goal graphs can become very complex (due to number of concerns)! Scattering and Tangling – Pollution! Security of Terminal [R] System Security [W]

86 «URN » D. Amyot uOttawa URN: Application and Research Areas86 Example: AoGRL Reporter Win Pulitzer Prize + Web- master Provide Online Content + Reporter AND Write Story Win Pulitzer Prize Research Story Web- master Publish Story Provide Online Content Priority: medium Priority: high Security of Terminal System Security Fingerprint 100 * Encryption 100 * Cardkey 100 * Encryption 100 * Reporter Goal Graph Webmaster Goal Graph Security Aspect: Pointcut Graph 1 Security Aspect: Pointcut Graph 2

87 «URN » D. Amyot uOttawa URN: Application and Research Areas87 Example: AoGRL 100 * PasswordCardkey Fingerprint Cost of Terminal Identification Encryption Security of Host Security of Terminal System Security AND OR _ + Authentication Access Authorization Security Aspect: Advice Graph

88 «URN » D. Amyot uOttawa URN: Application and Research Areas88 Summary URN Allows engineers to specify or discover requirements for proposed and evolving systems, and review such requirements for correctness and completeness. Combines goals and 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 requirements and architectures Enables analysis and transformations Architectural alternatives and dynamic systems

89 «URN » D. Amyot uOttawa URN: Application and Research Areas89 Outlook Still many aspects under development In jUCMNav —Support for improved workflow semantics for UCM —Transformations to UML, test cases —Aspect-oriented Use Case Maps —Report generation URN-based aspect-oriented modeling Link definition and exploitation between GRL and UCM Formal semantics of URN models (LOTOS, ASM, SDL, …) Integration with UML (profiles and tools) Improved round-trip requirements and performance engineering Many more topics!

90 «URN » D. Amyot uOttawa URN: Application and Research Areas90 For More Information Virtual Library Introduction to URN Weiss, M. and Amyot, D., Business Process Modeling with URN. International Journal of E-Business Research, 1(3), 63–90, July-September Amyot, D., Introduction to the User Requirements Notation: Learning by Example. Computer Networks, Volume 42, Issue 3, pp , June JUCMNav Roy, J.-F. Kealey, and Amyot, D. (2006) Towards Integrated Tool Support for the User Requirements Notation. Fifth Workshop on System Analysis and Modelling (SAM’06), Kaiserslautern, Germany, May. Test Amyot, D., Roy, J.-F., and Weiss. M., UCM-Driven Testing of Web Applications. 12th SDL Forum (SDL'05), Grimstad, Norway, June LNCS 3530, Springer, Reverse-engineering Hamou-Lhadj, A., Braun, E., Amyot, D., and Lethbridge, T., Recovering Behavioral Design Models from Execution Traces. CSMR’05, Manchester, UK, March IEEE Computer Society, Scenario generation Amyot, D., Cho, D.Y., He, X., and He, Y., Generating Scenarios from Use Case Map Specifications. QSIC’03, Dallas, November IEEE Computer Society, UCMNav/jUCMNav and DOORS Jiang, B. Combining Graphical Scenarios with a Requirements Management System. MSc. thesis, uOttawa, June 2005 Performance analysis Petriu, D.B., Amyot, D., and Woodside, M., Scenario-Based Performance Engineering with UCMNav. 11th SDL Forum (SDL'03), Stuttgart, Germany, July LNCS 2708, URN and UML Amyot, D. and Mussbacher, G., On the Extension of UML with Use Case Maps Concepts. > LNCS 1939, 16-31, 2000.

91 «URN » D. Amyot uOttawa URN: Application and Research Areas91 Aspect-oriented URN G. Mussbacher, D. Amyot, and M. Weiss (2007) Visualizing Early Aspects with Use Case Maps, LNCS Journal on Transactions on Aspect-Oriented Software Development, to appearVisualizing Early Aspects with Use Case Maps Mussbacher, G., Amyot, D., Whittle, J., and Weiss, M. (2007) Flexible and Expressive Composition Rules with Aspect-oriented Use Case Maps (AoUCM). 10th International Workshop On Early Aspects, Vancouver, Canada, March. G. Mussbacher, D. Amyot, and M. Weiss (2007) Aspect-Oriented User Requirements Notation (AoURN): Modeling Goals and Scenarios of Crosscutting Concerns in a Unified Way. MoDELS (submitted) URN, Compliance and DOORS Ghanavati, S., Amyot, D., and Peyton, L. (2007) Towards a Framework for Tracking Legal Compliance in Healthcare. 19th Int. Conf. on Advanced Information Systems Engineering (CAiSE'07), Trondheim, Norway, June.Towards a Framework for Tracking Legal Compliance in Healthcare Ghanavati, S., Amyot, D., and Peyton, L. (2007) A Requirements Management Framework for Privacy Compliance. 10th Workshop on Requirements Engineering (WER’07), Toronto, Canada, May. Peyton, L., Ghanavati, S., and Amyot, D. (2007) Designing for Privacy Compliance and Performance Management in Health Care. Design Journal (submitted) URN, Patterns, and Business Process Modelling Mussbacher, G. (2007) Evolving Use Case Maps as a Scenario and Workflow Description Language, 10th Workshop on Requirements Engineering (WER’07), Toronto, Canada, May.Evolving Use Case Maps as a Scenario and Workflow Description Language Pourshahid, A., Chen, P., Amyot, D., Forster, A.J., and Weiss, M. (2007) Business Process Monitoring and Alignment: An Approach Based on the User Requirements Notation and Business Intelligence Tool. 10th Workshop on Requirements Engineering (WER’07), Toronto, Canada, May. Roy, J-F (2007) Requirement Engineering with URN: Integrating Goals and Scenarios, M.Sc. thesis, uOttawa, MarchRequirement Engineering with URN: Integrating Goals and Scenarios Weiss, M. and Amyot, D. (2006) Chapter VIII: Business Process Modeling with the User Requirements Notation. I. Lee (Ed.), Advances in E-Business Research: E-Business Innovation and Process Management, Vol. 1, IGI Global, December, Advances in E-Business Research: E-Business Innovation and Process Management Mussbacher, G., Amyot, D., and Weiss, M. (2007) Formalizing Patterns with the User Requirements Notation. T. Taibi (Ed.), Design Pattern Formalization Techniques, IGI Global, March, Formalizing Patterns with the User Requirements NotationDesign Pattern Formalization Techniques Weiss, M. and Amyot, D., Business Model Design and Evolution. Management of Technology, World Scientific (submitted)

92 «URN » D. Amyot uOttawa URN: Application and Research Areas92 Satisficed Weakly Satisficed Undecided Weakly Denied Denied Conflict (b) GRL Satisfaction Levels Dependency Contribution Correlation Means-end Decomposition (d) GRL Links ? BreakHurtSome- Unknown Make HelpSome+Equal (e) GRL Contributions Types OR AND (c) Link Composition Goal Softgoal Belief Actor Boundary Resource (a) GRL Elements Task

93 «URN » D. Amyot uOttawa URN: Application and Research Areas93 … … … … [C1] [C2] [C3] OR-Fork & Guarding Conditions … … … … OR-Join … … … … … … … … AND-JoinAND-Fork (b) UCM Forks and Joins Start Point End Point Path …… …… Responsibility Direction Arrow …… Timestamp Point Failure Point …… Shared Responsibility …… (a) UCM Path Elements (c) UCM (Generic) Component Waiting Place Trigger Path (asynchronous) Waiting Path Continuation Path Timer Release (synchronous) Waiting Path Continuation Path Timeout Path (e) UCM Waiting Places and Timers …… IN1OUT1 Static Stub & Segments ID Dynamic Stub IN1OUT1 …… S{IN1}E{OUT1} (d) UCM Stubs and Plug-ins Plug-in Map


Download ppt "«URN » D. Amyot uOttawa URN: Application and Research Areas1 User Requirements Notation (URN) Application and Research Areas Daniel Amyot SITE, University."

Similar presentations


Ads by Google