3rd phd year dissertation
TRANSCRIPT
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
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
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
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
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
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.
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
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
3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015
ServicePotResearch Activity - Publications - Conferences - Seminars - Didactic
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
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
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
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
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
+ +
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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”
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
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
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
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
3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015
Publications
Research Activity - Publications - Conferences - Seminars - Didactic
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
3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015
Conferences
Research Activity - Publications - Conferences - Seminars - Didactic
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
3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015
Seminars and Courses
Research Activity - Publications - Conferences - Seminars - Didactic
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
3rd PhD year report of Daniele Fanì University of Camerino, February, 6 2015
Didactic
Research Activity - Publications - Conferences - Seminars - Didactic
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)
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