a lightweight grl profile for i* modeling presenter: alexei lapouchnian daniel amyot, jennifer...

22
A Lightweight GRL Profile for i* Modeling Presenter: Alexei Lapouchnian Daniel Amyot, Jennifer Horkoff, Daniel Gross, and Gunter Mussbacher {damyot, gunterm}@site.uottawa.ca [email protected] [email protected]

Upload: bartholomew-osborne

Post on 04-Jan-2016

228 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Lightweight GRL Profile for i* Modeling Presenter: Alexei Lapouchnian Daniel Amyot, Jennifer Horkoff, Daniel Gross, and Gunter Mussbacher {damyot, gunterm}@site.uottawa.ca

A Lightweight GRL Profile for i* Modeling

Presenter: Alexei Lapouchnian

Daniel Amyot, Jennifer Horkoff, Daniel Gross,and Gunter Mussbacher

{damyot, gunterm}@[email protected]

[email protected]

Page 2: A Lightweight GRL Profile for i* Modeling Presenter: Alexei Lapouchnian Daniel Amyot, Jennifer Horkoff, Daniel Gross, and Gunter Mussbacher {damyot, gunterm}@site.uottawa.ca

Motivation

• i* is a popular goal-modeling language, but it is not standard– Different understandings of what i* really is– Many styles, dialects and extensions that are incompatible– Much effort duplicated in tool support

• The Goal-oriented Modeling Language (GRL) is standardized as part of ITU-T’s User Requirements Notation (URN)

• Can i* be cast as a GRL lightweight profile?• Potential benefits:

– Standard representations (graphical and interchange)– Access to GRL tools and analysis techniques– Integration with Use Case Maps as part of URN– Extensibility to further explore new goal-oriented concepts

A Lightweight GRL Profile for i* Modeling, RIGiM’09, Nov. 2009

p. 2

Page 3: A Lightweight GRL Profile for i* Modeling Presenter: Alexei Lapouchnian Daniel Amyot, Jennifer Horkoff, Daniel Gross, and Gunter Mussbacher {damyot, gunterm}@site.uottawa.ca

A Lightweight GRL Profile for i* Modeling, RIGiM’09, Nov. 2009

p. 3

Overview

• i* in a nutshell• URN, GRL, and the jUCMNav tool• i* and GRL: commonalities and differences• Lightweight profile• Tool support• Conclusions

Page 4: A Lightweight GRL Profile for i* Modeling Presenter: Alexei Lapouchnian Daniel Amyot, Jennifer Horkoff, Daniel Gross, and Gunter Mussbacher {damyot, gunterm}@site.uottawa.ca

i* in a Nutshell

• Popular conceptual modeling language for capturing and analyzing socio-technical motivation and properties of complex systems in terms of (social) actors, their intentions, and their relationships

• Two major types of diagrams:– Strategic Dependency (SD) models, where actors and their

dependencies are emphasized– Strategic Rationale (SR) models, where actor intentions

and their relationships are emphasized• Led to numerous extensions and adaptations (see the i* Wiki),

many of which with tool support– At times, there are many variants of the language in the

same research group!

A Lightweight GRL Profile for i* Modeling, RIGiM’09, Nov. 2009

p. 4

Page 5: A Lightweight GRL Profile for i* Modeling Presenter: Alexei Lapouchnian Daniel Amyot, Jennifer Horkoff, Daniel Gross, and Gunter Mussbacher {damyot, gunterm}@site.uottawa.ca

User Requirements Notation - URN

• Semi-formal, lightweight graphical language for modeling and analyzing requirements in the form of goals and scenarios

• Combines two complementary notations– Goal-oriented Requirement Language (GRL)

• Based on i* and the NFR Framework– Use Case Maps (UCMs) scenario notation

• Standardized by the International Telecommunication Union– ITU-T Recommendation Z.151, November 2008– URN metamodel, syntax, semantics, and model analysis– Same language family as SDL, MSC, TTCN-3, and ASN.1

• URN models can be used to specify and analyze various types of reactive/telecom systems and business processes

A Lightweight GRL Profile for i* Modeling, RIGiM’09, Nov. 2009

p. 5

Page 6: A Lightweight GRL Profile for i* Modeling Presenter: Alexei Lapouchnian Daniel Amyot, Jennifer Horkoff, Daniel Gross, and Gunter Mussbacher {damyot, gunterm}@site.uottawa.ca

Summary of GRL Graphical Syntax

A Lightweight GRL Profile for i* Modeling, RIGiM’09, Nov. 2009

p. 6

(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

(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

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

Concrete syntax is already based on i*

Page 7: A Lightweight GRL Profile for i* Modeling Presenter: Alexei Lapouchnian Daniel Amyot, Jennifer Horkoff, Daniel Gross, and Gunter Mussbacher {damyot, gunterm}@site.uottawa.ca

GRL Metamodel: Core Concepts

A Lightweight GRL Profile for i* Modeling, RIGiM’09, Nov. 2009

p. 7

Contribution

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

ContributionType

MakeHelpSomePositiveUnknownSomeNegativeHurtBreak

<<enumeration>>Decomposition

DecompositionType

ANDXORIOR

<<enumeration>>

Dependency

ImportanceType

HighMediumLowNone

<<enumeration>>IntentionalElementType

SoftgoalGoalTaskResourceBelief

<<enumeration>>

GRLmodelElement

GRLLinkableElementElementLink 0..* 1linksDest0..*

dest1

0..*1linksSrc

0..* src

1

GRLspec

0..*

1

links0..*

grlspec1

IntentionalElement

type : IntentionalElementTypedecompositionType : DecompositionType = ANDimportance : ImportanceType = NoneimportanceQuantitative : Integer = 0

0..*

1

intElements

0..*

grlspec1

Actor

0..*

1

actors0..*

grlspec1

0..*

0..1

elems0..*

actor0..1

URNmodelElement

id : Stringname : String

Page 8: A Lightweight GRL Profile for i* Modeling Presenter: Alexei Lapouchnian Daniel Amyot, Jennifer Horkoff, Daniel Gross, and Gunter Mussbacher {damyot, gunterm}@site.uottawa.ca

User Requirements Notation, ITU-T Workshop, 2008

p. 8

URN Tool: jUCMNav

• Free (EPL), open-source plug-in for Eclipse• Supports most of GRL and UCM notation elements• One model, multiple diagrams (scalability and reuse)• Four GRL evaluation algorithms, with colour highlight

– Qualitative and quantitative propagation mechanisms• UCM path traversal mechanism• Also:

– Export performance models to Core Scenario Model– Integration with DOORS for Requirements Management– Export to, and viewing of Message Sequence Charts– Extensions for Business Process Modelling– Report generation (RTF, PDF, HTML)– Verification of user-defined (OCL) rules

Enables restrictions on the language or on extensions of the language

Page 9: A Lightweight GRL Profile for i* Modeling Presenter: Alexei Lapouchnian Daniel Amyot, Jennifer Horkoff, Daniel Gross, and Gunter Mussbacher {damyot, gunterm}@site.uottawa.ca

A Lightweight GRL Profile for i* Modeling, RIGiM’09, Nov. 2009

p. 9

GRL Editor with Strategy Evaluation

Navigator view

Outlineview

Editor

Scenarios and Strategies view

Propertiesview

Toolbar

Palette

Propagation mechanisms inspired from the NFR framework, but automated

Page 10: A Lightweight GRL Profile for i* Modeling Presenter: Alexei Lapouchnian Daniel Amyot, Jennifer Horkoff, Daniel Gross, and Gunter Mussbacher {damyot, gunterm}@site.uottawa.ca

Commonalities and Differences

• Commonalities: actors, intentional elements, dependencies, contributions, and decompositions.

• Missing first-class concepts in GRL: GRL has only actors, whereas i* also defines the notions of roles, agents and positions. i* has many types of relationships between such actors (e.g. ISA). GRL does not distinguish between SD and SR models.

• GRL permissiveness: GRL is voluntarily permissive in how intentional elements can be linked to each other. However, i* proposes more specific and restrictive usages of relationships. For instance, an i* contribution link cannot have a task as a destination.

• Additional concepts in GRL: GRL contains additional first-class concepts such as strategies (for the analysis of GRL models), metadata, and URN links (which enable the creation of typed links between any GRL/UCM elements).

A Lightweight GRL Profile for i* Modeling, RIGiM’09, Nov. 2009

p. 10

Page 11: A Lightweight GRL Profile for i* Modeling Presenter: Alexei Lapouchnian Daniel Amyot, Jennifer Horkoff, Daniel Gross, and Gunter Mussbacher {damyot, gunterm}@site.uottawa.ca

GRL Metamodel: URN Links/Metadata and GRL Strategies

A Lightweight GRL Profile for i* Modeling, RIGiM’09, Nov. 2009

p. 11

GRLmodelElement

URNmodelElement

id : Stringname : String

Metadata

name : Stringvalue : String0..1 0..*

elem

0..1

metadata

0..*

URNlink

type : String

1

0..*

fromElem 1

fromLinks0..* 0..*

1

toLinks0..*

toElem1

UCMmodelElement

GRLmodelElement

QualitativeLabel

DeniedWeaklyDeniedWeaklySatisfiedSatisfiedConflictUnknownNone

<<enumeration>>

IntentionalElement

Evaluation

evaluation : Integer = 0qualitativeEvaluation : QualitativeLabel = None

1

0..*

intElement1

evals0..*

StrategiesGroupGRLspec

0..*

1

intElements0..*

grlspec 10..*

1 groups

0..*

grlspec1

EvaluationStrategy

0..*

1

evaluations 0..*

strategies 1

0..* 1..*

strategies0..*

group1..*1

0..*

grlspec1

strategies0..*

Enables lightweight extensions to the language (new attributes and relationships)

Enables the quantitative/qualitative analysis of goal models

Page 12: A Lightweight GRL Profile for i* Modeling Presenter: Alexei Lapouchnian Daniel Amyot, Jennifer Horkoff, Daniel Gross, and Gunter Mussbacher {damyot, gunterm}@site.uottawa.ca

A GRL Lightweight Profile...

• Makes use of metadata to support stereotyped elements– E.g.: adding the metadata {name=“ST_iStar”, value=“Agent”}

to a GRL Actor turns it into an i* Agent• Makes use of URN links to support new relationships

– E.g.: adding a URN link whose type is “Plays” between teo stereotyped GRL actors

• Example with jUCMNav, where the presence of a URN link is indicated by a triangle, and the details shown when hovering

A Lightweight GRL Profile for i* Modeling, RIGiM’09, Nov. 2009

p. 12

MyAgent SomeRolePlays

Page 13: A Lightweight GRL Profile for i* Modeling Presenter: Alexei Lapouchnian Daniel Amyot, Jennifer Horkoff, Daniel Gross, and Gunter Mussbacher {damyot, gunterm}@site.uottawa.ca

• Makes use of OCL constraints on GRL and on the extensions previously discussed to restrict them to an i* style– The i* Wiki discusses strict (error) and loose (warning)

rules for i* models• Example: (Strict) Contribution links must only have softgoals as

destinations.

context grl::Contribution

inv SoftgoalAsContributionDestination:

self.dest.oclIsTypeOf(grl::IntentionalElement)

and

(self.dest.oclAsType(grl::IntentionalElement)).type=

IntentionalElementType::Softgoal

A Lightweight GRL Profile for i* Modeling, RIGiM’09, Nov. 2009

p. 13

A GRL Lightweight Profile...

Page 14: A Lightweight GRL Profile for i* Modeling Presenter: Alexei Lapouchnian Daniel Amyot, Jennifer Horkoff, Daniel Gross, and Gunter Mussbacher {damyot, gunterm}@site.uottawa.ca

User-Defined Constraints in jUCMNav

• Allows the creation, grouping, and selection of OCL constraints checked against URN models

• Report constraint violations in the Problems view• No need to recompile the tool• Based on the MDT-OCL Eclipse project• Predefined library of OCL queries

A Lightweight GRL Profile for i* Modeling, RIGiM’09, Nov. 2009

p. 14

Page 15: A Lightweight GRL Profile for i* Modeling Presenter: Alexei Lapouchnian Daniel Amyot, Jennifer Horkoff, Daniel Gross, and Gunter Mussbacher {damyot, gunterm}@site.uottawa.ca

Constraints can be created/deleted, grouped, and selected

Page 16: A Lightweight GRL Profile for i* Modeling Presenter: Alexei Lapouchnian Daniel Amyot, Jennifer Horkoff, Daniel Gross, and Gunter Mussbacher {damyot, gunterm}@site.uottawa.ca

Example of a constraint definition

Page 17: A Lightweight GRL Profile for i* Modeling Presenter: Alexei Lapouchnian Daniel Amyot, Jennifer Horkoff, Daniel Gross, and Gunter Mussbacher {damyot, gunterm}@site.uottawa.ca

18 Constraints Defined in the Profile...

• On intentional elements and links (3 strict, 3 loose)• On actor boundaries and dependencies (3 strict, 3 loose)• On new metadata elements and URN links (5 strict, 1 loose)

– Example: (Strict) ISA (generalization) must be between two actors of the same type

context grl::Actor

inv ISAbetweenSimilarActors:

self.getLinksToForType('ISA')

-> forAll (a | a.oclIsTypeOf(grl::Actor) and

(a.getMetadata('ST_iStar') = self.getMetadata('ST_iStar')))

(where getMetadata() and getLinksToForType() are predefined in our OCL library)

A Lightweight GRL Profile for i* Modeling, RIGiM’09, Nov. 2009

p. 17

Page 18: A Lightweight GRL Profile for i* Modeling Presenter: Alexei Lapouchnian Daniel Amyot, Jennifer Horkoff, Daniel Gross, and Gunter Mussbacher {damyot, gunterm}@site.uottawa.ca

Invokes the verification of the selected constraints on the current URN model

Page 19: A Lightweight GRL Profile for i* Modeling Presenter: Alexei Lapouchnian Daniel Amyot, Jennifer Horkoff, Daniel Gross, and Gunter Mussbacher {damyot, gunterm}@site.uottawa.ca

Result summary

Errors and warnings generated

Page 20: A Lightweight GRL Profile for i* Modeling Presenter: Alexei Lapouchnian Daniel Amyot, Jennifer Horkoff, Daniel Gross, and Gunter Mussbacher {damyot, gunterm}@site.uottawa.ca

A Lightweight GRL Profile for i* Modeling, RIGiM’09, Nov. 2009

p. 20

Clicking on a problem brings the violating model element on screen (in the Editor or in the Outline)

Page 21: A Lightweight GRL Profile for i* Modeling Presenter: Alexei Lapouchnian Daniel Amyot, Jennifer Horkoff, Daniel Gross, and Gunter Mussbacher {damyot, gunterm}@site.uottawa.ca

Conclusions

• GRL can be profiled through metadata, URN links, and OCL constraints

• Demonstrated with a lightweight GRL profile for i*– Captures concepts unique to i* – Restricts the usage of GRL (and extensions) to comply with i*

guidelines– Supported by the jUCMNav tool

• Benefits– Casting of i* onto a standardized metamodel (URN’s) – Enables the use of GRL-like analysis for i* models (strategies)– Framework for the comparison of i* stylistic guidelines and

evaluation algorithms– Common representation of i* models– Enables low-cost prototyping and exploration of new language

features

A Lightweight GRL Profile for i* Modeling, RIGiM’09, Nov. 2009

p. 21

Page 22: A Lightweight GRL Profile for i* Modeling Presenter: Alexei Lapouchnian Daniel Amyot, Jennifer Horkoff, Daniel Gross, and Gunter Mussbacher {damyot, gunterm}@site.uottawa.ca

For More Information

• URN Virtual Library:

– http://www.UseCaseMaps.org/pub/

– Over 225 papers and theses

• jUCMNav (version 4):

– http://jucmnav.softwareengineering.ca/jucmnav/

A Lightweight GRL Profile for i* Modeling, RIGiM’09, Nov. 2009

p. 22