SEG3101 GRL and jUCMNav - University of...

28
http://jucmnav.softwareengineering.ca 1 SEG3101 GRL and jUCMNav Daniel Amyot Jason Kealey Jean-François Roy Gunter Mussbacher Stéphane S. Somé

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