1 GRL Tools JUCMNav vs. OpenOME CSI5112 – Project Winter 2008 Bo Peng, Li Chen, Yessine Daadaa.
SEG3101 GRL and jUCMNav - University of...
Transcript of SEG3101 GRL and jUCMNav - University of...
-
http://jucmnav.softwareengineering.ca 1
SEG3101GRL and jUCMNav
Daniel AmyotJason KealeyJean-François RoyGunter MussbacherStéphane S. Somé
-
http://jucmnav.softwareengineering.ca 2
Goal-oriented Requirement Language (GRL)- For modeling and reasoning about:
- Goals, requirements, alternatives and rationales
- Combined with Use Case Maps (UCM) in the User Requirements Notation (URN)
-
http://jucmnav.softwareengineering.ca 3
(pronounced: juicy – em – nav)Juice up your modelling!
-
http://jucmnav.softwareengineering.ca 4
jUCMNav
Eclipse plug-inOpen-source application available under the Eclipse Public License (EPL)Developed at uOttawahttp://jUCMNav.softwareengineering.ca
Editors for UCM and GRLIntegrate these views by linking elementsProvide model analysis featuresUses the Eclipse Modeling Framework (EMF) and the Graphical Modeling Framework (GEF)
http://jucmnav.softwareengineering.ca/
-
http://jucmnav.softwareengineering.ca 5
jUCMNav takes advantage of the Eclipse views (hierarchical/graphical outline, properties, resources)Good usability: drag & drop editing, group manipulation, zoom, limited copy & paste, unlimited undo/redo, …Multiple element referencesOutlines and filtersAutolayout mechanism Only allows the creation of syntactically valid modelsExport and analysis facilities
jUCMNav Features
-
http://jucmnav.softwareengineering.ca 6
Summary of GRL Notation
(a) GRL Elements
Belief
Goal Softgoal ResourceTask
Actor with BoundaryCollapsed
Actor
SatisfiedWeaklySatisfied
Unknown
Denied WeaklyDenied
Conflict None
Make Help Some Positive Unknown
Break HurtSome Negative
(d) GRL Contributions Types
(c) GRL Satisfaction Levels
(b) GRL Links
Contribution
Correlation
Dependency Decomposition
Means-End
(a) GRL Elements
Belief
Goal Softgoal ResourceTask
Actor with BoundaryCollapsed
Actor
SatisfiedWeaklySatisfied
Unknown
Denied WeaklyDenied
Conflict None
Make Help Some Positive Unknown
Break HurtSome Negative
(d) GRL Contributions Types
(c) GRL Satisfaction Levels
(b) GRL Links
ContributionContribution
CorrelationCorrelation
DependencyDependency DecompositionDecomposition
Means-EndMeans-End
i) Icon only ii) Text only iii) Icon and text
Make Make
iv) Number only v) Icon and number
100 100
(e) Representations of Qualitative and Quantitative Contributions
-
http://jucmnav.softwareengineering.ca 7
URN for BPM (Business Process Modeling)?
To support BPM (or system modeling), a notation must be able to answer at least the following questions:
Who, what, when, where , and why?GRL models describe the objectives a system or BP should achieve: why do an activity?
Focus on business goals and non-functional aspectsCan explore opportunities and vulnerabilities
UCM models describe what should this activity be precisely, who is involved in this activity, and where/when to perform the activity.
Different structure suggested by alternatives in a GRL model can be evaluated by allocating responsibilities to UCM components
-
http://jucmnav.softwareengineering.ca 8
URN for BPM (Business Process Modeling)?
Use Case Maps (UCM)Responsibilities (what)Components (who and where)Causal scenarios (when)
Goal-oriented Requirement Language (GRL)Tasks (what)Actors (who and where)Goals and other intentional elements (why)
User Requirements Notation (URN)Connects business processes to business objectives
-
http://jucmnav.softwareengineering.ca 9
Overview Demonstration
First, have a look at http://jucmnav.softwareengineering.ca/ucm/bin/view/ProjetSEG/GrlDemo1
http://jucmnav.softwareengineering.ca/ucm/bin/view/ProjetSEG/GrlDemo1http://jucmnav.softwareengineering.ca/ucm/bin/view/ProjetSEG/GrlDemo1
-
http://jucmnav.softwareengineering.ca 10
Getting Started…Start Eclipse
jUCMMav is also available en français! eclipse.exe -clean -nl fr
Create a new general projectDrag&Drop the 2 demo files in your projectAdd a new file (from jUCMNav category):
Use Case Map / GRL GraphCreate a new UCM and/or GRL diagram
You can rename the project and the .jucm file
-
http://jucmnav.softwareengineering.ca 11
Adding a GRL Diagram
Right-click on URNspec (or on the editor background), add a new GRL graph
Many diagrams can be added, but they all are views of the same model
Rename the diagram, add a descriptionUse the Properties view
Delete the diagram and undo this action (Ctrl-Z)
-
http://jucmnav.softwareengineering.ca 12
Adding Intentional Elements
Add a couple of goals, softgoals, tasks…Rename themUse the property view to change
DescriptionName (or use the editor directly)Color (or right click)Importance
See effect on Outlines (references, definitions, graphical) and Elements panels
-
http://jucmnav.softwareengineering.ca 13
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 or via right-clickAdd a few contributions/correlationsChange their contribution type
-
http://jucmnav.softwareengineering.ca 14
Adding Beliefs
Add a belief with a long name/explanationLink it to another intentional element
-
http://jucmnav.softwareengineering.ca 15
Auto-Layout
Try the auto-layout feature on your diagram…
Can be undone if needed ☺
-
http://jucmnav.softwareengineering.ca 16
Adding Actors
Actors contain intentional elements (their individual concerns)Add a few actors and rename themDistribute your intentional elements among them (or create new ones)Move/resize actorsActors may contain other actors
-
http://jucmnav.softwareengineering.ca 17
Adding Dependencies
Add a few dependencies between actorsCreate a dependum (intentional element between two actors)Create a dependency link between the source element (depender) in one actor to the dependumCreate a dependency link between the dependumand a target element (dependee) in another actorjUCMNav does not yet support dependency links between actors
-
http://jucmnav.softwareengineering.ca 18
Reusing Actors/Elements
Create a new GRL graphDrag&drop existing actors and elements from the Outline (Definitions)
New references are createdRename them and check impactChange the reference to the definition via the properties view
-
http://jucmnav.softwareengineering.ca 19
Changing Preferences
Window
Preferences
jUCMNav Preferences
-
http://jucmnav.softwareengineering.ca 20
BPM Example - Context
In the following exercises, you have to complete a URN 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.
-
http://jucmnav.softwareengineering.ca 21
Exercise 1
Open jUCMNavDemo_v1.jucm and add this new GRL diagram (named DoUsefulResearch)Note: The actor, softgoal and goal are new references to existing elements in the GRL definitions
-
http://jucmnav.softwareengineering.ca 22
GRL StrategiesUser defined sets of initial evaluationsEvaluation propagated in the model (in color)Implemented using the strategies viewQualitative or quantitative interpretation of satisfaction levelsEvaluation of the impact of strategies on the operational and architectural aspects, using URN links
GRLmodelElementQualitativeLabel
DeniedWeaklyDeniedWeaklySatisfiedSatisfiedConflictUnknownNone
IntentionalElementEvaluation
evaluation : Integer = 0qualitativeEvaluation : QualitativeLabel = None
10..*intElement
1 evals0..*
EvaluationStrategy
0..*
1
evaluations0..*
strategies1
StrategiesGroup 0..*1..*
strategies
0..*
group1..*
-
http://jucmnav.softwareengineering.ca 23
A star (*) indicates an initial value part of
a given strategy (element also shown in dashed lines). All the others are evaluated
through a propagation algorithm.
Strategies in jUCMNav
-
http://jucmnav.softwareengineering.ca 24
Propagation Algorithm
jUCMNav comes with four propagation algorithmsUses all link types to calculate the evaluation1. Decompositions2. Contributions3. Dependencies
-
http://jucmnav.softwareengineering.ca 25
Algorithm Preferences
-
http://jucmnav.softwareengineering.ca 26
Actor Evaluation
Evaluation to deal with negotiation between stakeholders.Helps analyzing and comparing the satisfaction levels of each actor based on the selected strategyComputed from importance attribute of intentional element references bound to actors
-
http://jucmnav.softwareengineering.ca 27
Exercise 2Open jUCMNavDemo_v2.jucm and add 2 strategies:
SurveyOnlySet Use Survey Only to 100
AgreementWithLogsSame 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?
Hint: Use the execution mode for the strategy, right-click on an intentional element with initial value
-
http://jucmnav.softwareengineering.ca 28
Exporting DiagramsSelect the URNSpec in the OutlineRight-click to export (starts a Wizard)Export individual diagrams to jpeg, bmp, gif…
SEG3101�GRL and jUCMNavGoal-oriented Requirement Language (GRL)jUCMNavjUCMNav Features URN for BPM (Business Process Modeling)?URN for BPM (Business Process Modeling)?Overview DemonstrationGetting Started…Adding a GRL DiagramAdding Intentional ElementsAdding Decompositions and ContributionsAdding BeliefsAuto-LayoutAdding ActorsAdding DependenciesReusing Actors/ElementsChanging Preferences�BPM Example - ContextExercise 1GRL StrategiesStrategies in jUCMNavPropagation AlgorithmAlgorithm PreferencesActor EvaluationExercise 2Exporting Diagrams