specialization in i* strategic rationale diagrams
DESCRIPTION
The specialization relationship is offered by the i* modeling language through the is-a construct that applies over actors (a subactor is-a superactor). Although the overall meaning of this construct is highly intuitive, its semantics when it comes to the fine-grained level of strategic rationale (SR) diagrams is not defined, hampering seriously its appropriate use. In this paper we provide a formal definition of the specialization relationship at the level of i* SR diagrams. We root our proposal over existing work in conceptual modeling in general, and object-orientation in particular. Also, we use the results of a survey conducted in the i* community that provides some hints about what i* modelers expect from specialization. As a consequence of this twofold analysis, we identify, define and specify two specialization operations, extension and refinement, that can be applied over SR diagrams. Correctness conditions for them are also clearly stated. The result of our work is a formal proposal of specialization for i* that allows its use in a well-defined manner.TRANSCRIPT
Specialization in i* Strategic Rationale Diagrams
Lidia López, Xavier Franch, Jordi Marco
2
Outline
• Motivation and research question
• Antecedents
• Proposal
Notion of correctness
Specialization operations
• Conclusions and related work
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
4
Motivation
The is-a association represents a generali-zation, with an actor being a specialized case of another actor (ref. The i* Guide)
Our focus: specialization in i* through is-a
CustomerTravel
AgencyEasily Bought
Family
is-a
5
Motivation
The ultimate effect of is-a is not clear:• The i* guide does not define it• i* modelers use it intuitively (and sometimes
inconsistently)
6
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?
7
Research Question
Given an actor specialization relationship declared at the SD level, what modeling operations can be defined at the SR level?• What is the relevant background to make
this decision?• What are the effects of these operations?• What are the correctness conditions to be
fulfilled for their application?
8
Strategy
Formulate an answer that aligns with:• the general concept of specialization in
the conceptual modeling community• the reported uses made by i* researchers • the preferences gathered empirically from
the community
9
Analysis using Meyer’s Taxomania rule: “Every heir must introduce a feature, redeclare an inherited feature, or add an invariant clause”.
Antecedents: conceptual modeling
Area Approach New feature Add Invariant Redeclare feature
Knowledge Representation
Strict NewAttributes
No No
Defeasible No 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 Basic Overrides and Shadows for properties and methods
Eiffel Adding invariantsRenaming and Redefinition for routines and procedures using
contracts
Conceptual Modeling
Semantic data modelsNew
Attributes & Methods
No No
UML No No
Borgida & Mylopoulos Attributes No
10
Reported uses
Regularly used but RQ not answered
11
Community perception: a survey
21 valid responses (July-Sept. 2010; 4th i* wks.)• 57% use sometimes, often or very often is-a links in their i* models
• 84% have doubts about its usage• 85%-90% allow for addition of elements
(dependencies / IEs)• 14%-38% allow for modification of elements• 5%-10% do not allow for removals of
elements
12
As a result…From the three different possibilities:• Extension: a new IE or dependency,
related somehow to inherited elements, is added to the subactor.
• Redefinition: an IE or dependency that exists in the superactor is changed in the subactor.
• Refinement: the semantics of an inherited IE or dependency is made more specific.
13
• Algebraic formalization: see paper Some simplifications made
• Actor specialization correctness: sat(a, M) sat(b, M)
• Actor correctness: sat(ie, M) = iemainIEs(a): sat(ie, M)
b
a
is-a
Notion of correctness
14
Notion of correctness• IE correctness:
ie not decomposed: given by user ie decomposed: see decomposition
task-decomposition: sat(ie, M) sat(iesub, M)means-end: sat(iemeans, M) sat(ie, M)
ie with contributions (softgoal): Horkoff&Yu’s rules ie with outgoing dependencies: sat(ie, M) sat(iedep, M)
15
Definition of operations• The paper introduces 5 different operations (2
for extension, 3 for refinement)• For each operation:
Definition: signature precondition postcondition (effects)
Theorem: actor specialization correctness is kept always by induction
• I’m not going to do that here!!
16
Extension operations• OP1: IE extension with decomposition link:
Remark: please notice the graphical convention
TA
FTA
is-aTravels
Contracted Increased
Assistence Provided
Customers Attracted
Family Facilities Offered
Provide Child
Discounts
Provide Familiar
Destinations
Many Kind of Travels Offered
Good Quality-Price
RateHelp
Help
Travels Contracted Increased
Attractive Products
Good Quality-Price
Rate
Many Kind of Travels Offered
OR OR
Help
UTA
Search Trip by
Destination
Search Trip by
Conference
Get Travels
Name a Price
is-a
Name a Price
Sell Travels
Book Travel
17
Extension operations• OP2: Addition of new main IEs
Services Provider
Many Transactions Processed
Profit Increased
Customer data sold to 3rd
Hurt
Travel Services Provider Travel Services
Provided
Encrypt Data
Contract Travels
List Offerings
is-a
Costs Reduced
Encrypt Data
Hurt
Privacy Kept
Help
Help
18
Refinement operations• OP3: IE refinement
the implication given by correctness definition needs to be preserved
19
Refinement operations• OP4: contribution link refinement
always keeping the “polarity” of the value
Assistance Provided
Asynchronous Support
Synchronous Support
TA
is-a
Assistance Provided
Provide Hotline
Travels Contracted
Easily
Help
Travels Contracted
Easily
Make
Synchronous Support
FTA
Travels Bought Easily
Assistance Obtained
Help
Customer
Family
is-a
Travels Bought Easily
Make
[Telephone]Assistance Obtained
20
Refinement operations• OP5: dependency refinement
either dependum (IE) or strength (not in the paper!!)
Customer Info
Unversity&[Customer Info]
is-a
Researcher
Customer TA
UTA
is-a
Book Travel
Book Travel
Contract Travel
Contract Travel
XConference [Travel Offerings]
Name a PriceConference
[Travel Offerings]
Travel OfferingsName a Price
Travel Offerings
21
ConclusionsResearch questions answered:
What modeling operations can be defined at the SR level?• What is the relevant background to make
this decision?• What are the effects?• What are the correctness conditions to be
fulfilled for their application?
What modeling operations can be defined at the SR level? EXTENSION & REFINEMENT• What is the relevant background to make
this decision? SOTA & SURVEY• What are the effects? FORMAL DEFINITION• What are the correctness conditions to be
fulfilled for their application? SATISFACTION NOTION
22
Future work• Consider also redefinition• Ontological meaning for specialization• Apply same strategy for other types of actor
links
Hope youliked it!
Contact: Lidia López<[email protected]>