Petros Papapanagiotou Automated Reasoning Lecture 9 What have you - - PowerPoint PPT Presentation
Petros Papapanagiotou Automated Reasoning Lecture 9 What have you - - PowerPoint PPT Presentation
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...
What have you done so far?
Done To Go 2Learned new things!..
3...and some (more) logic!..
4...and practiced using Isabelle!..
5...but why?
6Where is the connection...
...between these... ...and these?
7Oops!
8“LOGICAL” errors!
9“LOGICAL” solution!
10“LOGICAL” solution!
11Formal Verification!
Use logic to...
Describe Specify Reason Assist
12Web Services
13Web Services
14Web Services
15Web Service Description:
Inputs Outputs Preconditions Effects
16Service
Web Service Description: IOPEs
17Service
Input Output
Web Service Description: IOPEs
18Service
Preconditions Effects
Service
Web Service Description: More?
19Cost! Location! Quality!
Certification!
Web Services Description Language
20Business Process Execution Language
21Semantic Web Services: OWL-S
22Example domain
23Buyer
USD to NOK Cm to Inch Select Model Select Length Select Ski
Example domain
25Buyer
House Alert Home Directory Criminal Service Estate Agent Mortgage Service Contract Service Title Search Home Insurance SettlementWeb Services Composition
27 Home Directory House Alert Settlement Mortgage Service Contract Service Criminal Service Estate Agent Title Search Home InsuranceBuyer
User Input Settlement- r
Requirements
Compose correctly Handle exceptions Provide trust
28We are also...
Offline Quality-driven Formal
29The approach
Proofs as processes
Classical Linear Logic π- calculus
30HOL Light
Theorem Prover
The approach
31Proofs as processes
Classical Linear Logic π- calculus
The theory: π-calculus
32 P ::= | 0 null process | x(y).P input | x<y>.P- utput
The theory: Classical Linear Logic
FOL
⟦ p ; q ⟧ ⇒ p
CLL
⟦ p ; q ⟧ ⇒ p
33The theory: Classical Linear Logic
34Red: input Blue: output
Disjunction Conjunction Multiplicative
⅋ ⊗
Additive
⊕ &
Negation
.⊥
The theory: Classical Linear Logic
35Red: input Blue: output
Disjunction Conjunction Multiplicative
⅋ ⊗
Additive
⊕ &
Negation
.⊥
¬ ∧ ∨
The theory: Classical Linear Logic
⊢ A⊥, B
36The theory: Classical Linear Logic
⊢ A⊥, B ⊢ B⊥, C
37The theory: Classical Linear Logic
⊢ A⊥, B ⊢ B⊥, C ⊢ A⊥, C
38The theory: Classical Linear Logic
⊢ Height_cm ⊥, Weight_kg ⊥, Length_cm ⊢ Length_cm ⊥, Length_inch ⊢ Height_cm⊥, Weight_kg ⊥, Length_inch 39The theory: Classical Linear Logic
⊢ Height_cm ⊥, Weight_kg ⊥, Length_cm ⊢ Length_cm ⊥, Length_inch ⊢ Height_cm⊥, Weight_kg ⊥, Length_inch 40Select Length Cm to Inch
The theory: Classical Linear Logic
41The theory: Proofs-as-processes
42Γ ⇒ π
Example: Tensor (⊗) rule
43B 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
WS Composition using proofs-as-processes
Translate to CLL Prove Requested Service Extract π-calculus term Realisation ...
46WS Composition using proofs-as-processes
Translate to CLL Prove Requested Service Extract π-calculus term Realisation ...
47Ski 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 48Real Estate Example specified in CLL
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
4. Buyer: ⊢ HOME_DESC⊥, HOME_OFFER 5. EstateAgentSeller: ⊢ HOME_AGENT_ID⊥, HOME_OFFER⊥,ACCEPTED_OFFER ⊕ REJECTED_OFFER
6. MortgageService: ⊢ CLIENT_INFO⊥, PREAPPROVAL ⊕ EXM 7. ContractService: ⊢ PREAPPROVAL⊥, ACCEPTED_OFFER⊥,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
49Ski Request in CLL
⊢ PRICE_LIMIT⊥, SKILL_LEVEL⊥, HEIGHT_CM⊥, WEIGHT_KG⊥, PRICE_NOK ⊕ ?EXCEPTION
50Ski Request in CLL
⊢ PRICE_LIMIT⊥, SKILL_LEVEL⊥, HEIGHT_CM⊥, WEIGHT_KG⊥, PRICE_NOK ⊕ ?EXCEPTION
51 What is the final exception? Metavariables + unification!
WS Composition using proofs-as-processes
Translate to CLL Prove Requested Service Extract π-calculus term Realisation ...
52Proof for the Ski example
53WS Composition using proofs-as-processes
Translate to CLL Prove Requested Service Extract π-calculus term Realisation ...
54Ski Result in π-calculus
55Real Estate Result
56WS Composition using proofs-as-processes
Translate to CLL Prove Requested Service Extract π-calculus term Realisation Execution
57Execution: PiVizTool
π-calculus is executable! PiVizTool:
Visualisation of connections Animation of execution Empirical verification
58PiVizTool
59WS Composition using proofs-as-processes
Translate to CLL Prove Requested Service Extract π-calculus term Realisation Translation
Upcoming! BPEL OWL-S 60Implementation: Details
HOL Light – flexible, programmable Isabelle Light – procedural proofs, metavariables
CLL
Conservative Combined inference rules– proofs-as-processes π-calculus
Syntax (polymorphictype)
Substitution A few functions 61Implementation: π-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 62Implementation: CLL
63Implementation: Proofs-as- processes
64References
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 65Prospect for
MSc Pr MSc Project
- ject
and beyond!
Contact us!
66