concurrent pattern matching combining discovery privacy
play

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:


  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

  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

  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

  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

  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

  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

  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

  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

  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 | x � y � . 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

  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: { x = y } n x . P | n y . Q ⇔ → 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

  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

  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

  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

  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

  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

  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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend