3rd phd year dissertation

43
Cycle XXVII 3 rd PhD year report phd student: Daniele Fanì e-mail: [email protected] supervisor: prof. Andrea Polini University of Camerino, February, 6 2015 Dynamic Verification for Service-Oriented Computing PhD in Information Sciences and Complex Systems

Transcript of 3rd phd year dissertation

Page 1: 3rd phd year dissertation

Cycle XXVII

3rd PhD year report

phd student: Daniele Fanì e-mail: [email protected] supervisor: prof. Andrea Polini

University of Camerino, February, 6 2015

Dynamic Verification for Service-Oriented Computing

PhD in Information Sciences and Complex Systems

Page 2: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

Recall to research domainService Oriented

Architecture

service compositionchoreography orchestration

dynamic service

integration

unsafe cooperation

classic V&V mechanisms

unsuitable

BPMN2

novel service integration testing

novel run-time monitoring

Future Internet

Page 3: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

Recall to research domainService Oriented

Architecture

service compositionchoreography orchestration

dynamic service integration

unsafe cooperation

classic V&V mechanisms

unsuitable

BPMN2

novel service integration testing

novel run-time monitoring

V&V framework for dynamic Services

Composition

Page 4: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

Recall to research domain

integration testing

registry

realizability check

service composition

deploy

run-time monitoring

V&V framework for dynamic Services Composition

Page 5: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

Research Activity

The main research activities focus on a framework for V&V activities for dynamic web service compositions (e.g. services choreography)

Research Activity - Publications - Conferences - Seminars - Didactic

Page 6: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

Participation in Research Projects

check it out at http://www.choreos.eu

Research Activity - Publications - Conferences - Seminars - Didactic

development of the V&V framework started under

the european project

CHOReOSGovernance and V&V

framework

❖ ServicePot provides service and choreography registering/discovering utilities respecting Governance rules and policies;

❖ ParTes provides testing utilities.

Page 7: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

Research Activity - Publications - Conferences - Seminars - Didactic

ServicePotUDDI-based registry that provides registering and discovering utilities for choreographies and services

Page 8: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

ServicePotCHOReOS D4.3: Final release of V&V tools (Governance section)

ServicePotstore

discovery supported

plugin architecture

UDDI registry

choreographies, services, roles

plugin structure

error handler compatible with plugin structure

web-based GUI usable by final-users

Research Activity - Publications - Conferences - Seminars - Didactic

Page 9: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

ServicePotResearch Activity - Publications - Conferences - Seminars - Didactic

Page 10: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

Choreography IssueResearch Activity - Publications - Conferences - Seminars - Didactic

is a Web Service actually suitable to cover a specific

choreography’s role?

confirm! book?

roles: hotel, taxi, flight

role to cover: hotel

V&V plugins

Page 11: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

Research Activity - Publications - Conferences - Seminars - Didactic

ParTes (Participant Testing)

generates TestSuites to test if a service is able to cover a fixed role in a choreography, like in an audition.

http://www.zonecreative.it/wp-content/uploads/2012/09/20110910_ZoneCreative_2011_00385.jpg

Page 12: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

ParTes

strategy enhancements and tricks introduction

strategy implementation

Web Service implementation and integration with ServicePot

choreography specification

generates skeletons as Test Cases, grouped in a Test Suite for the integration testing

test suite for SoapUI

ParTes

strategy complexity basic analysis O(n3)

CHOReOS D4.3: Final release of V&V tools (V&V section)

Research Activity - Publications - Conferences - Seminars - Didactic

Page 13: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

traces to test provided by ParTes

+

A

BCT1

A

CCT2

B

DCT3

+

choreography parallel fragment

traces to test provided by a blind integration testing technique

CT1 → CT3 → CT2CT3 → CT1 → CT2

CT1 → CT2 → CT3CT1 → CT3 → CT2CT3 → CT1 → CT2CT3 → CT2 → CT1

CT2 → CT3 → CT1CT2 → CT1 → CT3

TestSuite generation strategythe objective

ParTesResearch Activity - Publications - Conferences - Seminars - Didactic

Page 14: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

A B B D

ParTes assumes that when a participant receives a message, it may change its internal state

B D A

CT1 → CT3

CT3 → CT1 B

the two traces test 2 different internal states of participant D

ParTesResearch Activity - Publications - Conferences - Seminars - Didactic

TestSuite generation strategythe strategy A

BCT1

A

CCT2

B

DCT3

+ +

Page 15: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

+

A

BCT1

A

CCT2

B

DCT3

+ xA

BCT1

B

DCT3

xB

DCT3

A

BCT1

A

CCT2

A

CCT2

from parallel to exclusive choice

choreography fragment

ParTes

ParTes handles the fragments as graph (Affection Graph) and explore it to excerpt traces to test

CT1 CT2

CT3

through Affection Graph

TestSuite generation strategythe reduction

ParTesResearch Activity - Publications - Conferences - Seminars - Didactic

Page 16: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

parallel fragments, once reduced to exc lus ive choice fragments, should be refactored according to fixed rules

TestSuite generation strategythe refactoring

ParTesResearch Activity - Publications - Conferences - Seminars - Didactic

Page 17: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

ATC

Weather Forecast Servicesend wrath. forecast

Airplaine

ATCpropose reroute

ATC

Airplaineaccept proposal +

Central Flow Management Unit

ATCsend reroute warning

ATC

Central Flow Management Unitpropose reroute

Central Flow Management Unit

ATCaccept proposal

+Airine

ATCsend reroute warning

Airport

ATCsend reroute warning +

Luggage Handling Co.

Airportwarn unexpected arrival

Security Company

Airportwarn unexpected arrival

Airport Bus Company

Airportwarn unexpected arrival

+

ATC

Airplaineconfirm approach Choreography C

Arrival Handling+

Choreography BManage Unexpected Arrival+

Ground Staff MID

Airlinewarns unexpected arr.

Travel Agency

Ground Staff MIDwarns unexpected arr.

Weather Forecast Service

Ground Staff MIDaccept proposal x

x

decide on travel continuation

based on weather

+

Airline

Ground Staff MIDrequest amenities

Ground Staff MID

Airlineprovide available ameni.

Gate management

Ground Staff MIDrequest amenities

Ground Staff MID

Gate managementprovide available ameni.

Airport

Ground Staff MIDrequest amenities

Ground Staff MID

Airportprovide available ameni.

+Bookable Amenity

Ground Staff MIDbook all amenities

put passenger in transit

keep passengers for the night

Travel Agency

Ground Staff MIDrequest hotels

Ground Staff MID

Travel Agencyprovide hotels +

Hotel

Ground Staff MIDmeasure ambient noise

Ground Staff MID

Hoteladjust speakers volume

Ground transport. co.

Ground Staff MIDnoise sensors aggretat.

Ground Staff MID

Ground transport. co.adjust speakers volume

+

Airport

ATCconfirm approach +

Gate managem.

Airportrequest amenities

Airport

gate manag.get availab. amenit

Amenity Provider

Airportbook all availab. amenit

+

Luggage Handling Co.

Airportbook amenity

Airport

Luggage Handling Co.get confirmation

Security Company

Airportbook amenity

Airport

Security Companyget confirmation

Airport Bus Company

Airportbook amenity

Airport

Airport Bus Companyget confirmation

+ +

Airport Noise Sensors

Airportmeasure noise level

Airport

Airport Noise Sensorsadjust speakers volume

Airport Infrared Sensors

Airportreport main arrival gate pass +

+

Airport Pressure Sens.

Airporttrask landed passengers

MID Location Sensors

Airporttrask landed passengers

Airport Infrared Sens.

Airporttrask landed passengers

+

+Airport Noise Sensors

Airportmeasure ambient noise

Airport Speacker Act.

Airportadjust speakers volume

MID Microphone Sens.

Airportnoise sensors aggretat.

Airport Speacker Act.

Airportadjust speakers volume

+

+

Airport Display Actuat.

Airportpush up-to-date info

Airport Speacker Act.

Airportpush up-to-date info

Airport Signs Actuator

Airportpush up-to-date info

+

MID Display Actuator

Airportpush up-to-date info

+ +

+

ParTes

ServicePot

Passenger-friendly airport

Adaptive Customer Relationship Booster

CHOReOS D4.4: Testing tools and infrastructure

ParTes and ServicePotResearch Activity - Publications - Conferences - Seminars - Didactic

Page 18: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

ParTesServicePot

Passenger-friendly airport

ParTes and ServicePotResearch Activity - Publications - Conferences - Seminars - Didactic

ParTesServicePot

confirm! book?

choreography registration

service registration

Page 19: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

Research Activity - Publications - Conferences - Seminars - Didactic

is a choreography actually safe and realizable?roles: hotel, taxi, flight

V&V plugins

Choreography Issue

Page 20: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

Research Activity - Publications - Conferences - Seminars - Didactic

Choreography Realizability and Repair

collaboration with prof. Tevfik Bultan at the UCSB (USA) on realizability and automatic repair

http://dance973.blogspot.it/2012/11/blog-post_23.html

Page 21: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

Realizability and automatic RepairResearch Activity - Publications - Conferences - Seminars - Didactic

XX

A

B

C

D

mess1!

mess2!

A C

mess1! mess2!

NOT REALIZABLE!

Chor

mess2 mess1

B D

mess1? mess2?

who starts ?The realizability problem

Page 22: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

Realizability and automatic RepairResearch Activity - Publications - Conferences - Seminars - Didactic

AC

mess1!

mess2!

REALIZABLE!

B

mess1?

D

mess2?

a possible repair: change the roles

sync_C!

sync_C?

Chor

sync_C mess1

mess2

The realizability problem

Page 23: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

Realizability and automatic RepairResearch Activity - Publications - Conferences - Seminars - Didactic

REALIZABLE!

a possible repair: change the choreography

Chor

mess2 mess1

A C

mess1! mess2!

B D

mess1? mess2?

mess2mess1

The realizability problem

Page 24: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

Realizability and automatic RepairResearch Activity - Publications - Conferences - Seminars - Didactic

how to repair also the initial specification?The repair problem

XX

AB

CD

mess1!

mess2!

Chor

mess2 mess1

Chor

sync_C mess1

mess2

repair

Page 25: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

Realizability and automatic RepairResearch Activity - Publications - Conferences - Seminars - Didactic

using the Model2Model transformationThe repair problem

Chor

mess2 mess1X

A

B

C

D

mess1!

mess2!X X X

task1

task2

WorkFlow GraphBPMN2 System Behavior

Page 26: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

Realizability and automatic RepairResearch Activity - Publications - Conferences - Seminars - Didactic

using the Model2Model transformationThe repair problem

t2

Chor

mess2

t1

mess1X

A

B

C

D

mess1!

mess2!X X X

task1

task2

WorkFlow GraphBPMN2

t2

Chor

sync_C

tx

mess1

t1

mess2

X X

task1

task2

taskX

X

C

D

mess2!

X

A

C

sync_C!

System Behavior

Page 27: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

Realizability and automatic RepairResearch Activity - Publications - Conferences - Seminars - Didactic

using the Model2Model transformationThe repair problem

X

A

B

C

D

mess1!

mess2!X

BPMN2

X Xtask1

task2 t2

Chor

mess2

t1

mess1

WorkFlow Graph System and Peers behavior

check and repair

Page 28: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

Research Activity - Publications - Conferences - Seminars - Didactic

Will services actually act, as they are supposed to do?

role “A”

role “B”

role “C”mess2? mess1?

mess2!

mess1!

Choreography Issue

Page 29: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

Research Activity - Publications - Conferences - Seminars - Didactic

Cassandraan approach to monitor h i d d e n b e h a v i o r s a n d predict potential failure in a dynamic service composition like a choreography

http://www.gettyimages.fr/detail/photo/funny-hungry-ballet-dancers-lunch-break-in-image-libre-de-droits/143918354

Page 30: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

CassandraResearch Activity - Publications - Conferences - Seminars - Didactic

behavior

mess2! mess1!

projectionof role “A”

mess1!

a service suitable to cover a role,

may have extra hidden actions. In addition,

it may expose a partial (or supposed) behavior

suitable to cover “A”

Page 31: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

CassandraResearch Activity - Publications - Conferences - Seminars - Didactic

behavior

mess2! mess1!

A

behavior

mess1?

B Cassandra

mess2 mess1

failure state

prediction of k steps

Page 32: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

CassandraResearch Activity - Publications - Conferences - Seminars - Didactic

mess2? mess1? mess2!

ServiceMix (ESB)

service “A” service “B” service “C”

role“A” role“B” role“C”

camel routing rules

mess1!mess3!

mess2

mess1

mess3

Page 33: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

CassandraResearch Activity - Publications - Conferences - Seminars - Didactic

mess2? mess1? mess2!

ServiceMix (ESB)

service “A” service “B” service “C”

role“A” role“B” role“C”

mess1!mess3!

mess2

mess1

mess3

camel routing rules

Page 34: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

CassandraResearch Activity - Publications - Conferences - Seminars - Didactic

mess2

mess1

mess3

mess2? mess1? mess2!

ServiceMix (ESB)

service “A” service “B” service “C”

role“A” role“B” role“C”

routing rules

mess1!mess3!

monitoring

prediction

Page 35: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

Publications

Research Activity - Publications - Conferences - Seminars - Didactic

Page 36: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

Articles and PostersArticles ❖ [under review] A Flexible Architecture to Monitor Dynamic Web Service Compositions

F. Corradini, F. De Angelis, D. Fanì, A. PoliniWEBIST’15

❖ A Cloud-Based Solution for Public Administrations: The Experience of the Regione Marche Amici C., Bilei G.M., Carota S., Cirillo F., Diamantini C., Falcioni D., Fanì D., Fano L., Fattibene E., Maggiulli M.L., Manzali M., Potena D., Riahi H., Ribighini G., Raffaeli L., Re B., Salomoni D., Sergiacomi A., Settimi D., Spiga D., Storchi L., Storti E., Valentini A., Venturi V., Veronesi P. CTS’14, (international conference on Collaboration Technologies and Systems), Minneapolis (MN), USA

❖ An Extensible Framework for Online Testing of Choreographed ServicesM. Ali, A. Bertolino, F. De Angelis, G. De Angelis, D. Fani’, A. PoliniComputer, Volume: PP, Issue: 99 (December 2013)

❖ ParTes: A Test Generation Strategy for Choreography ParticipantsF. De Angelis, D. Fanì, A. PoliniAST’13, 8th International Workshop on Automation of Software Test, San Francisco (CA), USA

❖ Protocol Compatibility Notations for Service Integration Testing F. De Angelis, D. Fanì, A. PolzonettiQASBA’11, 8th International Workshop on Quality Assurance for Service-Based Applications, Lugano, Switzerland

Poster ❖ A Test Generation Strategy for Choreography Participants

F. De Angelis, D. Fanì, A. Polini3rd Scientific Day of School of Science and Technology, Camerino, Italy (June 2013)

Research Activity - Publications - Conferences - Seminars - Didactic

Page 37: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

Conferences

Research Activity - Publications - Conferences - Seminars - Didactic

Page 38: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

Meetings (as research collaborator) ❖ CHOReOS meeting 16 - 18 Sept 2013 at INRIA Rocquencourt (Paris), France;

❖ CHOReOS meeting 08 - 11 Jul 2013 at CITY University (London), Great Britain;

❖ CHOReOS meeting 22 - 24 Apr 2013 at Marsala (Trapani), Italy.

Conferences (as a speaker) ❖ ICFEM’14 (International Conference on Formal Engineering Methods), Luxembourg (Nov 2014);

❖ Final Review of the CHOReOS project, Bruxelles (Nov 2013);

❖ QASBA‘11 (workshop on Quality Assurance for Service-Based Applications), Lugano (Sep 2011).

Research Activity - Publications - Conferences - Seminars - Didactic

Conferences and Meetings

Page 39: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

Seminars and Courses

Research Activity - Publications - Conferences - Seminars - Didactic

Page 40: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

PhD school and Seminars ❖ Verify me if you can (Timers, Actors and Session Types) 20 Nov 2014 at IMT, Lucca, Italy;

❖ Automatic Detection and Repair of Input Validation and Sanitization Bugs 20 May 2014 at UCSB, Santa Barbara, CA-USA;

❖ SFM-13:DS (School of Formal Methods for the design of Dynamical Systems) 17-22 Jun 2013 at Bertinoro, Italy;

❖ SERENE 12 (Software EngineeRing for rEsilieNt systEms) 25-27 Sep 2012 at Pisa, Italy;

❖ QMC 12 (Quantitative Model Checking) 27-01 Mar 2012 at Copenhagen - Denmark.

Other ❖ Google I/O Extended 25 – 26 June 2014 at Citrix, Santa Barbara, CA-USA;

❖ Hackathon (2nd place) 25 - 27 June at Citrix, Santa Barbara, CA-USA

Research Activity - Publications - Conferences - Seminars - Didactic

Seminars and Courses

Page 41: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

Didactic

Research Activity - Publications - Conferences - Seminars - Didactic

Page 42: 3rd phd year dissertation

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015

Didactic activitiesResearch Activity - Publications - Conferences - Seminars - Didactic

Lecturer of: ❖ Lab of Software Engineering (2014-2015) 42 hours - 6 CFU

❖ participation at the contest SCORE-IT (Student COntest in softwaRE Engineering)

❖ Algorithms and Data Structure (2013-2014) 42 hours - 6 CFU

Teaching Assistant of: ❖ Programming (2012-2013)

Page 43: 3rd phd year dissertation

Thank you for your attention

Cycle XXVII

Dynamic Verification for Service-Oriented Computing

phd student: Daniele Fanìe-mail: [email protected]: prof. Andrea Polini

Cycle XXVII

3Information Sciencesand Complex Systems

3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015