Petros Papapanagiotou Automated Reasoning Lecture 9
What have you done so far? Done To Go 2
Learned new things!.. 3
...and some (more) logic!.. 4
...and practiced using Isabelle!.. 5
...but why? 6
Where is the connection... ...between these... ...and these? 7
Oops! 8
“LOGICAL” errors! 9
“LOGICAL” solution! 10
“LOGICAL” solution! Formal Verification! 11
Use logic to... Describe Specify Reason Assist 12
Web Services 13
Web Services 14
Web Services 15
Web Service Description: Inputs Outputs Preconditions Effects Service 16
Web Service Description: IOPEs Service Input Output 17
Web Service Description: IOPEs Service Preconditions Effects 18
Web Service Description: More? Cost! Quality! Service Location! Certification! 19
Web Services Description Language 20
Business Process Execution Language 21
Semantic Web Services: OWL-S 22
Example domain 23
USD to NOK Cm Select to Ski Inch Buyer Select Select Length Model 24
Example domain 25
House Alert Home Settlement Directory Home Criminal Insurance Service Buyer Title Search Estate Agent Contract Mortgage Service Service 26
Web Services Composition User Input Estate Settlement Agent House Alert Buyer Home Contract Directory Service Criminal Service Title Settlement Search or Home Exception Mortgage Insurance Service 27
Requirements Compose correctly Handle exceptions Provide trust 28
We are also... Offline Quality-driven Formal 29
The approach Classical π - Linear calculus Logic Proofs as processes 30
The approach HOL Light Classical π - Theorem Prover Linear calculus Logic Proofs as processes 31
The theory: π -calculus P ::= | 0 null process | x(y).P input | x<y>.P output |( ν x) P local variable | P || P parallel processes | P + P choice 32
The theory: Classical Linear Logic FOL CLL ⟦ p ; q ⟧ ⇒ p ⟦ p ; q ⟧ ⇒ p 33
The theory: Classical Linear Logic Disjunction Conjunction ⅋ ⊗ Multiplicative ⊕ & Additive . ⊥ Negation Red: input Blue: output 34
∧ The theory: Classical Linear Logic ∨ Disjunction Conjunction ⅋ ⊗ Multiplicative ⊕ & Additive . ⊥ Negation ¬ Red: input Blue: output 35
The theory: Classical Linear Logic ⊢ A ⊥ , B 36
The theory: Classical Linear Logic ⊢ A ⊥ , B ⊢ B ⊥ , C 37
The theory: Classical Linear Logic ⊢ A ⊥ , B ⊢ B ⊥ , C ⊢ A ⊥ , C 38
The theory: Classical Linear Logic ⊢ Height_cm ⊥ , Weight_kg ⊥ , Length_cm ⊢ Length_cm ⊥ , Length_inch ⊢ Height_cm ⊥ , Weight_kg ⊥ , Length_inch 39
The theory: Classical Linear Logic ⊢ Height_cm ⊥ , Weight_kg ⊥ , Length_cm ⊢ Length_cm ⊥ , Length_inch ⊢ Height_cm ⊥ , Weight_kg ⊥ , Length_inch Select Cm to Length Inch 40
The theory: Classical Linear Logic 41
The theory: Proofs-as-processes Γ ⇒ π 42
Example: Tensor ( ⊗ ) rule 43
44
B U F F E R P A R A L L E L C H O I C E S E Q U E N C E 45
WS Composition using proofs-as-processes Prove Extract Realisation Translate π -calculus Requested to CLL ... Service term 46
WS Composition using proofs-as-processes Prove Extract Realisation Translate π -calculus Requested to CLL ... Service term 47
Ski example specified in CLL SelectModel: ⊢ PRICE_LIMIT ⊥ , SKILL_LEVEL ⊥ , BRAND ⊗ MODEL SelectLength : ⊢ HEIGHT_CM ⊥ , WEIGHT_KG ⊥ , LENGTH_CM Cm2Inch : ⊢ LENGTH_CM ⊥ , LENGTH_IN Usd2Nok : ⊢ PRICE_USD ⊥ , PRICE_NOK SelectSki : ⊢ LENGTH_IN ⊥ , BRAND ⊥ , MODEL ⊥ , PRICE_USD ⊕ EXCEPTION 48
Real Estate Example specified in CLL HomeDir : ⊢ HOME_CRITERIA ⊥ , HOME_LISTING 1. CriminalService : ⊢ REGION ⊥ , CRIMINAL_ACT 2. HouseAlert : ⊢ HOME_LISTING ⊥ , CRIMINAL_ACT ⊥ , 3. DESIRED_LEVEL ⊥ , HOME_TITLE_ID ⊗ HOME_AGENT_ID ⊗ HOME_DESC Buyer : ⊢ HOME_DESC ⊥ , HOME_OFFER 4. EstateAgentSeller : ⊢ HOME_AGENT_ID ⊥ , HOME_OFFER ⊥ , 5. ACCEPTED_OFFER ⊕ REJECTED_OFFER MortgageService : ⊢ CLIENT_INFO ⊥ , PREAPPROVAL ⊕ EXM 6. ContractService : ⊢ PREAPPROVAL ⊥ , ACCEPTED_OFFER ⊥ , 7. CONTRACT TitleSearch : ⊢ HOME_TITLE_ID ⊥ , TITLE ⊗ 8. (HOME_INSURANCE ⊕ HOME_INS_ID) HomeInsurance : ⊢ HOME_INS_ID ⊥ , HOME_INS 9. Settlement : ⊢ TITLE ⊥ , CONTRACT ⊥ , HOME_INS ⊥ , 10. SETTLEMENT 49
Ski Request in CLL ⊢ PRICE_LIMIT ⊥ , SKILL_LEVEL ⊥ , HEIGHT_CM ⊥ , WEIGHT_KG ⊥ , PRICE_NOK ⊕ ?EXCEPTION 50
Ski Request in CLL ⊢ PRICE_LIMIT ⊥ , SKILL_LEVEL ⊥ , HEIGHT_CM ⊥ , WEIGHT_KG ⊥ , PRICE_NOK ⊕ ?EXCEPTION What is the final exception? Metavariables + unification! 51
WS Composition using proofs-as-processes Prove Extract Realisation Translate π -calculus Requested to CLL ... Service term 52
Proof for the Ski example 53
WS Composition using proofs-as-processes Prove Extract Realisation Translate π -calculus Requested to CLL ... Service term 54
Ski Result in π -calculus 55
Real Estate Result 56
WS Composition using proofs-as-processes Prove Extract Realisation Translate π -calculus Requested to CLL Execution Service term 57
Execution: PiVizTool π -calculus is executable! PiVizTool: Visualisation of connections Animation of execution Empirical verification 58
PiVizTool 59
WS Composition using proofs-as-processes Prove Extract Realisation Translate π -calculus Requested to CLL Translation Service term Upcoming! BPEL OWL-S 60
Implementation: Details HOL Light – flexible, programmable Isabelle Light – procedural proofs, metavariables π -calculus CLL Conservative Syntax (polymorphic type) Combined inference rules – proofs-as-processes Substitution A few functions 61
Implementation: π -calculus P ::= define_type (A) Agent = | 0 Zero | x(y).P | In A (A list) Agent | x<y>.P | Out A (A list) Agent | ( ν x) P | Res (A list) Agent | P || P | Comp Agent Agent | P + P | Plus Agent Agent 62
Implementation: CLL 63
Implementation: Proofs-as- processes 64
References P. Papapanagiotou and J. Fleuriot (2011). Formal verification of Web Services composition using Linear Logic and the pi- calculus , In Proceedings of 9th IEEE European Conference on Web Services (ECOWS 2011), pages 31-38, September 14-16, 2011, Lugano, Switzerland. IEEE Computer Society. P. Papapanagiotou and J. Fleuriot (2011). A theorem proving framework for the formal verification of Web Services Composition , In Proceedings WWV 2011, EPTCS 61, pp. 1-16, doi: 10.4204/EPTCS.61.1 65
Prospect for MSc Pr MSc Project oject and beyond ! Contact us! 66
Recommend
More recommend