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

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

description

Using Meta-Model-Driven Views to Address Scalability in i* Models. Jane You Department of Computer Science University of Toronto. Outline. Background Architecture of the view extension Features of the view extension Reformulating i* using view View types View map - PowerPoint PPT Presentation

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

15

The Basic SD View

External Link

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

16

The Basic SR View

Decision Point

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

17

The Basic EVLR View

Starting Label

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

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

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

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

21

An Original AC View

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

22

Abstract-Actors-Only View

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

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

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

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

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

27

Single-Actor-Focus SR View

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

28

Single-Actor-Internal View

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

29

Single-Actor-External View

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

30

Internal-Functional View

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

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

32

Single-Affected-Dependum View

The affected dependum

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

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

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

35

Notations

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

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

37

An Domain View Map Sample

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

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

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

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

41

Partial Meta-Model of the AC view

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

42

Meta-Model of AC view classes

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

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

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

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

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

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

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

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

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

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

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

53

Discussion