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
|
PhD dissertation, supervised by Matthias Felleisen
|
||||||
Northeastern University, December 2017
|
Northeastern University, December 2017
|
||||||
|
|
||||||
|
Contact: <tonyg@leastfixedpoint.com>
|
||||||
|
|
||||||
<span id="dissertation"></span>The dissertation itself is available in two formats:
|
<span id="dissertation"></span>The dissertation itself is available in two formats:
|
||||||
|
|
||||||
- [PDF]({{ site.baseurl
|
- [PDF]({{ site.baseurl
|
||||||
|
@ -20,7 +22,54 @@ Northeastern University, December 2017
|
||||||
On this page, you will find a
|
On this page, you will find a
|
||||||
[recording](#dissertation-defense-talk-recording) of my dissertation
|
[recording](#dissertation-defense-talk-recording) of my dissertation
|
||||||
defense talk, the [slides](#dissertation-defense-slides) I used for my
|
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
|
### 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
|
recorded. There is a copy on the
|
||||||
[Internet Archive](https://archive.org/details/TonyGarnockJonesDoctoralDissertationDefense8Dec2017)
|
[Internet Archive](https://archive.org/details/TonyGarnockJonesDoctoralDissertationDefense8Dec2017)
|
||||||
(embedded below) and another at
|
(embedded below) and another at
|
||||||
[YouTube](https://www.youtube.com/watch?v=w8jgUFWVD5s). (The sound is
|
[YouTube](https://www.youtube.com/watch?v=w8jgUFWVD5s). (I'm afraid
|
||||||
*very* quiet on the recording.)
|
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>
|
<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>
|
<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
|
### Proofs
|
||||||
|
|
||||||
The Coq scripts representing the proofs of some of the theorems from
|
The Coq scripts representing the proofs of some of the theorems from
|
||||||
my dissertation will be available here shortly.
|
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