«seg 3501» d. amyot uottawa introduction à la notation urn - grl1 seg 3601- module 3 introduction...

63
«SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL 1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie I: GRL Objectifs: Buts et justifications Modélisation orientée-buts GRL, évaluations, outils © Daniel Amyot, Gunter Mussbacher

Upload: roul-dupond

Post on 04-Apr-2015

114 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Introduction à la notation URN - GRL 1

SEG 3601- Module 3

Introduction à la notation d’exigences utilisateur

(URN) – Partie I: GRL

Objectifs:― Buts et justifications― Modélisation orientée-buts― GRL, évaluations, outils

© Daniel Amyot, Gunter Mussbacher

Page 2: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Introduction à la notation URN - GRL 2

Qu’est-ce qu’une justification (rationale)?

Une justification (ou raison-d’être) représente leraisonnement qui mène au système.

Les justifications incluent:• Les problèmes adressés• Les alternatives qui ont été considérées• Les décisions prises afin de résoudre les problèmes• Les critères qui ont guidé les décisions• Les débats que les participants ont eu lors de la prise de

décision.

[Bruegge et Dutoit, chapter 12]

Page 3: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Utilisation de justifications en génie logiciel

Amélioration du support de conception• Évite l’évaluation dupliquée d’alternatives faibles• Produit des compromis explicites et cohérents.

Amélioration de la documentation• Facilite la revue de la conception par les non-

développeurs (gestionnaires, avocats, scribes…)Amélioration du support de maintenance

• Offre un contexte de conception aux gens qui font l’entretien du logiciel

Amélioration de l’apprentissage• Les nouveaux employés peuvent apprendre et

comprendre la conception en étudiant les décisions qui l’ont produite.

Introduction à la notation URN - GRL 3

Page 4: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Décision: Carte à puce + NIP

Exemple: Guichet automatique (Tableau)

Question: Mécanismes d’authentification alternatifs?

Service: Authentification

Option 1: Numéro de compte

Option 2: Empreintes digitales

Option 3: Carte à puce + NIP

Critère 1:Coût unitaire

Critère 2:Vie privée

+ +

+–

+ –

Version qualitative…

Introduction à la notation URN - GRL 4

Page 5: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Décision: Carte à puce + NIP

Exemple: Guichet automatique (Tableau)

Question: Mécanismes d’authentification alternatifs?

Option 1: Numéro de compte

Option 2: Empreintes digitales

Option 3: Carte à puce + NIP

Critère 1:Coût unitaire

Critère 2:Vie privée

2 40

304

1 20

Questions: Relations entre critères? Passage à l’échelle? Et les partie prenantes?... Peut-on faire mieux qu’un simple tableau?

Service: Authentification

Version quantitative…

Introduction à la notation URN - GRL 5

Page 6: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Qu’est-ce qu’un but en général?

• Un but (goal) représente un objectif d’affaires, d’organisation ou de système.• Une exigence spécifie de quelle façon un but devrait être atteint par

un système proposé.• Opérationalisation

• Le processus de définition d’un but avec suffisamment de détails pour permettre que ses sous-buts aient une définition opérationnelle

• Décomposition• Le processus de subdivision d’un ensemble de buts en sous-groupes

logiques afin de les exigences du système soient plus facilement comprises, définies et spécifiées

• Obstacles• Comportements ou autres buts qui préviennent ou bloquent l’atteinte

d’un but donné.• En identifiant des obstacles aux buts abstraits nous pouvons

considérer les façons de faire échouer les buts et anticiper les cas exceptionnels.

Introduction à la notation URN - GRL 6

Page 7: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Rôles joués par les buts en I.E. [van Lamsveerde, 2009]

• Décrire la justification des exigences• Aider à identifier les exigences qui les satisferont• Fournir une structure pour l’argumentation • Offrir une base pour démontrer l’alignement du système futur avec les

objectifs stratégiques de l’entreprise• Offrir un critère précis pour la complétude des exigences• Offrir un critère précis pour la pertinence des exigences• Offrir une façon naturelle de structurer une spécification d’exigences, de

même que les raffinements d’exigences• Offrir une base pour l’analyse de risques• Offrir un environnement pour gérer les conflits entre exigences• Offrir un critère pour délimiter la portée du système• Supporter l’analyse de dépendances entre composantes du système• Supporter le raisonnement sur les diverses alternatives possibles• Faciliter la gestion de la traçabilité• Offrir un contexte pour supporter l’évolution• …

Introduction à la notation URN - GRL 7

Page 8: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

User Requirements Notation - URN

• URN est un langage graphique pour la modélisation et l’analyse d’exigences sous forme de buts et de scénarios.

• Combine deux sous-notations complémentaires:— Goal-oriented Requirements Language (GRL)— Use Case Map (UCM)

• Les modèles URN peuvent être utilisés pour divers types de systèmes réactifs, de normes en télécommunications et de processus d’affaires.

• Site Web: http://www.UseCaseMaps.org/urn/

Introduction à la notation URN - GRL 8

Page 9: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Introduction à la notation URN - GRL 9

GRL

UCM

éléments intentionnels + acteurs + liens + indicateurs + stratégies

responsabilités + causalité + composantes + scénarios

Liens URN

Page 10: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

ITU-T Z.151: URN - Language Definition

• Première norme internationale à supporter de façon explicite et intégrée les notions de buts et de scénarios, et les liens qui les unissent.

• Membre de la famille de langages de l’UIT-T— SDL, MSC, TTCN-3, ASN.1…

• Définition de URN dans la Recommandation Z.151 (novembre 2008, corrigée en 2011, révisée en 2012)

—Méta-modèle, syntaxes abstraite/concrète, sémantique, analyse, exemples…

Introduction à la notation URN - GRL 10

Page 11: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Langages de l’UIT-T

SDL: Specification and Description Language• Pour définir et exécuter des systèmes réactifs complets

MSC: Message Sequence Charts• Pour définir des scénarios orientés-messages

ASN.1: Abstract Syntax Notation One • Pour définir des types de données

TTCN-3: Testing and Test Control Notation • Pour définir des cas et des environnements de test

URN: User Requirements Notation• Goal-oriented Requirements Language (GRL)• Notation Use Case Map (UCM)• Pour définir des buts, des scénarios, et des exigences

Introduction à la notation URN - GRL 11

Page 12: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Aperçu de GRL

Goal-oriented Requirement Language• Basée sur i* et NFR Framework• Relie les exigences aux objectifs d’affaires• Permet de raisonner sur les exigences (surtout les non-

fonctionnelles) et les compromis

GRL modélise le « pourquoi » • Objectifs, alternatives, et raisonnements (justifications!) • Peu de détails opérationnels

Supporte l’analyse de buts et l’évaluation d’alternatives

Il n’y a rien de comparable dans UML, SysML, ou BPMN…

Introduction à la notation URN - GRL 12

Page 13: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Minimize Cost of

Terminal

Notation GRL

Use Password

UseCardkey

ProvideIdentification

Encryption

Have Security of Host

Have Security of Terminal

AND

OR

+

.+

+.

.+

EnsureAuthentication

AccessAuthorization

Exemple GRL : Petit Magasin en Ligne

BusinessOwner

Online Shopper

Payment

Increase Sales

+

Biometrics is noregular, off-the-shelf

technology

_+

+

Have System Security

Offer OnlineShopping

Bux-doux

But

TâcheOpinion

Acteur

Ressource

Contribution

Corrélation

Dépendance

Décomposition

Use Fingerprint

13

Page 14: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Notation GRL de base: Éléments intentionnels

But (Goal)• Quantifiable (souvent fonctionnel)

But-doux (Softgoal)• Qualifiable mais non-mesurable (souvent non-

fonctionnel)

Tâche (Task)• Solution ou activité qui atteint un but ou qui contribue

partiellement à l’atteinte d’un but-doux

Opinion (Belief)• Décrit le raisonnement, la justification

Ressource (Resource)• Produit, objet ou autre ressource

Introduction à la notation URN - GRL 14

Page 15: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Notation GRL de base: Liens

Contribution• Liens pour éléments

intentionnels• Peuvent être qualifiés

— Ind+ : on hésite entre Réalise (suffisant) et Aide (insuffisant)— Ind- : on hésite entre Brise (suffisant) et Nuit (insuffisant)

Corrélation• Comme une contribution, mais indique un effet de bord

Décomposition• Définit ce dont un élément intentionnel a besoin pour être satisfait.

Dépendances • Entre acteurs (et leurs éléments intentionnels), avec un sujet de

dépendance

?Brise Nuit Ind- Inconnu

Réalise Aide Ind+ Égal

Introduction à la notation URN - GRL 15

Page 16: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Pourquoi GRL?

• Les buts auront une influence importante sur l’élaboration des exigences. Cependant, les buts et objectifs des parties prenantes sont complexes et vont entrer en conflit.

• GRL permet d’exprimer et de clarifier les exigences ambiguës, provisoires, et mal définies

— Supporte la prise de décision, les argumentations, la négociation, et la détection & résolution de conflits

— Documente les critères de décision et les justifications• GRL identifie les exigences alternatives et diverses frontières possibles

pour le système• GRL offre un retraçage entre les objectifs stratégiques et les exigences

techniques• GRL permet la réutilisation de buts abstraits et stables lorsque le

système évolue

Introduction à la notation URN - GRL 16

Page 17: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Fingerprint CardkeyFingerprint Cardkey

Niveau desatisfaction

initial

high

GRL – Stratégies d’évaluation

Password

Identification

Encryption

Security of Host

Security of Terminal

AND

OR

+

.+

.+

Authentication

AccessAuthorization

BusinessOwner

Online Shopper

Payment

Increase Sales

+

Cost ofTerminal

+

System Security

Offer OnlineShopping

Importance

high

medium

Password

Identification

Encryption

Security of Host

Security of Terminal

Authentication

AccessAuthorization

Increase Sales

Cost ofTerminal

System Security

Offer OnlineShopping

BusinessOwner

100

*100

*100

*100

*-75

-75

75

44

25

33

42

0 0

+.

Online Shopper

Payment

*100 *100

Biometrics is noregular, off-the-shelf

technology

_+

25

Page 18: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Introduction à la notation URN - GRL 18

• L’évaluation d’un graphe GRL montre l’impact de décisions qualitatives sur les buts de haut-niveau

• La propagation est habituellement de bas vers le haut• Évaluation qualitative ou quantitative du niveau de

satisfaction• Prend en considération divers contributeurs:

— Degré de satisfaction (satisfait, insatisfait, …)— Opérateurs de composition (ET, OU)— Contributions et corrélations (+/-, suffisant ou non)— Dépendances entre éléments intentionnels

• Plus complet qu’avec de simples tableaux d’avantages et inconvénients (exemple du guichet automatique)

Évaluations avec GRL

Page 19: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Stratégies GRL

Une stratégie GRL définit les valeurs de satisfaction initiales pour un ensemble d’éléments intentionnels du modèle

• Décrit une solution globale• Peuvent être comparées les unes avec les autres lors de

l’analyse de compromis• L’analyse peut se faire de façon quantitative ou

qualitative, et plusieurs algorithmes peuvent être définis

Introduction à la notation URN - GRL 19

Page 20: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Fingerprint CardkeyFingerprint Cardkey

high

GRL – Stratégies d’évaluation #2

Password

Identification

Encryption

Security of Host

Security of Terminal

AND

OR

+

.+

.+

Authentication

AccessAuthorization

Exemple GRL : Petit Magasin en Ligne

BusinessOwner

Online Shopper

Payment

Increase Sales

+

Cost ofTerminal

+

System Security

Offer OnlineShopping high

medium

Password

Identification

Encryption

Security of Host

Security of Terminal

Authentication

AccessAuthorization

Increase Sales

Cost ofTerminal

System Security

Offer OnlineShopping

BusinessOwner

100

*100

*-75

-75

0

+.

Online Shopper

Payment

*100 *100

0

-75

0

Biometrics is noregular, off-the-shelf

technology

_+

*100

-75

-31

-23

-17-34

20

Page 21: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Fingerprint CardkeyFingerprint Cardkey

high

Password

Identification

Encryption

Security of Host

Security of Terminal

AND

OR

+

.+

.+

Authentication

AccessAuthorization

BusinessOwner

Online Shopper

Payment

Increase Sales

+

Cost ofTerminal

+

System Security

Offer OnlineShopping high

medium

Password

Identification

Encryption

Security of Host

Security of Terminal

Authentication

AccessAuthorization

Increase Sales

Cost ofTerminal

System Security

Offer OnlineShopping

BusinessOwner

*100

90

51

0

+.

Online Shopper

Payment

*100 *100

0

52

0

0

0

0

68

Biometrics is noregular, off-the-shelf

technology

_+

*100

100

GRL – Stratégies d’évaluation #3Exemple GRL : Petit Magasin en Ligne

21

Page 22: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Nouvelle échelle de satisfaction [0..100]

Introduction à la notation URN - GRL 22

Option de visualisation avec [0..100]

pour évaluations

La satisfaction 25 n’est plus

“bonne” (orange)!

On peut passer de [0..100] à [-100..100] (bouton de droite sur

URNspec).

Une échelle de satisfaction [0..100] est plus intuitive que [-100..100] pour bien des personnes (surtout quand elle est combinée à des contributions négatives)

Page 23: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Introduction à la notation URN - GRL 23

Outil jUCMNav 5, pour Eclipse

Menu Perspectives

Projects & Files

Analysis

Toolbar Editor

Model Elements in File

Palette

Details of Model Element

Views

Page 24: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Outil SanDriLa (plug-in pour Visio)

Introduction à la notation URN - GRL 24

Page 25: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Outil OpenOME, avec plug-in Eclipse(http://www.cs.toronto.edu/km/openome/)

Introduction à la notation URN - GRL 25

Page 26: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Introduction à la notation URN - GRL 26

Métamodèle abstrait de URN (I)

GRLmodelElementUCMmodelElement

URNmodelElement

id : Stringname : String

Condition

expression : String

Metadata

name : Stringvalue : String

0..10..*

elem

0..1

metadata

0..*

URNlink

type : String 0..*

1

toLinks0..*

toElem11

0..*

fromElem 1

fromLinks 0..*

GRLspec

Concern

0..1

0..*

concern

0..1

elements

0..*

0..10..1

concern

0..1

condition

0..1

URNspec

name : String

0..1

0..*

urnspec0..1

metadata0..*

1 0..*

urnspec

1

urnLinks

0..*

1

0..1

urnspec

1

grlspec 0..1

1

0..*

urnspec

1

concerns0..*

UCMspec

1

0..1

urnspec1

ucmspec 0..1

Page 27: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Introduction à la notation URN - GRL 27

Métamodèle abstrait de URN / GRL (II)

GRLmodelElement

IntentionalElement

type : IntentionalElementTypedecompositionType : DecompositionType = AND

GRLLinkableElement

importance : ImportanceType = NoneimportanceQuantitative : Integer = 0

ActorGRLContainableElement

0..1

0..* actor

0..1elems0..*

ElementLink0..*

1

linksDest

0..*

dest1

0..*

1

linksSrc 0..*

src1

GRLspec

0..*

1

actors0..*

grlspec1

0..*

1

intElements0..*

grlspec

1

0..*

1

links

0..*

grlspec1

Contribution

contribution : ContributionType = UnknownquantitativeContribution : Integer = 0correlation : Boolean = false

Dependency

Decomposition

ContributionType

MakeHelpSomePositiveUnknownSomeNegativeHurtBreak

<<enumeration>>ImportanceType

HighMediumLowNone

<<enumeration>>

DecompositionType

ANDXORIOR

<<enumeration>>IntentionalElementType

SoftgoalGoalTaskResourceBelief

<<enumeration>>

Indicator

unit : String = ""

Page 28: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Introduction à la notation URN - GRL 28

Stratégies GRL

• Ensembles d’évaluations initiales définie par l’utilisateur• Les évaluations sont propagées dans le modèle, en couleur• Implémentées avec la vue « Strategies » dans jUCMNav• Interprétation qualitative ou quantitative des niveaux de

satisfaction• Évaluation de l’impact des stratégies sur les aspects structurels

et opérationnels à l’aide de liens URN (à voir plus loin)

Page 29: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Stratégies GRL

Introduction à la notation URN - GRL 29

QualitativeLabel

DeniedWeaklyDeniedWeaklySatisfiedSatisfiedConflictUnknownNone

<<enumeration>>

QualToQMappings

QualToQMapping

realWorldLabel : Stringevaluation : intqualitativeEvaluation : QualitativeLabelexceeds : Boolean

1

0..*mappingSet

1 mappings

0..*LinearConversion

targetValue : Integer = 0thresholdValue : Integer = 0worstValue : Integer = 0

IndicatorEvaluation

realWorldValue : Integer = 0realWorldLabel : String = ""

Evaluation

evaluation : Integer = 0qualitativeEvaluation : QualitativeLabel = Noneexceeds : Boolean = false

1

0..1

eval 1

indicatorEval 0..1

StrategiesGroup

EvaluationStrategy

1..*

0..*

group1..*

strategies0..*

0..*

0..*

includedStrategies

0..*

{ordered}

parentStrategies 0..*

0..*

1

evaluations0..*

strategies

1

IndicatorConversion

unit : String = ""

0..*0..1

evals

0..*conversion

0..1

GRLContainableElement

1

0..*

intElement1

evals0..*

GRLspec1

0..*

grlspec

1

groups0..*

0..*

1

strategies0..*

grlspec

11

0..*

grlspec1

indConversions0..*

0..*

1 intElements

0..*grlspec

1

GRLmodelElement

Page 30: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Introduction à la notation URN - GRL 30

Stratégies dans jUCMNav

• Étoile (*) ou forme au contour pointillé indique une valeur initiale d’une stratégie donnée.

• Si la ligne pointillée est rouge alors cette valeur aurait pu être calculée (overridden)

• Toutes les autres valeurs sont évaluées à l’aide d’un algorithme de propagation.

Page 31: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Introduction à la notation URN - GRL 31

Algorithmes de propagation

• jUCMNav supporte 6 algorithmes de propagation pour évaluations:— Quantitatif— Qualitatif— 1 algorithmes hybride— 1 algorithme expérimental avec agrégation de KPI— 1 algorithme avec conditions (conformité légale)— 1 algorithme par contraintes

• Supporte la résolution automatique de conflits• Utilise ces types de liens pour l’évaluation, dans l’ordre

1. Décompositions, 2. Contributions, 3. Dépendances

Page 32: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Introduction à la notation URN - GRL 32

Algorithme quantitatif: Décomposition et contributions

Internet

Connection

AND

0

Wireless LAN

80*-50*

-50

(a) AND decomposition

InternetInternet

ConnectionConnection

AND

0

WirelessWireless LANLAN

80*-50*

-50

(a) AND decomposition

Internet

Connection

IOR

0

Wireless LAN

80*-50*

80

(b) IOR decomposition

InternetInternet

ConnectionConnection

IOR

0

WirelessWireless LANLAN

80*-50*

80

(b) IOR decomposition

Internet

Connection

XOR

0

Wireless LAN

80*-50*

80

(c) XOR decomposition

InternetInternet

ConnectionConnection

XOR

0

WirelessWireless LANLAN

80*-50*

80

(c) XOR decomposition

InternetInternet

0

WirelessWireless LANLAN

80*-50*

55

50 100-50

IncreaseMobility

(a) Contributions

InternetInternet

0

WirelessWireless LANLAN

80*30 *

90

90 90-50

IncreaseMobility

(b) Contributions with a tolerance of 10

Minimum pour AND, maximum pour OR/IOR

Les contributions sont additives, mais elles sont aussi normalisées et prennent une « tolérance » en considération

Page 33: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Introduction à la notation URN - GRL 33

Algorithme quantitatif: Dépendences et acteurs

Store

IncreaseVisibility

Telecom Provider

CreateAccount

InternetConnection

ChargeFees

LowCosts

0

-75 *

50 *

-75-75

Telecom Provider

(28)Low

Cost (29)

100

Reliability(100)

100

High Perf (60)

-75

LowWeight

25

On ne peut pas êtreplus satisfait que ce de quoi on dépend.

La satisfaction d’acteur aide à comprendre les compromis d’une stratégie à ce niveau.

Calculée selon l’importance et la satisfaction des éléments contenus.

Page 34: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Introduction à la notation URN - GRL 34

Évaluation d’acteurs

• Évaluation pour gérer les négociations entre parties prenantes.

• Aide à analyser et à comparer les niveaux de satisfaction globaux de chaque acteur pour une stratégie donnée

• Calculée à partie des attributs importance des éléments intentionnels liés à l’acteur

Page 35: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Introduction à la notation URN - GRL 35

Algorithme qualitatif: Décomposition ET

InternetInternet

ConnectionConnection

AND

WirelessWireless LANLAN

**

(a) Miminum is WeaklyDenied

InternetInternet

ConnectionConnection

AND

WirelessWireless LANLAN

(b) Miminum is Satisfied

**

InternetInternet

ConnectionConnection

AND

WirelessWireless LANLAN

**

(c) Minimum is Conflict: Undecided is propagated

InternetInternet

ConnectionConnection

AND

WirelessWireless LANLAN

(d) Miminum is Denied, even if Conflict is present

**

* *

* *

Page 36: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Introduction à la notation URN - GRL 36

Algorithme qualitatif: Décomposition OU

InternetInternet

ConnectionConnection

IOR

WirelessWireless LANLAN

**

(a) Maximum is WeaklySatisfied

InternetInternet

ConnectionConnection

IOR

WirelessWireless LANLAN

(b) Maximum is Denied

**

InternetInternet

ConnectionConnection

IOR

WirelessWireless LANLAN

**

(c) Maximum is Conflict: Undecided is propagated

InternetInternet

ConnectionConnection

IOR

WirelessWireless LANLAN

(d) Maximum is Satisfied, even if Conflict is present

**

* *

* *

Page 37: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Introduction à la notation URN - GRL 37

Algorithme qualitatif: Contributions et acteurs

(a) Contributions: None is propagated (b) Contributions: WeaklySatisfied is propagated

Internet Wireless LAN

**

IncreaseMobility

InternetInternet WirelessWireless LANLAN

**

IncreaseMobility

Internet Wireless LAN

**

IncreaseMobility

InternetInternet WirelessWireless LANLAN

**

IncreaseMobility

Telecom Provider Low

Cost (L)

Reliability(H)

High Perf (M)

LowWeight

Telecom Provider Low

Cost (L)

Reliability(H)

High Perf (M)

LowWeight

Page 38: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Introduction à la notation URN - GRL 38

Algorithme qualitatif: Dépendence

Store

IncreaseVisibility

Telecom Provider

CreateAccount

InternetConnection

ChargeFees

LowCosts

*

*

Store

IncreaseVisibility

Telecom Provider

CreateAccount

InternetConnection

ChargeFees

LowCosts

*

*

Store

IncreaseVisibility

Telecom Provider

CreateAccount

InternetConnection

ChargeFees

LowCosts

*

*

Store

IncreaseVisibility

Telecom Provider

CreateAccount

InternetConnection

ChargeFees

LowCosts

*

*

(a) Minimum is WeaklyDenied

(b) Minimum is Denied, even if Conflict is present

Page 39: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Introduction à la notation URN - GRL 39

Algorithmes de propagation sous jUCMNav

6 algorithmes de propagation inclus (Roy2006 est remplacé par Mixed; Constraint-based en version beta)

Supporte la résolution automatique de conflitsUtilise les liens pour l’évaluation:

1) Décompositions, 2) Contributions, 3) Dépendances

« Tolérance » utilisée par les contributions de poids autres que 100 et -100

Page 40: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Motif (pattern) récurrent en GRL

Introduction à la notation URN - GRL 40

Page 41: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Exemple GRL #2 – Contexte

Modèle GRL qui se préoccupe de la protection de la vie privée dans un environnement hospitalier• 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.

Introduction à la notation URN - GRL 41

Page 42: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Exemple GRL #2 – Modèle

42

Page 43: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Un modèle, plusieurs diagrammes

43

Page 44: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

SatisfiedWeakly

Satisfied

Unknown

DeniedWeaklyDenied

Conflict None

(c) GRL Satisfaction Levels

Exemple GRL #2– Évaluation qualitative

44

Page 45: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Échelle: [-100, 100]

Exemple GRL #2– Évaluation quantitative

45

Page 46: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Inclusion de mesures dans les modèles GRL

• GRL inclut une notion de satisfaction de buts, avec des échelles qualitative et quantitative ([-100..100], et maintenant [0..100]).

• Cependant, nous avons souvent besoin de mieux relier les observations sur le monde réel au modèle orienté-buts, avec des unités spécifiques au domaine telles que:— Devises (p.ex., revenus en $)— Durées (p.ex., temps d’attente à l’hôpital, en heures)— Nombres (p.ex., nombre d’étudiants admis en SEG)

• GRL permet de définir ce genre d’information et de l’intégrer au reste du modèle— Indicateur (Key Performance Indicator ― KPI)

• Les KPI aident à mesurer les buts et les ENF avec des métriques quantifiables.

• Les KPI en GRL peuvent être fournies par des sources externes d’informations, transformant ainsi un modèle GRL en un outil de surveillance (p.ex.: un tableau de bord ― dashboard).

Introduction à la notation URN - GRL 46

Average Work Time (in min)

Page 47: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Indicateurs GRL (KPI)

En GRL, un KPI est défini comme étant un élément intentionnel, mais avec des caractéristiques supplémentaires:• Attributs (pour une stratégie GRL donnée)

—Une valeur d’évaluation (evaluation), observée de l’extérieur ou simulée dans une stratégie (what-if)

—Une valeur cible (target); le KPI est entièrement satisfait si la valeur d’évaluation l’atteint

—Une pire valeur (worst); le KPI est entièrement insatisfait si la valeur d’évaluation l’atteint

—Une valeur de seuil (threshold); le KPI est neutre si la valeur d’évaluation l’atteint.

—Une unité (unit), par exemple $• Associations (pour un modèle GRL donné)

— Peut faire partie de contributions ou de décompositions

Introduction à la notation URN - GRL 47

Page 48: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

KPI

Sub-process

Information Element(Dimension)

Per

form

ance

Mod

el

Lin

k

KPI Value sets

Strategies

Introduction à la notation URN - GRL 48

Page 49: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Coûts des employés

Profits maximisés

50

??????$1300 Gestionnaire

Attribute Value GRL Satisfaction

Target $1000 100

Threshold $1500 0

Worst-case $2500 -100

Current $1300 ???

Introduction à la notation URN - GRL 49

Indicateurs: De Current à Satisfaction

Page 50: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

2040(*)$1300 Gestionnaire

Attribute Value GRL Satisfaction

Target $1000 100

Threshold $1500 0

Worst-case $2500 -100

Current $1300 40

50

Introduction à la notation URN - GRL 50

Coûts des employés

Profits maximisés

Indicateurs: De Current à Satisfaction

Page 51: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Des KPI aux niveaux de satisfaction GRL

Eva

luat

ionV

alue

Evaluation Level

20 40 60 80-20-40-60-80

20

40

60

80

-20

-40

-60

-80

-100

100

Evaluation value Evaluation Level

Threshold Value

Target Value

Worst Value

100

0

-100

KPIGRL Strategy

(Evaluation Level)

> 100

< -100

Note:Une interpolation linéaire est présentement utilisée pour calculer la satisfaction,qui est fonction des valeurs evaluation, target, threshold, and worst.

Introduction à la notation URN - GRL 51

Page 52: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Évaluations impliquant des KPI

• Un KPI peut contribuer aux buts en GRL• La valeur d’évaluation d’un KPI peut

venir de l’extérieur• Les KPI peuvent être liés à des scénarios

Introduction à la notation URN - GRL 52

Page 53: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Vues multiples

Hospital

In

privacyOfficer: HospitalReject

submitToREBREB Committee

REB Approval

SubmitREBApprovalDW Administrator: HIC

technicalReview

Approved

CPOReview

Process Model Performance Model Goal Model

Introduction à la notation URN - GRL 53

Page 54: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Business

Process

Compliance with

URN

p. 54

Extensions de jUCMNav pour KPI

Page 55: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

KPI: Exemple de transport (de G. Mussbacher)

45

-10

-40 -3080

505040

60

Minimize costfor commute

Share ongoing cost

Minimize time lostby commute

Commuter

80

OR OR

RegularBus

ExpressBus

Takeown car

Hitch aride

Minimizeinfrastructure cost

Work duringcommute

Minimize travel time

Key Performance Indicator (KPI)

OR

Average Work Time (in min)

Average Travel Time (in min)

Average Ongoing Cost

(in $)

100

Commuting

100

100100

Take publictransport

Take privatetransport

Monthly Infrastructure

Cost (in $)

Page 56: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Introduction à la notation URN - GRL 56

Average Work Time (in min)

Average Travel Time (in min)

Average Ongoing Cost

(in $)

RegularBus

ExpressBus

Takeown car

Hitch aride

Threshold Value

Target Value

Worst Value

100

0

-100

KPIGRL Strategy

(Evaluation Level)

> 100

< -100

Model Value (Satisfaction Value)

Real WorldValue

Target Value (60)Threshold Value (5)Worst Value (0)

Target Value (20)Threshold Value (40)Worst Value (80)

Target Value (0)Threshold Value (50)Worst Value (500)

Target Value (60)Threshold Value (100)Worst Value (200)

Monthly Infrastructure

Cost (in $)

80

49

-4056

-10

4.5

-10

4.5

80

10

80

24

80

24

-90

455

-20

140

-20

120

80

68

20

92

-30

52

4529.75

60

76

80

10

KPI: Valeurs réelles vers valeurs de satisfaction

Page 57: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Introduction à la notation URN - GRL 57

Exécution de stratégies avec indicateurs (1/2)

KPI “Regular Bus”:Av. Work Time = 4980Av. Travel Time = 56-40Mo. Infrast. Cost = 1080Av. Ongoing Cost = 6880

OR

Example: Commuting

Average Work Time (in min)

Average Travel Time (in min)

Average Ongoing Cost

(in $)

505040

60

Minimize costfor commute

Minimizeinfrastructure cost

Share ongoing cost

OR OR

Minimize time lostby commute

Take publictransport

RegularBus

ExpressBus

Takeown car

Hitch aride

Work duringcommute

Minimize travel time

100

Take privatetransport

Commuter

100*

Minimize costfor commute

Minimizeinfrastructure cost

Share ongoing cost

Minimize time lostby commute

Take publictransport

ExpressBus

Takeown car

Hitch aride

Work duringcommute

Minimize travel time

Take privatetransport

100

0 0 0

0

80 80-40

20 80

80

RegularBus

RegularBus

CommutingCommuting

100100

100100

Monthly Infrastructure

Cost (in $)

Strategy “Regular Bus”:Regular Bus = 100

80*80*

80*

-40*

Average Work Time (in min)

Average Travel Time (in min)

Average Ongoing Cost

(in $)

Monthly Infrastructure

Cost (in $)Average Work Time (in min)

Average Travel Time (in min)

Average Ongoing Cost

(in $)

Monthly Infrastructure

Cost (in $)

Minimize time lostby commute (100)

Minimize costfor commute (50)

Commuter

40

Page 58: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Introduction à la notation URN - GRL 58

Exécution de stratégies avec indicateurs (1/2)

KPI “Hitch a ride”:Av. Work Time = 4.5-10Av. Travel Time = 2480Mo. Infrast. Cost = 140-20Av. Ongoing Cost = 9220

OR

Example: Commuting

Average Work Time (in min)

Average Travel Time (in min)

Average Ongoing Cost

(in $)

505040

60

Minimize costfor commute

Minimizeinfrastructure cost

Share ongoing cost

OR OR

Minimize time lostby commute

Take publictransport

RegularBus

ExpressBus

Takeown car

Hitch aride

Work duringcommute

Minimize travel time

100

Take privatetransport

Commuter

100*

Minimize costfor commute

Minimizeinfrastructure cost

Share ongoing cost

Minimize time lostby commute

Take publictransport

ExpressBus

Takeown car

Work duringcommute

Minimize travel time

Take privatetransport

0

0 00

100

-10 -2080

35 -4

20

RegularBus

CommutingCommuting

100100

100100

Monthly Infrastructure

Cost (in $)

Strategy “Hitch a ride”:Hitch a ride = 100

-10*-20*

20*

80*

22

Average Work Time (in min)

Average Travel Time (in min)

Average Ongoing Cost

(in $)

Monthly Infrastructure

Cost (in $)Average Work Time (in min)

Average Travel Time (in min)

Average Ongoing Cost

(in $)

Monthly Infrastructure

Cost (in $)

Minimize time lostby commute (100)

Minimize costfor commute (50)

Hitch aride

Hitch aride

Commuter

Page 59: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Agrégation de KPI

Algorithme d’évaluation GRL avec formules pour KPI

Dans jUCMNav, les valeurs d’évaluation KPI peuvent aussi être calculées(agrégées) à partir d’autres KPI, un peu à la manière d’Excel

Introduction à la notation URN - GRL 59

Page 60: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Autres langages orientée-butsNFR Framework, par Mylopoulos et al., Toronto:

• Analyse qualitative par propagation

i* Framework, par Yu et al., Toronto: • Modélisation d’organisation et de dépendances

KAOS (Keep All Objectives Satisfied), par van Lamsweerde et al., Louvain & Oregon

• Analyse d’obstacles, logique temporelle et vérification de modèles

GBRAM (Goal-Based Requirements Analysis Method), par Antón et al., Atlanta

Tropos , par Fuxman, Giorgini , Mylopoulos et al., Trento & Toronto • Pour conception de systèmes multi-agents, sécurité• Formal Tropos: logique temporelle et vérification de modèles

SMILE (Structural Modeling, Inference, and Learning Engine) et GeNie, par Druzdzel et al., Pittsburgh

• Aide à la décision, approches avec probabilités, théorie de la décision, et réseaux de Bayes

GRL est le premier à être standardisé

Bon aperçu: http://www.cs.utoronto.ca/~alexei/pub/Lapouchnian-Depth.pdf

Liste d’outils: http://istar.rwth-aachen.de/ (i* Wiki)Introduction à la notation URN - GRL 60

Page 61: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Dilbert et les buts

Introduction à la notation URN - GRL 61

Page 62: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Introduction à la notation URN - GRL 62

Métamodèle concret (pour diagrammes)

GRLmodelElement

IntentionalElementRef

GRLContainableElement0..*

1refs 0..*

def

1

CollapsedActorRef

Position

x : Integery : Integer

Actor

0..*

1

collapsedRefs 0..*

actor

1

Size

width : Integerheight : Integer

URNmodelElementDescription

description : String... 10..1

elem

1

desc

0..1

GRLLinkableElement

ConcreteStyle

lineColor : StringfillColor : Stringfilled : Boolean = false

0..1

0..1

linkElement0..1

style0..1

LinkRefBendpoint

x : Integery : Integer

Label

deltaX : IntegerdeltaY : Integer

ElementLink

GRLNode

1

0..1

pos1

grlNode0..1

1

0..1

size1

grlNode0..1

Comment

description : Stringx : Integery : Integerwidth : Integerheight : IntegerfillColor : String

ActorRef

1

0..1

pos 1

actorRef0..1

10..*actorDef

1actorRefs0..*

1

0..1

size1

actorRef0..1

0..1

0..*

contRef0..1

nodes0..*

0..1

1

actorRef0..1

label 1

LinkRef

curve : Boolean = false

0..*

1

bendpoints0..*

linkref1

{ordered}

0..*

1

pred0..*

target1

0..*

1

succ0..*

source1

0..1

0..1

linkRef0..1

label0..1

1

0..*

link1

refs0..*

ConcreteStrategy

author : String

ConcreteGRLspec

showAsMeansEnd : Boolean = false

GRLGraph

1

0..*

diagram1

nodes 0..*

0..1

0..*

grlGraph0..1

comments0..*

1

0..*

diagram1

contRefs0..*

1

0..*

diagram

1

connections0..*

EvaluationStrategy1 0..1

strategy

1

info

0..1

GRLspec

0..1

1info0..1

grlspec1

1

0..*

grlspec1

grlGraphs0..*

0..*

1

strategies 0..*

grlspec1

Page 63: «SEG 3501» D. Amyot uOttawa Introduction à la notation URN - GRL1 SEG 3601- Module 3 Introduction à la notation d’exigences utilisateur (URN) – Partie

«SEG 3501»

D. Amyot uOttawa

Introduction à la notation URN - GRL 63

Sommaire de la notation GRL

(a) GRL Elements

Belief

Goal Softgoal ResourceTask

Actor with BoundaryCollapsed

Actor

SatisfiedWeaklySatisfied

Unknown

DeniedWeaklyDenied

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

Indicator

Exceeds

+