1 / 36

Short Tutorial on jUCMNav

Short Tutorial on jUCMNav. Daniel Amyot Jason Kealey Jean-François Roy Gunter Mussbacher Stéphane S. Somé. Pronounced: juicy – em – nav. Overview. jUCMNav installation Crash course on URN for BPM (with simplified example from a hospital data warehouse access process) GRL editing

sileas
Download Presentation

Short Tutorial on jUCMNav

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Short Tutorial on jUCMNav Daniel Amyot Jason Kealey Jean-François Roy Gunter Mussbacher Stéphane S. Somé http://jucmnav.softwareengineering.ca

  2. Pronounced: juicy – em – nav http://jucmnav.softwareengineering.ca

  3. Overview • jUCMNav installation • Crash course on URN for BPM (with simplified example from a hospital data warehouse access process) • GRL editing • GRL analysis with strategies • UCM editing • UCM analysis with scenario definitions • URN model export (figures, HTML) • MSC generation from UCM scenarios • GRL/UCM linking • URN model export to Telelogic DOORS • KPI analysis and links to data warehouses (presented by Pengfei) http://jucmnav.softwareengineering.ca

  4. Useful Resources • Installation • http://jucmnav.softwareengineering.ca/twiki/bin/view/ProjetSEG/JUCMNavRelease241 • Online Help • http://jucmnav.softwareengineering.ca/twiki/bin/view/ProjetSEG/HelpOnLine • Animated Demos • http://jucmnav.softwareengineering.ca/twiki/bin/view/ProjetSEG/JUCMNavTutorials • Papers (URN Virtual Library) • http://www.UseCaseMaps.org/pub/ • Search for papers written by Roy or Kealey http://jucmnav.softwareengineering.ca

  5. User Requirements Notation • URN is a semi-formal, lightweight method for modeling and analysis of user requirements in the form of goals and scenarios • Combines two existing notations • Goal-oriented Requirements Language (GRL) • Use Case Map (UCM) • URN can be used to model business processes, reactive systems, distributed systems, etc. • Weiss, Amyot: Business Process Modeling with URN. IJEBR, 2005 http://jucmnav.softwareengineering.ca

  6. jUCMNav Features • Editing, analysis, and transformation of URN models • jUCMNav takes advantage of the Eclipse views (hierarchical/graphical outline, properties, resources) • Good usability: drag & drop editing, group manipulation, zoom, unlimited undo/redo, preferences, … • Multiple element references • Autolayout mechanism • Only allows the creation of syntactically valid models • Export and analysis facilities http://jucmnav.softwareengineering.ca

  7. Goal-oriented Requirements Language • Goals describe the objectives a system should achieve: why do an activity? • Towards a higher, strategic level of modeling the current or future system and environment • Focus is very much on system evolution • Can explore opportunities andvulnerabilities http://jucmnav.softwareengineering.ca

  8. Use Case Maps • UCMs model scenarios as causal flows of responsibilities that can be superimposed on underlying structures of components • What should this activity be precisely? Who is involved in this activity? Where/when perform the activity? components Different structures suggested by alternatives in a GRL model can be evaluated by allocating responsibilities to UCM components responsibilities http://jucmnav.softwareengineering.ca

  9. Getting Started… • Start Eclipse • Create a new general project • Add a new file (from jUCMNav category): • Use Case Map / GRL Graph • Create a new UCM and/or GRL diagram • You can rename the project and the .jucm file http://jucmnav.softwareengineering.ca

  10. Adding/Renaming a UCM/GRL Diagram • Right-click on URNspec (or on an existing diagram), add a new UCM or GRL graph • Many diagrams can be added, but they all are views of the same model • Rename the diagram, and add a description • Use the Property view • Delete a diagram, and undo this! http://jucmnav.softwareengineering.ca

  11. Adding Intentional Elements • Add a couple of goals, softgoals, tasks… • Rename them • Use the property view to change • Description • Name • Colour • Priority/Criticality • See effect on Outline (textual/graphical) and Elements panels http://jucmnav.softwareengineering.ca

  12. Adding Decompositions and Contributions • Add decomposition links from multiple decomposed intentional elements to a single source element • Change the decomposition type of the source element (And/Or) via the property view • Add a few contributions/correlations • Change their contribution type http://jucmnav.softwareengineering.ca

  13. Adding Beliefs • Add a belief with a long name/explanation • Link it to another intentional element http://jucmnav.softwareengineering.ca

  14. Auto-Layout • Try the auto-layout feature on your diagram… • Can be undone if needed  http://jucmnav.softwareengineering.ca

  15. Adding Actors • Actors contain intentional elements (their individual concerns) • Add a few actors and rename them • Distribute your intentional elements among them (or create new ones) • Move/resize actors • Actors can contain actors too http://jucmnav.softwareengineering.ca

  16. Adding Dependencies • Add a few dependencies between actors • Create a dependum (intentional element between two actors) • Create a dependency link between the source element (depender) in one actor to the dependum • Create a dependency link between the dependum and a target element (dependee) in another actor • jUCMNav does not yet support dependency links between actors http://jucmnav.softwareengineering.ca

  17. Reusing Actors/Elements • Create a new GRL graph • Drag&drop existing actors and elements from the Outline • New references are created • Rename them and check impact • Change the reference to the definition via the properties view http://jucmnav.softwareengineering.ca

  18. Changing Preferences • Window  Preferences  jUCMNav Preferences http://jucmnav.softwareengineering.ca

  19. Exercise 1 • Open jUCMNavDemo_v1.jucm and add this complementary GRL diagram (named DoUsefulResearch) http://jucmnav.softwareengineering.ca

  20. GRL Strategies • User defined sets of initial evaluations • Evaluation propagated in the model • Implemented using the strategies view • Numerical interpretation of the satisfaction levels • Evaluation of the impact of strategies on the operational and architectural aspects, using URN links http://jucmnav.softwareengineering.ca

  21. Strategies in jUCMNav A star (*) indicates an initial value part of a given strategy. All the others are evaluated through a propagation algorithm. http://jucmnav.softwareengineering.ca

  22. Actor Evaluation • Evaluation to deal with negotiation between stakeholders. • Helps 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 http://jucmnav.softwareengineering.ca

  23. Actor Evaluation Example Priority = Low Criticality = None Priority = None Criticality = High http://jucmnav.softwareengineering.ca

  24. Exercise 2 • Open jUCMNavDemo_v2.jucm and add 2 strategies: • SurveyOnly • Set Use Survey Only to 100 • AgreementWithLogs • Same as AgreementNoLogs but with Verify Access Logs set to 100 • Which of the 4 strategies is the best? • How do we delete a value initialization in a given strategy? http://jucmnav.softwareengineering.ca

  25. Editing UCM Diagrams • The PathTool can be used to • Create a new path • Extend an existing path (start/end point) • Insert empty points • The rest is similar to the GRL editor • Components are like actors • Path elements are bound to components http://jucmnav.softwareengineering.ca

  26. UCM Path Nodes • Add various elements on path nodes • Using the palette • Using the contextual menu • Add/remove branches on forks, joins, stubs • Experiment with merging start/end points, end/path, end/join, start/stub, etc. http://jucmnav.softwareengineering.ca

  27. UCM Components • Add components around paths • Bind/unbind path elements • Look at properties and change them • Component type can be modified there too http://jucmnav.softwareengineering.ca

  28. Stubs • Edit Stub Plugins (on a given stub) • Select a plug-in map for a stub • Bind its IN/OUT segments to start/end points of the plug-in map • Add guarding selection conditions to the plug-ins in a dynamic stub • Requires the definition of variables. http://jucmnav.softwareengineering.ca

  29. Exercise 3 • Open jUCMNavDemo_v3.jucm and add a new plug-in map (Agreement) for stub CheckAccountability. • Bind it properly to the stub. Adjust its precondition. • In map Review, add a timeout path between WaitREBdone and the OR-join found before the Reject end point http://jucmnav.softwareengineering.ca

  30. UCM Scenario Definitions and Path Traversal (Highlight) • Extraction of individual scenarios based on a traversal algorithm • Conditions attached to selection points • Initialization of variables, and selection of start/end points • Transformation to MSC http://jucmnav.softwareengineering.ca

  31. jUCMNav 2.4 Features • 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 (next page) • Can be visualized with embedded MSC viewer http://jucmnav.softwareengineering.ca

  32. Exercise 4 • Open jUCMNavDemo_v4.jucm and make sure your Problems View is open • Add a scenario to test what happens when the REB is not ready (start point not triggered) • Using scenario inclusion, add a scenario for RejectTrust • What can go wrong and how can the Problems View help with clickable error messages? http://jucmnav.softwareengineering.ca

  33. Exercise 5 • Add URN links • From HIC (GRL) to the Hospital component • From Trust User (GRL) to the TrustUser map • From Check Ethical Issues (GRL) to the ChkEthicsCompliance responsibility • Examine that responsibility as strategies are highlighted. http://jucmnav.softwareengineering.ca

  34. Exporting Diagrams/Models • Select the URNSpec in the Outline or click on a diagram background • Right-click to export (starts a Wizard) • Export individual diagrams or entire models to various formats… http://jucmnav.softwareengineering.ca

  35. jUCMNav 2 supports • MSC viewer • MSC export to images http://jucmnav.softwareengineering.ca

  36. URN Model Export to Telelogic DOORS http://jucmnav.softwareengineering.ca

More Related