marco autili university of l’aquila - italy

36
Template v10 Vanessa Zahorian & Kristin Long in Divertimento N°15 - Photo (c) Erik Tomasson Marco Autili University of L’Aquila - ITALY From domain-centric requirements specification to choreography synthesis (FP7 CHOReOS presentation) Dublin 2013 – May 07th

Upload: alayna

Post on 23-Feb-2016

52 views

Category:

Documents


0 download

DESCRIPTION

From domain-centric requirements specification to choreography synthesis ( FP7 CHOReOS presentation ). Marco Autili University of L’Aquila - ITALY. Dublin 2013 – May 07th . Development of choreography-based service-oriented systems (development phase roadmap). Development of - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Marco  Autili University  of L’Aquila - ITALY

Tem

plat

e v1

0Va

ness

a Za

horia

n &

Kris

tin L

ong

in D

iver

timen

to N

°15

- Pho

to (c

) Erik

Tom

asso

n

Marco AutiliUniversity of L’Aquila - ITALY

From domain-centric requirements specification to choreography synthesis

(FP7 CHOReOS presentation)

Dublin 2013 – May 07th

Page 2: Marco  Autili University  of L’Aquila - ITALY

2

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveau

Development of choreography-based

service-oriented systems(development phase roadmap)

Page 3: Marco  Autili University  of L’Aquila - ITALY

3

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveau

Development of choreography-based

service-oriented systems(development phase roadmap)

Page 4: Marco  Autili University  of L’Aquila - ITALY

4

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveau

Development of choreography-based

service-oriented systems(development phase roadmap)

Page 5: Marco  Autili University  of L’Aquila - ITALY

5

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveau

Development of choreography-based

service-oriented systems(development phase roadmap)

Page 6: Marco  Autili University  of L’Aquila - ITALY

6

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveau

Development of choreography-based

service-oriented systems(development phase roadmap)

Page 7: Marco  Autili University  of L’Aquila - ITALY

7

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveau

CD2

CD2

CD3

CD1

CD4

CD5

Development of choreography-based

service-oriented systems(development phase roadmap)

Page 8: Marco  Autili University  of L’Aquila - ITALY

8

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveau

Domain expert specification of requirements and service choreography design

From requirements to BPMN2

Expressing functional and quality requirements on a service-based system

Clustering relevant requirements to specify a single choreography

Matching requirements on a choreography to a catalogue of user task models which inform the design of a first-cut service choreography

Refining the choreography specification

Page 9: Marco  Autili University  of L’Aquila - ITALY

9

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveau

Expressing Quality Requirements

CHOReOS Requirements

Tool

Supports the domain expert to express quality requirements and their level of importance

Page 10: Marco  Autili University  of L’Aquila - ITALY

10

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveau

Clustering Requirements

Create cluster of requirements that will map on a single choreography

Similarity algorithm which generates a measure of semantic similarity and find similar requirements to the selected requirement

Page 11: Marco  Autili University  of L’Aquila - ITALY

11

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveau

Retrieving User Task Models The cluster of requirements is matched to a catalogue

of CTT models using a service called TEDDiE The retrieved CTT models are returned with the

matched requirementsTEDDiE Matching

(sophisticated information retrieval

techniques)

Cluster of requirements(XML request)

ConcurTaskTrees(CTT) library

Relevant CTT models and matched requirements(XML results)

Domain-independent modelsdeveloped in S-Cube

(EU-funded Network of Excellence

for Software Services)

CTT-based choreography specification

+Associated requirements

and Attributes(MagicDraw tool)

Page 12: Marco  Autili University  of L’Aquila - ITALY

12

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveau

Initial BPMN2 Choreography Model

Associated requirements and attributes

Dependency Matrix(links between requirements and

choreography tasks)

Page 13: Marco  Autili University  of L’Aquila - ITALY

13

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveau

Final BPMN2 Choreography of the Airport use case

(Arrival Handling scenario)• Standard de facto

for specifying choreographies • Dedicated notation called

Choreography Diagrams

Page 14: Marco  Autili University  of L’Aquila - ITALY

14

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveau

Development of choreography-based

service-oriented systems

Page 15: Marco  Autili University  of L’Aquila - ITALY

15

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveau

Domain expert specification of requirements and initial service choreography design

Discovery, quality assessment and synthesis

Discovering services to find services suitable to play the

roles of the choreography Assessing quality

to evaluate the performance of the choreography that might be affected by various factors (e.g., response time, slow services, unoptimised data flow)

Synthesizing coordination delegates to automatically synthesize a

distributed choreographer to be then used to enact the specified choreography

Page 16: Marco  Autili University  of L’Aquila - ITALY

16

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveau

Service Discovery (and Synthesis Processor)Synthesis Process

Service Discovery

simulates

simulates

simulates

simulates

Undesired interactions

Page 17: Marco  Autili University  of L’Aquila - ITALY

17

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveaup1:S1

Undesired interactions

p2:S2

Undesired interactions are those interactions that do not belong to the set of interactions modeled by the given choreography and that can happen by letting the discovered services to collaborate in an uncontrolled way

PROVIDER (playing the role p2)CONSUMER (playing the role p1)

0 1 2op1? op2?

3op2? op1?0 1 2

op1! op2!

3op2! op1!

0 1 2

p1.op1(m1).p2 p1.m4::op2(m3).p2

CHOREOGRAPHY BPMN2CHOREOGRAPHY LTS

Page 18: Marco  Autili University  of L’Aquila - ITALY

18

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveaup1:S1

Undesired interactions

p2:S2

Undesired interactions are those interactions that do not belong to the set of interactions modeled by the given choreography and that can happen by letting the discovered services to collaborate in an uncontrolled way

PROVIDER (playing the role p2)CONSUMER (playing the role p1)

0 1 2op1? op2?

3op2? op1?0 1 2

op1! op2!

3op2! op1!

0 1 2

p1.op1(m1).p2 p1.m4::op2(m3).p2

CHOREOGRAPHY BPMN2CHOREOGRAPHY LTS

op1 op2

Page 19: Marco  Autili University  of L’Aquila - ITALY

19

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveaup1:S1

Undesired interactions

p2:S2

Undesired interactions are those interactions that do not belong to the set of interactions modeled by the given choreography and that can happen by letting the discovered services to collaborate in an uncontrolled way

PROVIDER (playing the role p2)CONSUMER (playing the role p1)

0 1 2op1? op2?

3op2? op1?0 1 2

op1! op2!

3op2! op1!

0 1 2

p1.op1(m1).p2 p1.m4::op2(m3).p2

CHOREOGRAPHY BPMN2CHOREOGRAPHY LTS

op2 op1

Page 20: Marco  Autili University  of L’Aquila - ITALY

20

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveaup1:S1

Undesired interactions

p2:S2

Undesired interactions are those interactions that do not belong to the set of interactions modeled by the given choreography and that can happen by letting the discovered services to collaborate in an uncontrolled way

PROVIDER (playing the role p2)CONSUMER (playing the role p1)

0 1 2op1? op2?

3op2? op1?0 1 2

op1! op2!

3op2! op1!

0 1 2

p1.op1(m1).p2 p1.m4::op2(m3).p2

CHOREOGRAPHY BPMN2CHOREOGRAPHY LTS

op2 op1

CD1.2

X X

X X

Page 21: Marco  Autili University  of L’Aquila - ITALY

21

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveau

Given a choreography specification and a set of existing services discovered as “suitable” participants, restrict the interaction among them so to fulfill the collaboration prescribed by the choreography specification, hence preventing undesired interactions

Choreography realizability enforcement problem

CD2

CD4CD3

CD1

S4S3

S1S2

Synthesis Processor

Page 22: Marco  Autili University  of L’Aquila - ITALY

22

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveau

S4S3

S1

Choreography realizability enforcement via Coordination Delegates

CHOReOSchoreographyrealization(composition ofCHOReOS connectors plus CDs)

S2

CD2 additional communication: coordination informationfor coordination purposes (exchanged among the Coordination Delegates to enforce the realization of the specified choreography, in a distributed way)

standardcommunication(e.g., In-only/In-Outmessage exchange)

CD4CD3

CD1

Page 23: Marco  Autili University  of L’Aquila - ITALY

23

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveau

The Synthesis Processor at work (?)

CD2

CD4CD3

CD1

S4S3

S1 S2

Synthesis Processor

Page 24: Marco  Autili University  of L’Aquila - ITALY

24

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveau

BPMN2-to-CLTS model transformation

The synthesis process at a glance

• ATLAS Transformation Lang. - ATL model-to-model transformation • From BPMN2 specification to CLTS specification

• A CLTS is an extended LTS, called Choreography LTS

Page 25: Marco  Autili University  of L’Aquila - ITALY

25

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveau

BPMN2-to-CLTS transformation (1/2)

Page 26: Marco  Autili University  of L’Aquila - ITALY

26

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveau

BPMN2-to-CLTS transformation (2/2)

Page 27: Marco  Autili University  of L’Aquila - ITALY

27

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveau

BPMN2-to-CLTS

Page 28: Marco  Autili University  of L’Aquila - ITALY

28

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveau

BPMN2-to-CLTS (1/2)

Page 29: Marco  Autili University  of L’Aquila - ITALY

29

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveau

BPMN2-to-CLTS (2/2)

Page 30: Marco  Autili University  of L’Aquila - ITALY

30

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveau

CLTS-to-Coord model transformation

The synthesis process at a glance

• ATL model-to-model transformation • From CLTS specification to Coordination Models

• A Coordination Model specifies coordination information

Page 31: Marco  Autili University  of L’Aquila - ITALY

31

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveau

S4S3

S1

CLTS-to-Coord model transformation

S2

CD2

CD4CD3

CD1CM1 CM2

CM3 CM4

additionalcommunication(coordinationInformation)

Page 32: Marco  Autili University  of L’Aquila - ITALY

32

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveau

Coordination Models

{S11; ack::!GetLuggageConfirmation( ); S24;CD(); CD(AIR.AISA);luggageCondition;Notify( S12 to CD(AIR.AP; SC.AIR; ABC.AIR; AIR.ASAA) );Wait( S7 from CD(AIR.AP); S15 from CD(SC.AIR); S18 from CD(ABC.AIR); S90 from CD(AIR.ASAA) )}…

Coordination Model CMLuggageHC.Airport

Page 33: Marco  Autili University  of L’Aquila - ITALY

33

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveau

Coord-to-Java model transformation

The synthesis process at a glance

• Acceleo-based model-to-code transformation • From Coordination Models to Java

• For each model a set of Java class is generated by means of dedicated templates consisting of static and variable parts

Page 34: Marco  Autili University  of L’Aquila - ITALY

34

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveau

Overall architecture configuration

Page 35: Marco  Autili University  of L’Aquila - ITALY

35

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveau

Conclusion• Development process, and related supporting development and

run-time environment, for the development of choreography-based service-oriented systems

• Preliminary validation against the CHOReOS use cases

Future Work• Finalize the process and the supporting environment

• Finalize the validation

Conclusion and Future Work

Page 36: Marco  Autili University  of L’Aquila - ITALY

36

Cliquez pour modifier les styles du texte du masque Deuxième niveau

Troisième niveau Quatrième niveau

Cinquième niveauThank You