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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Recommend
More recommend