Post on 04-Apr-2015
«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
«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]
«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
«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
«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
«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
«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
«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
«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
«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
«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
«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
«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
«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
«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
«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
«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
«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
«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
«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
«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
«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)
«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
«SEG 3501»
D. Amyot uOttawa
Outil SanDriLa (plug-in pour Visio)
Introduction à la notation URN - GRL 24
«SEG 3501»
D. Amyot uOttawa
Outil OpenOME, avec plug-in Eclipse(http://www.cs.toronto.edu/km/openome/)
Introduction à la notation URN - GRL 25
«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
«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 = ""
«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)
«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
«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.
«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
«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
«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.
«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
«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
**
* *
* *
«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
**
* *
* *
«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
«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
«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
«SEG 3501»
D. Amyot uOttawa
Motif (pattern) récurrent en GRL
Introduction à la notation URN - GRL 40
«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
«SEG 3501»
D. Amyot uOttawa
Exemple GRL #2 – Modèle
42
«SEG 3501»
D. Amyot uOttawa
Un modèle, plusieurs diagrammes
43
«SEG 3501»
D. Amyot uOttawa
SatisfiedWeakly
Satisfied
Unknown
DeniedWeaklyDenied
Conflict None
(c) GRL Satisfaction Levels
Exemple GRL #2– Évaluation qualitative
44
«SEG 3501»
D. Amyot uOttawa
Échelle: [-100, 100]
Exemple GRL #2– Évaluation quantitative
45
«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)
«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
«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
«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
«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
«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
«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
«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
«SEG 3501»
D. Amyot uOttawa
Business
Process
Compliance with
URN
p. 54
Extensions de jUCMNav pour KPI
«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 $)
«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
«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
«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
«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
«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
«SEG 3501»
D. Amyot uOttawa
Dilbert et les buts
Introduction à la notation URN - GRL 61
«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
«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
+