Abstract and tweaks
This commit is contained in:
parent
375f6111c8
commit
b830ab296e
|
@ -9,6 +9,8 @@ by **Tony Garnock-Jones**
|
|||
PhD dissertation, supervised by Matthias Felleisen
|
||||
Northeastern University, December 2017
|
||||
|
||||
Contact: <tonyg@leastfixedpoint.com>
|
||||
|
||||
<span id="dissertation"></span>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.)
|
||||
|
||||
<p class="center"><iframe src="https://archive.org/embed/TonyGarnockJonesDoctoralDissertationDefense8Dec2017" width="640" height="480" frameborder="0" webkitallowfullscreen="true" mozallowfullscreen="true" allowfullscreen></iframe></p>
|
||||
|
||||
|
@ -41,51 +90,15 @@ The slides from my defense talk are available
|
|||
|
||||
<p class="center"><iframe src="html/presentation.html" width="640" height="480"></iframe></p>
|
||||
|
||||
### 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
|
||||
<http://syndicate-lang.org/> and
|
||||
<https://github.com/tonyg/syndicate/>.
|
||||
|
||||
### Proofs
|
||||
|
||||
The Coq scripts representing the proofs of some of the theorems from
|
||||
my dissertation will be available here shortly.
|
||||
|
||||
<!-- ### 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. -->
|
||||
|
|
Loading…
Reference in New Issue