Short Tutorial on jUCMNav - PowerPoint PPT Presentation

About This Presentation
Title:

Short Tutorial on jUCMNav

Description:

St phane S. Som . http://jucmnav.softwareengineering.ca. 2. Pronounced: juicy em nav ... Crash course on URN for BPM (with simplified example from a hospital data ... – PowerPoint PPT presentation

Number of Views:464
Avg rating:3.0/5.0
Slides: 37
Provided by: Jean266
Category:

less

Transcript and Presenter's Notes

Title: Short Tutorial on jUCMNav


1
Short Tutorial on jUCMNav
  • Daniel Amyot
  • Jason Kealey
  • Jean-François Roy
  • Gunter Mussbacher
  • Stéphane S. Somé

2
Pronounced juicy em nav
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)

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

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

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

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

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
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

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!

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

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

13
Adding Beliefs
  • Add a belief with a long name/explanation
  • Link it to another intentional element

14
Auto-Layout
  • Try the auto-layout feature on your diagram
  • Can be undone if needed ?

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

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

17
Reusing Actors/Elements
  • Create a new GRL graph
  • Dragdrop 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

18
Changing Preferences
  • Window ? Preferences ? jUCMNav Preferences

19
Exercise 1
  • Open jUCMNavDemo_v1.jucm and add this
    complementary GRL diagram (named
    DoUsefulResearch)

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

21
Strategies in jUCMNav
A star () indicates an initial value part of a
given strategy. All the others are evaluated
through a propagation algorithm.
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

23
Actor Evaluation Example
Priority Low Criticality None
Priority None Criticality High
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?

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

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.

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

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.

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

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

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

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?

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.

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

35
  • jUCMNav 2 supports
  • MSC viewer
  • MSC export to images

36
URN Model Export to Telelogic DOORS
Write a Comment
User Comments (0)
About PowerShow.com