Transcript
Page 1: Definition and Uses of the iDefinition and Uses of the i ...istar10/arquivos/iStar_presentation_files/session6/... · Garlan, Monroe, and Wile (ACME definition, 1997) 3/14. Adaptability

Definition and Uses of the i* MetamodelDefinition and Uses of the i Metamodel

C l CCarlos CaresUniversidad de la Frontera (Temuco, Chile)

Xavier Franch, Lidia López, Jordi MarcoUniversitat Politècnica de Catalunya (Barcelona, Spain)

iStar’10, Hammamet (Tunisia), June 2010

Page 2: Definition and Uses of the iDefinition and Uses of the i ...istar10/arquivos/iStar_presentation_files/session6/... · Garlan, Monroe, and Wile (ACME definition, 1997) 3/14. Adaptability

Outline

Motivation

An i* metamodel

A li ti Applications◦ Interoperability

◦ Inheritance

Metrics◦ Metrics

◦ Modules

Conclusions

1/14

Page 3: Definition and Uses of the iDefinition and Uses of the i ...istar10/arquivos/iStar_presentation_files/session6/... · Garlan, Monroe, and Wile (ACME definition, 1997) 3/14. Adaptability

Motivation

GRLGRL TroposTropos

standardizationstandardization methodologymethodology

fit for purposefit for purpose evolutionevolution

VariantsVariants

f f pu pf f pu p evolutionevolution

i* wikii* wiki

2/14

VariantsVariants i wikii wiki

Page 4: Definition and Uses of the iDefinition and Uses of the i ...istar10/arquivos/iStar_presentation_files/session6/... · Garlan, Monroe, and Wile (ACME definition, 1997) 3/14. Adaptability

An i* Metamodel

An i* metamodel: as we have UML metamodel, BPMN metamodel, …

tries to reconcile this diversity as much as possibleAttitudes for coping with language heterogeneity: tries to reconcile this diversity as much as possible

whilst not compromising with any particular dialect or tech-

p g g g g y1. Pick one.

2 D i “ i ” l

with semantics-preserving refactorings allowed

nology

evolution:

2. Design a “union” language.

3. Design an “intersection” language. relaxed◦ AOSDM-SEKE’05: first version

◦ … evolution and semantic-preserving customization to some uses4. Give up.

Garlan Monroe and Wile (ACME definition 1997)

relaxed

◦ The i* book (2011, hopefully): stable versionGarlan, Monroe, and Wile (ACME definition, 1997)

3/14

Page 5: Definition and Uses of the iDefinition and Uses of the i ...istar10/arquivos/iStar_presentation_files/session6/... · Garlan, Monroe, and Wile (ACME definition, 1997) 3/14. Adaptability

Adaptability

M i l t i i t itMainly got via integrity constraints on the metamodel

(Horkoff et al., 2008)

(Cares et al., 2011)(Cares et al., 2011)

4/14

Page 6: Definition and Uses of the iDefinition and Uses of the i ...istar10/arquivos/iStar_presentation_files/session6/... · Garlan, Monroe, and Wile (ACME definition, 1997) 3/14. Adaptability

Extensions

5/14several constraintsBPM case (CAiSE’09)

Page 7: Definition and Uses of the iDefinition and Uses of the i ...istar10/arquivos/iStar_presentation_files/session6/... · Garlan, Monroe, and Wile (ACME definition, 1997) 3/14. Adaptability

Projections

6/14Etapatelecom case (PoEM’09)

Page 8: Definition and Uses of the iDefinition and Uses of the i ...istar10/arquivos/iStar_presentation_files/session6/... · Garlan, Monroe, and Wile (ACME definition, 1997) 3/14. Adaptability

Applications

modularizationmodularization inheritanceinheritance

pragmaticspragmatics formalizationformalization

interoperabilityinteroperability measurementmeasurement

iStarMLiStarML

p yp y

iiMDFMDF

7/14

Page 9: Definition and Uses of the iDefinition and Uses of the i ...istar10/arquivos/iStar_presentation_files/session6/... · Garlan, Monroe, and Wile (ACME definition, 1997) 3/14. Adaptability

iStarML (Joint work with FBK)

μ2 μ3

μ1 μM

TAOM4E - UTNHiME UPC ADOxx® TAOM4E UTNHiME - UPC

μ4 μ5Guido Wachsmuth.“Metamodel Adaptation and Model Co-adaptation”, ECOOP’07

8/14CSI’10 CSI’10

Page 10: Definition and Uses of the iDefinition and Uses of the i ...istar10/arquivos/iStar_presentation_files/session6/... · Garlan, Monroe, and Wile (ACME definition, 1997) 3/14. Adaptability

Inheritance

context IntentionalElement::correctRefinement(): Boolpre: self.refines[refined] <> null p [ ]post: result = self.refines[refined] <> softGoal implies self.tail.size() = 0

9/14(Thanks for answering the survey . )

Page 11: Definition and Uses of the iDefinition and Uses of the i ...istar10/arquivos/iStar_presentation_files/session6/... · Garlan, Monroe, and Wile (ACME definition, 1997) 3/14. Adaptability

iMDF

context Actor::predictability(): Floatlet actorDependencies(x: Actor): Set(Dependency) =

x dependency >union(x boundary dependency) in

context Dependency::metric(): Typepost: result = self.dependency.dependum.filter() *

ownerActor(self dependency depender) correctionFactorDer() *x.dependency->union(x.boundary.dependency) inpost: actorDependencies(self)->size() = 0 implies result = 1.0post: actorDependencies(self)->size() = 0 implies

ownerActor(self.dependency.depender).correctionFactorDer() ownerActor(self.dependency.dependee).correctionFactorDee()

CAiSE’08

10/14

p p ( ) () presult = actorDependencies(self).predicatibility()->sum()

/ actorDependencies(self)->size()CAiSE’06

Page 12: Definition and Uses of the iDefinition and Uses of the i ...istar10/arquivos/iStar_presentation_files/session6/... · Garlan, Monroe, and Wile (ACME definition, 1997) 3/14. Adaptability

Metrics FormulationAAF

context Elem::metric(): Typepost: Size = 0 implies result = 1.0

t Si > 0 i li lt V l / Si

Proportion of total activities in a process that are either interactive or automated post: Size > 0 implies result = Value / Size

metric ::= AAF

interactive or automated.

Balasubramanian, S., Gupta, M.:metric ::= AAF

Elem ::= Routine

Type ::= FloatType ::= Float

Size ::= self.step.oclAsType(TaskSRE)->size()

Value ::= self step oclAsType(TaskSRE)->Value :: self.step.oclAsType(TaskSRE)select(interactive() or automated())->size()

TaskSRE::interactive() ::=()isHuman(self.owner) andexists(t | self.allSubtasks()->includes(t)

and t requiresSoftware())

11/14

and t.requiresSoftware())

formulation of AAF in the i* frameworkCAiSE’09

Page 13: Definition and Uses of the iDefinition and Uses of the i ...istar10/arquivos/iStar_presentation_files/session6/... · Garlan, Monroe, and Wile (ACME definition, 1997) 3/14. Adaptability

Modularization

HazardousInformation not

HazardousInformation not

Submitted

Warning when

Submitted

Warning when

UOrgani

HazardousInformation

UOrgani

HazardousInformation

User InformationChecked Trans-

parently

zationUser InformationChecked Trans-

parently

zation

Digital Digital

Dependency module

g taInformation

g taInformation

12/14

p yCAiSE’10

Page 14: Definition and Uses of the iDefinition and Uses of the i ...istar10/arquivos/iStar_presentation_files/session6/... · Garlan, Monroe, and Wile (ACME definition, 1997) 3/14. Adaptability

Modularizationl ( M d l i* M d l d Mt h S t(d d D d D d bl N d ))apply(m: Model, a: i*-Module, depMtch: Set(dpdm: Dependum, x: DependableNode))

/* common nodes are of the same type */pre compatibleNodes(allNodes(m), allNodes(a)) -- nodes in m not in a are not

/* the dependency matching is correct */ -- consideredpre depMtch->forAll(

allNodes(a)->includes(dpdm) and ( ) ( p )dpdm.dependency.isOclTypeOf(DependencyWithoutDependee) and

allNodes(m)->includes(x) and not allNodes(m).label->includes(dpdm.label) and compatibleLinkEndPoints(dpdm.dependency.depender, x))p ( p p y p , ))

/* the nodes in the module are included in the model */post hasNodes(m, allNodes(a))

/* the nodes keep being compatible after the application *// the nodes keep being compatible after the application /post compatibleNodes(allNodes(m), allNodes(a))

/* the matching has been applied in the model */t d Mt h f All(post depMtch->forAll(allNodes(m).label->includes(dpdm.label)) andallNodes(m)->select(label = dpdm.label).

d d d d l b l d d d d d d l b l d

13/14

dependency.depender.label = dpdm.dependency.depender.label andallNodes(m)->select(label = dpdm.label).dependency.dependee = x))

Page 15: Definition and Uses of the iDefinition and Uses of the i ...istar10/arquivos/iStar_presentation_files/session6/... · Garlan, Monroe, and Wile (ACME definition, 1997) 3/14. Adaptability

Conclusions

Our position: importance of an i* metamodel◦ For clarification◦ For model interchangeg◦ For supporting extensions and customatizations

Although it seems not to be an universal agreement◦ Let each community have theirs?y

◦ Including technology-oriented?

Still matter of discussion…

14/14

Page 16: Definition and Uses of the iDefinition and Uses of the i ...istar10/arquivos/iStar_presentation_files/session6/... · Garlan, Monroe, and Wile (ACME definition, 1997) 3/14. Adaptability

Th k f tt ti !Thanks for your attention!

Contact me at franch@essi upc eduContact me at [email protected]

Visit our website http://www.essi.upc.edu/~gessiVisit our website http://www.essi.upc.edu/ gessi

15/14


Recommended