diff --git a/tonyg-dissertation/index.md b/tonyg-dissertation/index.md index 5080482..f0f046f 100644 --- a/tonyg-dissertation/index.md +++ b/tonyg-dissertation/index.md @@ -9,6 +9,8 @@ by **Tony Garnock-Jones** PhD dissertation, supervised by Matthias Felleisen Northeastern University, December 2017 +Contact: + The dissertation itself is available in two formats: - [PDF]({{ site.baseurl @@ -20,7 +22,54 @@ Northeastern University, December 2017 On this page, you will find a [recording](#dissertation-defense-talk-recording) of my dissertation defense talk, the [slides](#dissertation-defense-slides) I used for my -talk, and the [proof scripts](#proofs) accompanying the dissertation. +talk, a [source code snapshot](#source-code-snapshot) of the Syndicate +implementations and examples, and the [proof scripts](#proofs) +accompanying the dissertation. + +### Abstract + +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: + + 0. 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. + + 0. It offers the first crisp formulation of cooperative, + conversational knowledge-exchange as a mathematical model. + + 0. It describes two faithful implementations of the model for two + quite different languages. + + 0. 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. + + 0. 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. ### Dissertation defense talk recording @@ -28,8 +77,8 @@ I defended my thesis on the 8th of December, 2017. The talk was recorded. There is a copy on the [Internet Archive](https://archive.org/details/TonyGarnockJonesDoctoralDissertationDefense8Dec2017) (embedded below) and another at -[YouTube](https://www.youtube.com/watch?v=w8jgUFWVD5s). (The sound is -*very* quiet on the recording.) +[YouTube](https://www.youtube.com/watch?v=w8jgUFWVD5s). (I'm afraid +that the sound is *very* quiet on the recording.)

@@ -41,51 +90,15 @@ The slides from my defense talk are available

+### Source code snapshot + +The source code for the Syndicate prototypes and example applications, +as they were at the time of my dissertation, will be available here +shortly. In the meantime, please see the downloads available at + and +. + ### Proofs The Coq scripts representing the proofs of some of the theorems from my dissertation will be available here shortly. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -