Distilling Concurrency from Sequential Descriptions (aka Extracting Sunbeams from Cucumbers)
- Speaker: Dr. Ashley McNeile
- Dr. McNeile has spent a forty year career in software development, both as practitioner and researcher. His academic work has focused on formalisms for describing and reasoning about software and process behaviour. His industry work has included building tools for software design and code generation, re-architecting complex legacy systems and providing consultancy to support aligning IT and business strategies.
- Date: Thursday, 23 March 2023 from 12:00 to 13:00
- Location: MAL 151 (Seminar room)
- Video URL: click here
Designing extended peer-to-peer collaborations that use asynchronous messaging without central orchestration is a challenge. Unlike a program or process that follows a single procedural description, the behaviour of a non-orchestrated collaboration emerges from the concurrent interaction of independent participants and is non-deterministic in nature. The most promising approach to building collaborations that are provably reliable is to base the design on a formal model that specifies all the allowable patterns of message exchange between the participants, known a "choreography". However it is easy to author a choreography that cannot be realised: the collaboration built from it deadlocks or results in messages being sent that cannot be received. Many papers have been published that give sufficient conditions for choreography realisability; however these are weak in that a choreography that violates such conditions may nevertheless be realisable. So far, conditions that are both necessary and sufficient, thus guaranteeing correct classification of any choreography, have proved elusive. In this talk I will describe my work and progress in this area, and some implications of the results.