The notion of Specialization in the i* Framework

Post on 15-Dec-2014

373 views 2 download

Tags:

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.

transcript

The notion of Specialization in the

i* Framework

Lidia López Cuesta

May, 16th 2013

Advisors:Dr. Xavier Franch

Dr. Jordi MarcoPhD Defense

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

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

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

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

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

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

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?

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

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

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

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

State of the Art

i* Survey

i* Literature

Related Areas

SD

CM

KR

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

Knowledge Representation

• Semantic Networks (Quillian 1966)

KR SD

CM

Attribute Cancelation

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

EXCEPTIONS

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

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

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

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

Specialization in i* Literaturei*

Literature

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

Regurlarly used but no

details

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

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)

…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

+

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

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

superactor

24May 2013 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

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

Actor Satisfaction

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

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

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

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

from the State of the Art

i* Survey

i* Literature

SD

CM

KR

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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?

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

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

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

Future Lines of Work

• Real case (RISCOSS, OpenOME)

RefinementExtension

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

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

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

Lidia López Cuesta

llopez@essi.upc.edu

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

Thank you