+ All Categories
Home > Technology > The notion of Specialization in the i* Framework

The notion of Specialization in the i* Framework

Date post: 15-Dec-2014
Category:
Upload: gessi-upc
View: 373 times
Download: 2 times
Share this document with a friend
Description:
This thesis provides a formal proposal for the specialization relationship in the i* framework that allows its use in a well-defined manner. I root my proposal over existing works in different areas that are interested in representing knowledge: knowledge representation from Artificial Intelligence and conceptual modeling and object-oriented programming languages from Software Development. Also, I use the results of a survey conducted in the i* community that provides some insights about what i* modelers expect from specialization. As a consequence of this twofold analysis, I identify three specialization operations: extension, refinement and redefinition. For each of them, I: • motivate its need and provide some rationale; • distinguish the several cases that can occur in each operation; • define the elements involved in each of these cases and the correctness conditions that must be fulfilled; • demonstrate by induction the fulfilment of the conditions identified for preserving satisfaction; • provide some illustrative examples in the context of an exemplar about travel agencies and travelers. The specialization relationship is offered by the i* framework through the is-a construct defined over actors (a subactor is-a superactor) since it was first released. Although the overall meaning of this construct is highly intuitive, its effects at the level of intentional elements and dependencies are not always clear, hampering seriously its appropriate use. In order to be able to reason about correctness and satisfaction, I define previously the conditions that must be preserved when a specialization takes place. In addition, I provide a methodology with well-defined steps that contextualize the formal aspects of this thesis in a development process. As a conclusion, this thesis is making possible the use of the specialization relationship in i* in a precise, non-ambiguous manner.
Popular Tags:
54
The notion of Specialization in the i* Framework Lidia López Cuesta May, 16 th 2013 Advisor s: Dr. Xavier Franch Dr. Jordi Marco PhD Defense
Transcript
Page 1: The notion of Specialization in the i* Framework

The notion of Specialization in the

i* Framework

Lidia López Cuesta

May, 16th 2013

Advisors:Dr. Xavier Franch

Dr. Jordi MarcoPhD Defense

Page 2: The notion of Specialization in the i* Framework

What will I talk … in the next 45 minutes?

Introduction

•Motivation•Research Objective•Research Questions•Methodological Approach

State of the Art

•In Related Areas•In the i* Literature•According to the i* Community

Specialization Proposal

•is-a link•i* Model Correctness•Specialization Proposal•Extension•Refinement•Redefinition•Methodology

Conclusions & Future Work

•Contributions•Future Lines of Work•Publications

May 2013 The notion of Specialization in the i* Framework 2

Introduction State of the ArtSpecialization

ProposalConclusions & Future Work

Page 3: The notion of Specialization in the i* Framework

Outline

Introduction

• Motivation• Research Objective• Research Questions• Methodological Approach

State of the Art

Specialization Proposal

Conclusions & Future Work

May 2013 The notion of Specialization in the i* Framework 3

Page 4: The notion of Specialization in the i* Framework

MotivationTwo types of i* diagrams

SD Diagrams

SR Diagrams

They need to be synchronized

Customer

Name a Price

Buy Travel

Travel Agency

Travels Bought Easily

Easily Bought

CustomerTravel

AgencyEasily Bought

May 2013 The notion of Specialization in the i* Framework 4

Page 5: The notion of Specialization in the i* Framework

My focus: specialization in i* through is-a

Motivation

• How are the IEs belonging to Customer inherited in Family?

• What manipulations are valid over them?– E.g., may Buy Travel have additional subtasks?

• Do Customer dependencies apply to Family?May 2013 The notion of Specialization in the i* Framework 5

Page 6: The notion of Specialization in the i* Framework

Motivation

The ultimate effect of is-a is not clear• The i* guide does not define it• i* modellers use it intuitively

May 2013 The notion of Specialization in the i* Framework 6

Page 7: The notion of Specialization in the i* Framework

Research Objective

Presenting a set of specialization operations applicable in the process of building models with the i* language.

May 2013 The notion of Specialization in the i* Framework 7

Page 8: The notion of Specialization in the i* Framework

Presenting a set of specialization operations applicable in the process of building models with the i* language.

Research Questionsi*

Specialization proposed

Define i* Specialization

Operations

RQ2: Define i* Language

Core

RQ1:Specialization Applied Correctly

RQ3: Validate i* model

Correcteness

May 2013 The notion of Specialization in the i* Framework 8

RQ1: How can actor specialization be applied when building models with the i* language?

RQ2: What constructs configure the i* language core?

RQ3: How can the model correctness be validated when specialization is used in i* models?

Page 9: The notion of Specialization in the i* Framework

Research Questionsi*

Specialization proposed

V2: Formalize operations

V3: Formal validation for operations

V4: provide Tool Support

Define i* Specialization

Operations

RQ2: Define i* Language

Core

RQ1:Specialization Applied Correctly

RQ1-1: Identify the i* current use

AND

RQ1-2.1: specialization in other areas

RQ1-2.2: define

operations semantics

RQ1-2.3: define

operationssyntax

RQ1-2: define admisible

modifications

ANDAND

RQ1-3: define

methodology V1: Run Academic Exemplar

AND RQ3: Validate i* model

Correcteness

Define i* Model

Correctness

May 2013 The notion of Specialization in the i* Framework 9

Page 10: The notion of Specialization in the i* Framework

Methodological Approach

Formal Analysis

Correctness Validation

Proof of Concept

Methodology Validation

New Techniques

Specialization Proposal

Analytic Models

Formalize

Descriptive Models

Understand the

phenomenom

May 2013 The notion of Specialization in the i* Framework 10

Page 11: The notion of Specialization in the i* Framework

Formal Analysis

Correctness Validation

Proof of Concept

Methodology Validation

New Techniques

Specialization Proposal

Analytic Models

Formalize

Descriptive Models

Understand the

phenomenom

Methodological Approach

May 2013 The notion of Specialization in the i* Framework 11

Formal Analysis

Correctness Validation

V3•Formal Validation

Proof of Concept

Methodology Validation

V1•Academic Exemplar

V4•Tool Support: HiME

New Techniques

Specialization Proposal

RQ1-2.2•Operation Semantics

RQ1-2.3•Operation Syntax

RQ1-3•Methodology

Analytic Models

Formalize

RQ2• i* Language

RQ3• i* Models Correctness

V2•Operations

Descriptive Models

Understand the

phenomenom

RQ1-1• i* models• i* survey

RQ1-2.1•Related Areas

RQ2• i* models• i* dialects

RQ3• i* Models Correctness

Stage1: Initial ProposalStage 2:

Proposal Consolidtion

Stage 3: Proposal Validation

V4•Tool Support: REDEPEND

Page 12: The notion of Specialization in the i* Framework

Outline

Introduction

State of the Art

• In Related Areas• In the i* Literature• According to the i* Community

Specialization Proposal

Conclusions & Future Work

May 2013 The notion of Specialization in the i* Framework 12

Page 13: The notion of Specialization in the i* Framework

State of the Art

i* Survey

i* Literature

Related Areas

SD

CM

KR

May 2013 The notion of Specialization in the i* Framework 13

Page 14: The notion of Specialization in the i* Framework

Knowledge Representation

• Semantic Networks (Quillian 1966)

KR SD

CM

Attribute Cancelation

May 2013 The notion of Specialization in the i* Framework 14

EXCEPTIONS

Page 15: The notion of Specialization in the i* Framework

Software Development• Inheritance - main characteristics in OOP• Simula 67(1968)

– Order class Single Order• Nowadays

– Java, C# - overrides for methods– Visual Basic – shadows

• More than programing languages…– Eiffel – Contracts (restricting methods)– Taxomania rule (taxo + mania)

KR SD

CM

Taxomania RuleEvery heir must introduce a feature,

redeclare an inherited feature, or add an invariant clause

May 2013 The notion of Specialization in the i* Framework 15

Page 16: The notion of Specialization in the i* Framework

Conceptual Modelling• 1975: “Conceptual Model”• 1976: ER (Chen) EER (inheritance)• Nowadays: UML

– 1997 v1.0: only new features– 2005 v2.0: includes redefinition

• IS-A hierarchies: Template vs. Prototype

KR SD

CM

May 2013 The notion of Specialization in the i* Framework 16

Page 17: The notion of Specialization in the i* Framework

Specialization in Related Areas

Area ApproachIntroduce

featureAdd Invariant Redeclare feature

Knowledge Representation

Strict NewAttributes

Does not Apply No

Defeasible Does not Apply Attribute Cancellation

OO Languages

Simula 67

New Properties & Methods

Simulation accessing properties via methods

No

Smalltalk-80, Delphi, C++, C#, Java

Overrides for methodsSimulation for properties accessing via methods

Visual BasicOverrides and Shadows for

properties and methods

Eiffel Adding invariantsRenaming and Redefinition for routines and procedures

using contracts

Conceptual Modeling

Semantic data models

New Attributes &

Methods

No No

UMLFeatures Restriction (cardinality, visibility,…)

Attributes and Roles Renaming

Borgida & Mylopoulos Attributes No

KR SD

CM

May 2013 The notion of Specialization in the i* Framework 17

Taxomania RuleEvery heir must introduce a feature,

redeclare an inherited feature, or add an invariant clause

Page 18: The notion of Specialization in the i* Framework

Specialization in i* Literaturei*

Literature

1995

Introduce a feature

Add invariant

May 2013 The notion of Specialization in the i* Framework 18

SR?

Subactor

Superactor

Page 19: The notion of Specialization in the i* Framework

Specialization in i* Literaturei*

Literature

May 2013 The notion of Specialization in the i* Framework 19

Regurlarly used but no

details

Page 20: The notion of Specialization in the i* Framework

i* Surveyi*

Survey

Q1 How often do you use is-a links in the i* models that you develop?

Q2 If you use is-a links, do you have any doubt about their usage?

Q3 If A is-a B, what is the consequence regarding dependencies at the SD model level?

Q4 If A is-a B, what is the consequence regarding the SR model level?

B

A

is-a

3; 14%

6; 29%9; 43%

2; 9%

1; 5%

Q1: Using is-a Link

Never

Rarely

Sometimes

Often

Very Often

57%

3; 16%

13; 68%

3; 16%

Q2: Doubts about construct?

No

Yes, no fundamental

Yes

84%

21 valid responses, 10-15% of the population (2010; 4th i* workshop)

Q1 Q2

May 2013 The notion of Specialization in the i* Framework 20

Page 21: The notion of Specialization in the i* Framework

i* Surveyi*

Survey

Q1 How often do you use is-a links in the i* models that you develop?

Q2 If you use is-a links, do you have any doubt about their usage?

Q3 If A is-a B, what is the consequence regarding dependencies at the SD model level?

Q4 If A is-a B, what is the consequence regarding the SR model level?

B

A

is-a8

18

1

8

00

5

10

15

20

No Changes Add Remove Modify Other

Q3: Dependencies...

3

19

23

00

5

10

15

20

No Changes Add Remove Modify Other

Q4: SR Elements...

Q3 Q4

85% 90%

14% 38%5% 10%

May 2013 The notion of Specialization in the i* Framework 21

21 valid responses, 10-15% of the population (2010; 4th i* workshop)

Page 22: The notion of Specialization in the i* Framework

…as a Resulti* Survey

i* models

KR SD

CM

Introduce Feature

AddInvariant

RedeclareFeature

Knowledge Representation All N/A Defeasible

OO Languages All All All – Simula

Conceptual Modelling All All – ER None

i* Literature All Yu None

i* Survey 85-90% 14-38% 5-10%

i* Specialization Operations Extension Refinement RedefinitionModels reuse (Open-Closed principle) & Exceptions modeling

May 2013 The notion of Specialization in the i* Framework 22

+

Page 23: The notion of Specialization in the i* Framework

Outline

Introduction

State of the Art

Specialization Proposal

• is-a link• i* Model Correctness• Specialization Proposal

• Extension• Refinement• Redefinition

• Methodology

Conclusions & Future Work

May 2013 The notion of Specialization in the i* Framework 23

Page 24: The notion of Specialization in the i* Framework

is-a Link• Transitive• Acyclic• No dependencies from subactor to

superactor

24May 2013 The notion of Specialization in the i* Framework

Page 25: The notion of Specialization in the i* Framework

Subactor / Superactor• Subactor inherits from superactor:

– All inside the boundary– All dependencies– All actor links

May 2013 The notion of Specialization in the i* Framework 25

Page 26: The notion of Specialization in the i* Framework

i* Models Correctness• LSP (Software Development)• LSP (SD) The subtype instances are also

the supertype’• LSP (i*) subactor can substitute its

superactor– Superactor’s incoming dependencies kept– Subactor satisfaction must imply superactor’s

• sat(a, M) sat(b, M) b

a

is-a

Liskov Substitution PrincipleIf for each object o1 of type S there is an

object o2 of type T such that for all programs P defined in terms of T, the behavior of P is unchanged when o1 is substituted for o2,

then S is a subtype of T.

May 2013 The notion of Specialization in the i* Framework 26

Page 27: The notion of Specialization in the i* Framework

Actor Satisfaction

May 2013 The notion of Specialization in the i* Framework 27

sat(a, M) = doutgoingDeps(a): sat(d)

Page 28: The notion of Specialization in the i* Framework

Actor Satisfaction

May 2013 The notion of Specialization in the i* Framework 28

sat(a, M) = iemainIEs(a): sat(ie, M)

main1

a

main2

g sgt

main1

b

Page 29: The notion of Specialization in the i* Framework

Specialization Proposal

• 3 kinds of specialization: Extension, Refinement and Redefinition.

• 9 specific operations (3 for each kind)– Intentional Elements– Intentional Element Links– Dependencies

• 1 operation per element

May 2013 The notion of Specialization in the i* Framework 29

Page 30: The notion of Specialization in the i* Framework

from the State of the Art

i* Survey

i* Literature

SD

CM

KR

May 2013 The notion of Specialization in the i* Framework 30

Page 31: The notion of Specialization in the i* Framework

Specialization Syntax

• Subactor only includes relevant elements• New Elements: regular lines• Inherited modified Elements: regular lines• Inherited non-modified Elements: dotted

lines• Specialized Elements: [] for the inherited

element name• Deleted Elements (redefinition): cross out

May 2013 The notion of Specialization in the i* Framework 31

Page 32: The notion of Specialization in the i* Framework

Extension

New Dependencies

New Dependencies

New Int. Elements

New IE LinksNew Dependencies

New Int. Elements

New IE Links

New Properties

New Methods

New Attributes

New Methods

New Attributes

May 2013 The notion of Specialization in the i* Framework 32

Page 33: The notion of Specialization in the i* Framework

New Intentional Element

Correctness condition: actors with internal Intentional Elements

Semantics: Add a new Main IE

May 2013 The notion of Specialization in the i* Framework 33

Page 34: The notion of Specialization in the i* Framework

New IE LinkSemantics: Add new decomposition to an inherited IE

Correctness condition: Only decomposition Links, no Contributions Links

May 2013 The notion of Specialization in the i* Framework 34

Page 35: The notion of Specialization in the i* Framework

New Dependency

Correctness condition: actors without internal Intentional Elements

Semantics: Add a new outgoing Dependency

May 2013 The notion of Specialization in the i* Framework 35

Page 36: The notion of Specialization in the i* Framework

Refinement

Modify Strengths

Modify Dependencies

Modify Int. Elements

Modify IE LinksNew Dependencies

Refine Int. Elements

Refine IE Links

Add Invariants

Restrict Features

Rename Attributes

Rename Roles

May 2013 The notion of Specialization in the i* Framework 36

Page 37: The notion of Specialization in the i* Framework

Refining IE

Correctness condition: satisfaction(refined IE) implies satisfaction(inherited IE)

Semantics: Restrict the IE

May 2013 The notion of Specialization in the i* Framework 37

Page 38: The notion of Specialization in the i* Framework

Refining IE

Correctness condition: softgoal goal, goal task, goal Resource

Semantics: Restrict the IE

May 2013 The notion of Specialization in the i* Framework 38

Page 39: The notion of Specialization in the i* Framework

Refining Contribution Link

Correctness condition: UnknownSome+, Some+Help, Help MakeUnknownSome-, Some-Break, BreakHurt

Semantics: Restrict the Contribution Link Value

May 2013 The notion of Specialization in the i* Framework 39

Page 40: The notion of Specialization in the i* Framework

Refining Dependency

Correctness condition: same condition as IE for dependum

Semantics: Restrict the dependum and/or strengths

May 2013 The notion of Specialization in the i* Framework 40

Page 41: The notion of Specialization in the i* Framework

Refining Dependency

Correctness condition: Open (O) Committed, Committed Critical (X)

Semantics: Restrict the dependum and/or strengths

May 2013 The notion of Specialization in the i* Framework 41

Page 42: The notion of Specialization in the i* Framework

Redefinition

Remove Dependencies

Remove IE

i* flexibility

Redefine Dependencies

Redefine IE

Redefine IE Links

Override Methods

Cancel Attributes

Modify Strengths

May 2013 The notion of Specialization in the i* Framework 42

Page 43: The notion of Specialization in the i* Framework

Redefining Intentional Element

Correctness condition: at least remove one decomposition link, no incoming dependencies arriving to removed elements

Semantics: Redefine the way to satisfy the IE (its decomposition)

May 2013 The notion of Specialization in the i* Framework 43

Page 44: The notion of Specialization in the i* Framework

Redefining Contribution Link

Correctness condition: not respecting the order for contribution link values

Semantics: Change Contribution Link value

May 2013 The notion of Specialization in the i* Framework 44

Page 45: The notion of Specialization in the i* Framework

Redefining Dependency

Correctness condition: not respecting the order for strength values

Semantics: Restrict the dependum and/or strengths

May 2013 The notion of Specialization in the i* Framework 45

Page 46: The notion of Specialization in the i* Framework

Operations Formalization

For each operation:• Formal Definition: signature, precondition

& postcondition (effects)• Theorem: actor specialization kept the

model correctness– First-order Logic– Induction

May 2013 The notion of Specialization in the i* Framework 46

Page 47: The notion of Specialization in the i* Framework

Specialization ProcessStep 1

is-a link

May 2013 The notion of Specialization in the i* Framework 47

Extension

Redefinition

Refinement

Activity 2.1Step 2

Activity 2.2

Actor Link

Dependency

Decomposition subtree

Qualitative Contribution

PreventiveIncoming

Reallocation?

Outgoing/Incoming

Reallocation?

Outgoing/Incoming

Reallocation?

Page 48: The notion of Specialization in the i* Framework

Outline

Introduction

State of the Art

Specialization Proposal

• Contributions• Future Lines of Work• Publications

Conclusions & Future Work

May 2013 The notion of Specialization in the i* Framework 48

Page 49: The notion of Specialization in the i* Framework

Contributions

• RQ1. Specialization Operations– Extension– Refinement– Redefinition

• RQ1. Methodology• RQ2. Formal definition for i* models• RQ3. Formal definition for i* Correctness

May 2013 The notion of Specialization in the i* Framework 49

Page 50: The notion of Specialization in the i* Framework

Validation

• Operations & Methodology– V1: Academic Exemplar– V4: Tool Support (HiME & REDEPEND)

• Formal– V2: i* Models & Operations Formalization

• Set theory

– V3: Fomal Validation• sat(subactor) implies sat(superactor)• First Order Logic (induction)

May 2013 The notion of Specialization in the i* Framework 50

Page 51: The notion of Specialization in the i* Framework

Future Lines of Work

• Real case (RISCOSS, OpenOME)

RefinementExtension

May 2013 The notion of Specialization in the i* Framework 51

Page 52: The notion of Specialization in the i* Framework

Future Lines of Work

• Multiple Inheritance• Refinement + Redefinition• How affect to properties & treatments for i*

framework• Including strengths to the dependency

satisfaction• Apply operations to other links (plays,

occupies, …)

May 2013 The notion of Specialization in the i* Framework 52

Page 53: The notion of Specialization in the i* Framework

Publications1 Clotet, R.; Franch, X.; Lopez, L.; Marco, J.; Seyff, N. and Grünbacher, P.: On the Meaning of

Inheritance in i*. In Proceedings of the 17th International Workshop on Agent-Oriented Information Systems (AOIS 2007).

2 Lopez, L.; Franch, X. and Marco, J.: Defining Inheritance in i* at the Level of SR Intentional Elements. In Proceedings of the 3rd International i* Workshop (iStar 2008).

3 Lopez, L.: A complete definition of the inheritance construct in i*. In Proceedings of the ER 2009 PhD Colloquium.

4 Lopez, L.; Franch, X. and Marco, J.: HiME: Hierarchical i* Modeling Editor.Tool Demo session for the ER 2009.

5 Cares, C.; Franch, X.; Lopez, L. and Marco, J.: Definition and uses of the i* metamodel. In Proceedings of the 4th International i* Workshop (iStar 2010).

6 Lopez, L.; Franch, X. and Marco, J.: Making Explicit some Implicit i* Language Decisions. In Proceedings of the 30th International Conference on Conceptual Modeling (ER 2011).

7 Lopez, L.; Franch, X. and Marco, J.: Specialization in i* Strategic Rationale Diagrams. In Proceeding of the 31th International Conference on Conceptual Modeling (ER 2012). Best Student Paper Award. An extended version as a Research Report.

May 2013 The notion of Specialization in the i* Framework 53

Page 54: The notion of Specialization in the i* Framework

Lidia López Cuesta

[email protected]

http://www.essi.upc.edu/~llopez/

Thank you


Recommended