PhD Thesis Defense: Conversational Concurrency
Title: Conversational Concurrency
Speaker: Tony Garnock-Jones, PhD candidate, College of Computer and Information Science, Northeastern University
Location: Northeastern University, 440 Huntington Avenue, West Village H, 3rd Floor, Room #366, Boston, Massachusetts 02115
Concurrent computations resemble conversations. In a conversation, participants direct utterances at others and, as the conversation evolves, exploit the known common context to advance the conversation.
Similarly, collaborating software components share knowledge with each other in order to make progress as a group towards a common goal.
This dissertation studies concurrency from the perspective of cooperative knowledge-sharing, taking the conversational exchange of knowledge as a central concern in the design of concurrent programming languages. In doing so, it makes five contributions:
1. It develops the idea of a common dataspace as a medium for knowledge exchange among concurrent components, enabling a new approach to concurrent programming.
While dataspaces loosely resemble both “fact spaces” from the world of Linda-style languages and Erlang's collaborative model, they significantly differ in many details.
2. It offers the first crisp formulation of cooperative, conversational knowledge-exchange as a mathematical model.
3. It describes two faithful implementations of the model for two quite different languages.
4. It proposes a completely novel suite of linguistic constructs for organizing the internal structure of individual actors in a conversational setting.
The combination of dataspaces with these constructs is dubbed /Syndicate/.
5. It presents and analyzes evidence suggesting that the proposed techniques and constructs combine to simplify concurrent programming.
The dataspace concept stands alone in its focus on representation and manipulation of conversational frames and conversational state and in its integral use of explicit epistemic knowledge. The design is particularly suited to integration of general-purpose I/O with otherwise-functional languages, but also applies to actor-like settings more generally.
About the Speaker
Tony joined the Northeastern Programming Research Laboratory in 2010 after spending several years in industry in London researching and developing software for simplifying the programming of distributed systems. His PhD research is on a new language design, Syndicate, which offers programmers a new way of thinking about and structuring interactions among concurrent program components.
Matthias Felleisen (advisor)
Friday, December 8, 2017 at 11:00am
No recent activity