using meta-model-driven views to address scalability in i* models jane you department of computer...

53
Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

Upload: madison-armstrong

Post on 05-Jan-2016

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

Using Meta-Model-Driven Views to Address Scalability in i* Models

Jane YouDepartment of Computer Science

University of Toronto

Page 2: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

2

Outline

Background Architecture of the view extension Features of the view extension

Reformulating i* using view View types View map

Representational constructs Related and future work Conclusions

Page 3: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

3

An Example

•1 out of four models from the London Ambulance Service (LAS) case study

•4 out of 10 actors in that model

•82 out of some 400 domain objects (elements and links)

Page 4: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

4

Scalability Issues in i*

Model a large-scale application into i* models

Present a large-scale i* model Perform analysis using i* models

Page 5: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

5

Research Objectives

A first step in address scalability—model representation

Seek a systematic method to break down a large and complex i* model into segments that are: self-contained comprehensible to human

Maintain inter-segment connections

Page 6: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

6

Outline

Background Architecture of the view extension Features of the view extension

Reformulating i* using view View types View map

Representational constructs Related and future work Conclusions

Page 7: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

7

Architecture of the View Extension

Domain Level Domain Level (Modeling (Modeling Features)Features)

Meta Level Meta Level (Representational (Representational

Constructs)Constructs)

ViewsViewClass Definition

View Map Syntax and Semantics

Reformulated i* framework

Selection Rule

View Type

View Maps

An i* baseline model

Qualified objects in a

specific view

View Name

Model layer (i*)

View layer (extension)

View management

Page 8: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

8

Outline

Background Architecture of the view extension Features of the view extension

Reformulating i* using view View types View map

Representational constructs Related and future work Conclusions

Page 9: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

9

The Original i* Framework

Strategic Dependency (SD) model: express the intentional relationship s among agents

Strategic Rationale (SR) model: show how processes are comprised of intentional elements of the agents

Adapted from Eric Yu’s 1994 PhD Thesis

Page 10: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

10

Reasons for Reformulation

The emergence of the Goal-oriented Requirements Language (GRL) framework

The separation of the actor diagram from the Strategic Dependency (SD) diagram

The release of the Organization Modelling Environment (OME) tool

Views in the proposed view extension are defined on i* meta-level concepts

Page 11: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

11

Baseline Model and View

The baseline model: a domain i* model which consists of the collection of i* objects (elements and links) structured according to i* syntax and semantics

View: presents a partial of the baseline model

Page 12: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

12

Four Basic View Types

Actor Class (AC) view: focusing on various forms of actors and the associations among the different forms of each actor

Strategic Dependency (SD) view: focusing on inter-actor dependencies

Strategic Rationale (SR) view: focusing on the internal rationales of the actors

Evaluation Results (EVLR) view: showing the results of the evaluation process

Page 13: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

13

A baseline model

Partial baseline model from the LAS case study

Page 14: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

14

The Basic AC View

Agent Instance

Specifies Link

Complete Composition Link

Page 15: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

15

The Basic SD View

External Link

Page 16: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

16

The Basic SR View

Decision Point

Page 17: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

17

The Basic EVLR View

Starting Label

Page 18: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

18

Outline

Background Architecture of the view extension Features of the view extension

Reformulating i* using view View types View map

Representational constructs Related and future work Conclusions

Page 19: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

19

View Type Properties

Category (AC | SD | SR ) Unique name (e.g. Single Actor

Focus SD view) Selection rule

One for each view type Formally defined in a Telos

compatible First Order Logic formulae

Page 20: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

20

AC View Types

One basic AC view type Six partial AC view types:

Plain-Actors-Only view Agents-Only view Abstract-Actors-Only view Single-Plain-Actor view Single-Network view Direct-Replaceable view

Page 21: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

21

An Original AC View

Page 22: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

22

Abstract-Actors-Only View

Page 23: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

23

Direct-Replaceable View

External relationship inheritance rule: automatically substitute one actor for

another according to the associations among actors

Page 24: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

24

SD View Types

Two basic view types: Plain-Actor-Based view Specified-Actor-Based view

Two partial view types (also work for SR views): Single-Actor-Focused SD view Pair-wise-Actors SD view

Page 25: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

25

Plain- and Specified-Actor-Based SD views

Actor with no plain form

Refine abstract dependum and

external link to instance ones

Page 26: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

26

SR View Types

Share same view types of SD A hierarchy of SR views based on the

Single-Actor-Focus SR view: Single-Actor-Internal view

Internal-Functional view Internal-Non-functional view

Single-Softgoal view Single-Actor-External view

Single-Affected-Dependum view Single-Affected-Actor view

Page 27: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

27

Single-Actor-Focus SR View

Page 28: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

28

Single-Actor-Internal View

Page 29: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

29

Single-Actor-External View

Page 30: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

30

Internal-Functional View

Page 31: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

31

Internal-Non-functional View

This case is also a Single-Softgoal view

Page 32: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

32

Single-Affected-Dependum View

The affected dependum

Page 33: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

33

Single-Affected-Actor View

This sample is taken from the Trusted Computing Group (TCG) casestudy—since we do not have such patterns in the LAS case study

The affected actor

Page 34: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

34

Outline

Background Architecture of the view extension Features of the view extension

Reformulating i* using view View types View map

Representational constructs Related and future work Conclusions

Page 35: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

35

Notations

Page 36: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

36

View Map

A generic view map (semantics)

A domain instance of the generic one

Page 37: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

37

An Domain View Map Sample

Page 38: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

38

Outline

Background Architecture of the view extension Features of the view extension

Reformulating i* using view View types View map

Representational constructs Related and future work Conclusions

Page 39: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

39

Embedded into Telos

To formally define the selection rules: the i* framework is embedded into Telos

To make the view extension extensible in a systematic manner: it is also embedded into Telos

Page 40: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

40

Sample Formal Representation of an i* model

% plain actor Ambulance Crew %TELL SimpleClass AmbulanceCrew_PlainActor IN ActorElementClass WITH

namedisplayName : “Ambulance Crew”

specifiedByLink: ACSpecifiesAC_Link

END% agent Ambulance Crew %TELL SimpleClass AmbulanceCrew_Agent IN AgentElementClass WITH

namedisplayName : “Ambulance Crew”

specifiesLink: ACSpecifiesAC_Link

children: AC_QualityService: AC_TimelinessService: AC_TimelinessArrivalLocation: AC_AccuracyAmbInfo …

[outDepLinks: AC_TALtoOptimalLink]

END

Page 41: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

41

Partial Meta-Model of the AC view

Page 42: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

42

Meta-Model of AC view classes

Page 43: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

43

Sample Selection Rule

internalNonfunctionalRule(v_a:InternalViewClass)::=

§o:ObjectClass· ov_a o{find_root_softgoals(a), {find_all_descendants(sg) | sg

find_root_softgoals(a) }}

The selection rule attached to the

Internal-Non-functional (SR) view:

Informal Description: An Internal-Non-functional view presents the

selectedactor, its top-level softgoals, and all the

descendants(reasoning structure) of these softgoals.

Page 44: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

44

O-Telos Query ClassesIndividual find_root_softgoals in GenericQueryClass isA SoftgoalElementClass with attribute,retrieved_attribute name : String attribute,parameter a : ActorElementClass attribute,constraint c : $ (this parent ~a) and

(not (exists l/LinkClass not (l in DependencyLinkClass) and

(l from this)) )$end

Page 45: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

45

O-Telos Query Classes (2)

Individual find_all_descendants in GenericQueryClass isA IntentionalElementClass with attribute,parameter ie : IntentionalElementClass attribute,constraint c : $ (this in find_direct_descendants[~ie/ie]) or

(exists d/IntentionalElementClass a/ActorElementClass(d parent a) and (this parent a) and(d in find_all_descendants[~ie/ie]) and (this in find_direct_descendants[d/ie]) ) $

end

Page 46: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

46

Outline

Background Features of the view extension

Architecture of the view extension Reformulating i* using view View types View map

Representational constructs Related and future work Conclusions

Page 47: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

47

Related work

Scalability handling in KAOS and EKD Multiple sub-models each grouping

related meta-concepts Using tool support to preserve

elements consistency and to maintain hierarchies of modeled elements (e.g., diagrams, concepts, etc.)

Provide text-based search engines

Page 48: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

48

Related Work (2)

Scalability Handling in OO and SADT: IDEF0 (a SADT approach) use node tree

to track relationships between diagrams Higraph-based visual formalization

introduces hierarchy to flat models Representation first approach taken by

most conceptual modeling researches

Page 49: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

49

Future work

Defining new view types Based on unused meta concepts (e.g.

routine, dependency strength, ect.) Based on domain knowledge-base

(e.g. attacker, defender, etc.) Seek heuristics for the modeling

process Broader applications

Page 50: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

50

Outline

Background Features of the view extension

Architecture of the view extension Reformulating i* using view View types View map

Representational constructs Related and future work Conclusions

Page 51: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

51

Conclusions

This work offers a systematic approach to present large scale i* models

The foundation lies in the notion of view

Proposed a view extension As a by-product, streamlined the i*

framework

Page 52: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

52

References

38 references, please see my thesis for detail

http://www.cs.toronto.edu/~janeyou/avs/master-thesis-v4.3.pdf

Page 53: Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto

53

Discussion