Concurrent Pattern Matching: combining discovery, privacy and - - PowerPoint PPT Presentation

concurrent pattern matching combining discovery privacy
SMART_READER_LITE
LIVE PREVIEW

Concurrent Pattern Matching: combining discovery, privacy and - - PowerPoint PPT Presentation

Introduction Background Deliverables & Methodology State of research Concurrent Pattern Matching: combining discovery, privacy and symmetry using pattern matching Thomas Given-Wilson, University of Technology, Sydney Supervisor:


slide-1
SLIDE 1

Introduction Background Deliverables & Methodology State of research

Concurrent Pattern Matching: combining discovery, privacy and symmetry using pattern matching

Thomas Given-Wilson, University of Technology, Sydney Supervisor: Associate Professor Barry Jay December 1, 2008

Thomas Given-Wilson, University of Technology, Sydney Concurrent Pattern Matching: combining discovery, privacy and

slide-2
SLIDE 2

Introduction Background Deliverables & Methodology State of research

Outline

◮ Introduction

◮ Motivating problem ◮ Discovery, privacy & symmetry

◮ Background

◮ Computation ◮ History of concurrency in three examples ◮ Significance

◮ Deliverables & Methodology

◮ Deliver: a new calculus and an implementation ◮ Methodology: logic and implementation ◮ Ethical issues

◮ State of research

◮ Timetable ◮ New calculus ◮ Solution to the motivating problem ◮ Conclusions Thomas Given-Wilson, University of Technology, Sydney Concurrent Pattern Matching: combining discovery, privacy and

slide-3
SLIDE 3

Introduction Background Deliverables & Methodology State of research

Motivating problem

The problem is for a buyer to find a particular performance that is being advertised by a seller and purchase a ticket to attend. Buyer: find a performance, purchase a ticket Seller: advertise a performance, sell a ticket Three key concepts:

  • 1. Buyer and seller discover each other
  • 2. Exchange information privately
  • 3. Treat both parties equally, i.e. symmetry

Thomas Given-Wilson, University of Technology, Sydney Concurrent Pattern Matching: combining discovery, privacy and

slide-4
SLIDE 4

Introduction Background Deliverables & Methodology State of research

Discovery

Buyer and seller need to discover each other...

◮ No prior knowledge of each other ◮ No third party/broker ◮ Some agreed data format (e.g. XML)

⇒ data structures

◮ Pattern matching problem

⇒ patterns are data structures

◮ Only communicate if match/discovery successful

Known problem in web services (Benatallah, Hacid, Leger, Rey and Toumani 2005).

Thomas Given-Wilson, University of Technology, Sydney Concurrent Pattern Matching: combining discovery, privacy and

slide-5
SLIDE 5

Introduction Background Deliverables & Methodology State of research

Privacy

Buyer and seller communicate privately...

◮ Other processes cannot:

◮ see the communication ◮ participate in the communication ◮ interfere with the communication

◮ Use a process calculus approach

◮ Logical/provable ◮ Style of Gordon and Abadi (1997) Thomas Given-Wilson, University of Technology, Sydney Concurrent Pattern Matching: combining discovery, privacy and

slide-6
SLIDE 6

Introduction Background Deliverables & Methodology State of research

Symmetry

Buyer and seller exchange information...

◮ Both parties want a symmetric exchange:

◮ Buyer: only provide payment details if they receive a ticket ◮ Seller: only provide a ticket if they receive payment details

◮ Communicate in both directions in a single transaction ◮ Symmetry varies:

◮ Newton: for every action there is an equal and opposite

reaction

◮ Milner: communication is a handshake interaction between two

parties

Thomas Given-Wilson, University of Technology, Sydney Concurrent Pattern Matching: combining discovery, privacy and

slide-7
SLIDE 7

Introduction Background Deliverables & Methodology State of research

Computation (an overview)

A (really) brief history of computation

◮ Turing machines

◮ Everything is a data structure ◮ Procedural programming languages

◮ λ calculus

◮ Everything is a function ◮ Functional programming languages

◮ Pattern calculus

◮ Based on pattern matching ◮ Data structures and functions ◮ Universal programming language? Thomas Given-Wilson, University of Technology, Sydney Concurrent Pattern Matching: combining discovery, privacy and

slide-8
SLIDE 8

Introduction Background Deliverables & Methodology State of research

Adding concurrency: Communicating Sequential Processes

Communicating sequential processes (CSP) by Hoare (1983):

◮ Programming language foundation ◮ Added some primitives for concurrency

◮ Input:

< input command >::=< source >? < target variable >

◮ Output:

< output command >::=< destination >! < expression >

◮ “structured” communication ◮ ... but very verbose, more than 30 syntactic classes!

See also: calculus of communicating systems

Thomas Given-Wilson, University of Technology, Sydney Concurrent Pattern Matching: combining discovery, privacy and

slide-9
SLIDE 9

Introduction Background Deliverables & Methodology State of research

Isolating concurrency: π calculus

The π calculus by Milner, Parrow and Walker (1992):

◮ Focus only on concurrency ◮ Simple syntax:

P, Q ::= 0 | P|Q | !P | (ν z)P | x(y).P | xy.P

◮ All about names

◮ variables ◮ channels ◮ process identifiers

◮ Abstracts away computation (generalises λ calculus) ◮ Purely logical ⇒ prove theorems, e.g. bisimulation

See also: polyadic pi calculus, chemical abstract machine, γ calculus

Thomas Given-Wilson, University of Technology, Sydney Concurrent Pattern Matching: combining discovery, privacy and

slide-10
SLIDE 10

Introduction Background Deliverables & Methodology State of research

Capturing special behaviour: fusion calculus

The fusion calculus by Parrow and Victor (1998):

◮ Shared state ◮ Reduction strategies ◮ Communication is an equivalence relation:

n x.P|n y.Q

{x=y}

⇔ → P|Q

◮ “structured” communication ◮ Generalises (polyadic) π calculus (and so λ calculus)

See also: temporal calculus of communicating systems, spi calculus, mobile ambient calculus, bioambient calculus, concurrent pattern calculus

Thomas Given-Wilson, University of Technology, Sydney Concurrent Pattern Matching: combining discovery, privacy and

slide-11
SLIDE 11

Introduction Background Deliverables & Methodology State of research

Significance

Significance of a process calculus that can express discovery, privacy and symmetry:

◮ Discovery is rare in process calculi ◮ Data structures

◮ Basis of pattern matching ◮ Standardised formats (e.g. XML) ◮ Also rare in process calculi

◮ Harmonise data structures and symmetry ◮ Express web services style problems ◮ Subsume pattern calculus

and of an implementation

◮ Demonstrate the feasibility ◮ Make research available to broader audience

◮ Write applications ◮ Examine code Thomas Given-Wilson, University of Technology, Sydney Concurrent Pattern Matching: combining discovery, privacy and

slide-12
SLIDE 12

Introduction Background Deliverables & Methodology State of research

Core Deliverables

A new process calculus that:

◮ can express discovery, privacy and symmetry ◮ can express a solution to the motivating problem ◮ subsumes pattern calculus

An implementation of the new calculus that:

◮ demonstrates the new process calculus ◮ is concurrent (ideally networked) ◮ is implemented in bondi (if possible, more in Methodology II)

Thomas Given-Wilson, University of Technology, Sydney Concurrent Pattern Matching: combining discovery, privacy and

slide-13
SLIDE 13

Introduction Background Deliverables & Methodology State of research

Optional extras

Other areas that would lend additional support to the thesis:

◮ Include additional aspects of concurrency (e.g. time,

locations, chemistry, biology, security)

◮ Demonstrate the increased expressive power of the new

calculus

◮ Prove properties about the model ◮ Develop a type theory ◮ Optimise the implementation ◮ Integrate a data standard (e.g. XML) into the implementation ◮ Integrate the theory into an existing programming language

(e.g. Java)

Thomas Given-Wilson, University of Technology, Sydney Concurrent Pattern Matching: combining discovery, privacy and

slide-14
SLIDE 14

Introduction Background Deliverables & Methodology State of research

Methodology I: logic

Create the new calculus through logic via:

◮ Definitions: constructs, functions, equivalences, rules and

reductions

◮ Proofs about the model: e.g. structural equivalence,

bisimulation

◮ Proofs related to other models: e.g. translations,

subsumption, differences in expressive power

This may sound easy, but in the words of Milner (1999, p. 3): “Building communicating systems is not a well-established science, or even a stable craft; we do not have an agreed repertoire of constructions for building and expressing interactive systems, in the way that we (more-or-less) have for building sequential computer programs”.

Thomas Given-Wilson, University of Technology, Sydney Concurrent Pattern Matching: combining discovery, privacy and

slide-15
SLIDE 15

Introduction Background Deliverables & Methodology State of research

Methodology II: implementation

Implementing the calculus in bondi

◮ Convert constructs ◮ Create algorithms for relations, rules, functions, etc. ◮ Extend bondi for concurrency (!) ◮ Write up the motivating problem and show it works

Open question: Will bondi support concurrency enough for the thesis? Backup plan: Simulation or use another programming language.

Thomas Given-Wilson, University of Technology, Sydney Concurrent Pattern Matching: combining discovery, privacy and

slide-16
SLIDE 16

Introduction Background Deliverables & Methodology State of research

Ethical issues

There are no ethical issues that require approval from the university ethics board.

Thomas Given-Wilson, University of Technology, Sydney Concurrent Pattern Matching: combining discovery, privacy and

slide-17
SLIDE 17

Introduction Background Deliverables & Methodology State of research

Timetable

Semester 1

  • Literature review √

(03-06/2008)

  • Define scope of thesis √

Semester 2

  • Begin writing thesis √

(07-12/2008)

  • Develop a first model √
  • Doctoral Assessment (now!)

Semesters 3 & 4

  • Refine first model

(01-12/2009)

  • Prove required theorems
  • First implementation
  • Study with another research group
  • Continue writing thesis
  • Submit refined model for publication

Semesters 5 & 6

  • Refine implementation and model

(01-12/2010)

  • Internship with commercial research (optional)
  • Additional deliverables (as appropriate)
  • Final edit and review thesis
  • Submit and defend thesis

Thomas Given-Wilson, University of Technology, Sydney Concurrent Pattern Matching: combining discovery, privacy and

slide-18
SLIDE 18

Introduction Background Deliverables & Methodology State of research

New calculus: the highlights

Terms: t ::= x | t|t | (ν x)t | t • t | t.t | t →θ t Match rule: {x θ| |ϕ q} = {q/x} x ∈ θ, fn(q) ∩ ϕ = {} {p θ| |ϕ x} = {p/x} x ∈ ϕ, fn(p) ∩ θ = {} {x θ| |ϕ x} = {} x / ∈ θ ∪ ϕ {p1 • p2 θ| |ϕ q1 • q2} = {p1 θ| |ϕ q1} ⊎ {p2 θ| |ϕ q2} {p θ| |ϕ q} = undefined otherwise. Reduction rules: p →θ s|q →ϕ t ⇒ {p θ| |ϕ q}(s|t) θ ∩ fn(t) = {} ϕ ∩ fn(s) = {} {p θ| |ϕ q} is defined n.s|m.t ⇒ r {n {}| |{} m} is defined s|t ⇒ r

Thomas Given-Wilson, University of Technology, Sydney Concurrent Pattern Matching: combining discovery, privacy and

slide-19
SLIDE 19

Introduction Background Deliverables & Methodology State of research

Solving the motivating problem

Represent the performance information by some data structure denoted Perf. Buyer process (with credit card information CreditC): Perf • chan →chan chan.CreditC • tn →tn B Seller process (with ticket number 849): (ν priv)Perf • priv → priv.cc • 849 →cc S Reductions (⇒): Perf • chan →chan

  • chan. CreditC • tn

→tn B | (ν priv) Perf • priv → priv. cc • 849 →cc S ⇒ (ν priv) ( priv. CreditC • tn →tn B | priv. cc • 849 →cc S ) ⇒ (ν priv) ( B | S )

Thomas Given-Wilson, University of Technology, Sydney Concurrent Pattern Matching: combining discovery, privacy and

slide-20
SLIDE 20

Introduction Background Deliverables & Methodology State of research

Conclusion

◮ Combining discovery, privacy and symmetry is desirable ◮ The motivating problem

◮ demonstrates the desirability of discovery, privacy and

symmetry

◮ is typical of a class of examples

◮ The calculus overviewed here

◮ expresses discovery, privacy and symmetry ◮ expresses a solution to the motivating problem ◮ (probably) subsumes pattern calculus ◮ has the potential to be a general model

◮ An implementation of the new calculus would

◮ support the calculus ◮ ensure the calculus is feasible ◮ make the research more available Thomas Given-Wilson, University of Technology, Sydney Concurrent Pattern Matching: combining discovery, privacy and

slide-21
SLIDE 21

Introduction Background Deliverables & Methodology State of research

Bibliography

Benatallah, B., Hacid, M.-S., Leger, A., Rey, C. and Toumani, F. 2005, On automating web services discovery, The VLDB Journal 14(1), 84–96. Berry, G. and Boudol, G. 1990, The chemical abstract machine, POPL ’90: Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, ACM, New York, NY, USA,

  • pp. 81–94.

Cardelli, L. and Gordon, A. D. 1998, Mobile ambients, Foundations of Software Science and Computation Structures: First International Conference, FOSSACS ’98, Springer-Verlag, Berlin Germany. Gordon, A. and Abadi, M. 1997, A calculus for cryptographic protocols: The spi calculus, 4th ACM Conference on Computer and Communications Security pp. 36 – 47. Gorla, D. and Jay, C. B. 2007, Simultaneous information exchange via symmetric pattern-matching. Personal Communication, 12 December. Hoare, C. A. R. 1983, Communicating sequential processes, Commun. ACM 26(1), 100–106. Milner, R. 1982, A Calculus of Communicating Systems, Springer-Verlag New York, Inc., Secaucus, NJ, USA. Milner, R. 1999, Communicating and Mobile Systems: the Pi-Calculus, Cambridge University Press. Milner, R., Parrow, J. and Walker, D. 1992, A calculus of mobile processes, I–II, Information and Computation 100(1), 1–77. Parrow, J. and Victor, B. 1998, The fusion calculus: expressiveness and symmetry in mobile processes, Logic in Computer Science, 1998. Proceedings. Thirteenth Annual IEEE Symposium on pp. 176–185. Thomas Given-Wilson, University of Technology, Sydney Concurrent Pattern Matching: combining discovery, privacy and