formal verification of web services composition using

33
FORMAL VERIFICATION OF WEB SERVICES COMPOSITION USING LINEAR LOGIC AND THE Π-CALCULUS European Conference on Web Services 14-16 September 2011, Lugano, Switzerland Petros Papapanagiotou and Jacques Fleuriot University of Edinburgh

Upload: others

Post on 26-Apr-2022

5 views

Category:

Documents


0 download

TRANSCRIPT

A Theorem Proving Framework for Rigorous Web Services CompositionEuropean Conference on Web Services 14-16 September 2011, Lugano, Switzerland
Petros Papapanagiotou and Jacques Fleuriot University of Edinburgh
Web Services Composition
In this work: Offline Formal Exceptions Non-functional properties (Quality driven)
1
Rigorous approach – fully verified No ad-hoc implementations Trust!
HOL Light: Well respected HOL theorem prover Extensible, flexible, programmable Trusted: LCF approach Small, trusted core of axioms
But: requires expertise
10 available services
3
Classical Linear Logic and π-calculus
Systematically (deeply) embedded in a theorem prover: Formalised proof rules: can be trusted Verification
6
π-calculus
| P || P parallel processes
P A R A L L E L
C H O I C E
S E Q U E N C E
WS Composition using proofs-as-processes
EOFIP ii

1. HomeDir: HOME_CRITERIA⊥, HOME_LISTING 2. CriminalService: REGION⊥, CRIMINAL_ACT 3. HouseAlert: HOME_LISTING⊥, CRIMINAL_ACT⊥,
DESIRED_LEVEL⊥, HOME_TITLE_ID ⊗ HOME_AGENT_ID ⊗ HOME_DESC
CONTRACT 8. TitleSearch: HOME_TITLE_ID⊥, TITLE ⊗ (HOME_INSURANCE
⊕ HOME_INS_ID) 9. HomeInsurance: HOME_INS_ID⊥, HOME_INS 10. Settlement: TITLE⊥, CONTRACT⊥, HOME_INS⊥, SETTLEMENT
15
HOME_CRITERIA⊥, REGION⊥, DESIRED_LEVEL⊥, CLIENT_INFO⊥, SETTLEMENT ⊕ ?EXCEPTION
16
HOME_CRITERIA⊥, REGION⊥, DESIRED_LEVEL⊥, CLIENT_INFO⊥, SETTLEMENT ⊕ ?EXCEPTION
17
TP: uninstantiated metavariables + unification Rely on trusted built-in procedures
WS Composition using proofs-as-processes
Single input: Buyer: HDE⊥, HO
19
Single input: Buyer: HDE⊥, HO
How is HDE extracted from the composite output? What happens to HTID and HAID? Buffering
Example sub-proof 20
Multiple outputs: HouseAlert: HL⊥, CA⊥, DL⊥, HTID ⊗ HAID ⊗ HDE
21
ContractService can only handle PreApproval: ContractService: PA⊥, AO⊥, CO
22
Choice!
ContractService can only handle PreApproval: ContractService: PA⊥, AO⊥, CO
How is PA extracted from the optional output? What happens if EXM is thrown? Exception handling / tracking
23
Theorem proving: Waldinger (2001): program synthesis in SNARK (FOL)
Lammermann (2002): structural synthesis in Java (IL)
Rao et al. (2006): proofs-as-processes in RAPS (ILL)
Current project: proofs-as-processes in HOL Light (CLL)
30
Further evaluation More examples
Pragmatic: Non-trivial example of 10 WS Proper exception handling
Also a TP framework for theoretical investigation A lot of ideas and room for further development
32
Formal Verification of Web Services composition using Linear Logic and the π-calculus
Web Services Composition
Real Estate Example
Example: Available Services
Example: Requested Service
Real Estate Request in CLL
Real Estate Request in CLL
WS Composition using proofs-as-processes