16
Definition and Uses of the i* Metamodel Definition and Uses of the i Metamodel C l C Carlos Cares Universidad de la Frontera (Temuco, Chile) Xavier Franch, Lidia López, Jordi Marco Universitat Politècnica de Catalunya (Barcelona, Spain) iStar’10, Hammamet (Tunisia), June 2010

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

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

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