Commit Graph

455 Commits

Author SHA1 Message Date
Sam Caldwell b023753091 provide an interface for msd tracing 2021-01-25 11:13:12 -05:00
Sam Caldwell 165dfeb6c8 fix bug I introduced 2020-12-11 16:38:56 -05:00
Sam Caldwell 38b5e34efb check context of on-start and on-stop as well 2020-12-10 15:08:19 -05:00
Sam Caldwell e2bb438704 Perform error/checking and reporting for non-spawn actions at the module
top level and endpoint installation out of context
2020-12-10 13:00:08 -05:00
Sam Caldwell af8dbeaa4b a bit more doc 2020-03-30 17:12:39 -04:00
Sam Caldwell 35d3332698 more docs 2020-03-26 16:04:34 -04:00
Sam Caldwell 9b48e77b6d more docs 2020-03-25 17:09:33 -04:00
Sam Caldwell cc8d0fa30b add flink test input 2020-03-23 09:25:01 -04:00
Sam Caldwell 026e129de7 work on docs 2020-03-20 16:42:27 -04:00
Sam Caldwell a2780484be fixup test 2020-03-11 13:12:16 -04:00
Sam Caldwell f8c385e31d cleanup 2020-03-10 11:44:24 -04:00
Sam Caldwell 18932662de flink: remove use of dataflow 2020-03-10 11:44:24 -04:00
Sam Caldwell 013ce19e68 flink: replace a lot of dataflow in job manager with internal events 2020-03-10 11:44:23 -04:00
Sam Caldwell f4701a3f70 fix bugs in internal events 2020-03-10 11:44:23 -04:00
Sam Caldwell 18fdcdeff7 untyped flink: use interest as request for jobs 2020-03-10 11:44:22 -04:00
Sam Caldwell 90961e57f8 untyped flink: unify task-assignment and task-state assertions 2020-03-10 11:44:22 -04:00
Sam Caldwell 14db8ce919 untyped flink: finish streamlining ids, resolve dataflow issue 2020-03-10 11:44:21 -04:00
Sam Caldwell 79277c91d3 untyped flink: work on streamlining ids, demonstrating dataflow issue 2020-03-10 11:44:21 -04:00
Sam Caldwell e3d9f93eca untyped flink: fiddle with race in task manager 2020-03-10 11:44:21 -04:00
Sam Caldwell 606dd17e08 associate task runners with a particular task manager 2020-03-10 11:44:21 -04:00
Sam Caldwell 32ebb804fb flink: task runners don't need a status 2020-03-10 11:44:20 -04:00
Sam Caldwell ed7c212561 start cleaning up/streamlining flink 2020-03-10 11:44:20 -04:00
Sam Caldwell ecbfe56163 Modify syndicate's module-begin to capture actions on the RHS of define
Example. consider a procedure that spawns an actor and then returns
some value relevant to communicating to that actor:

(define (spawn-an-actor)
  (define name (gensym))
  (spawn
    (on (asserted (... name ...))
         ...)
     ...)
  name)

And the module top level tries to boot and use this actor with a define:

(define the-name (spawn-an-actor))
(spawn ... use the-name ...)

The new module-begin analyzes (forms that expand to) define-values to
wrap the body with a capture-actor-actions, allowing such spawns to be
detected.
2020-03-10 11:44:19 -04:00
Sam Caldwell 945256b567 internal events for typed lang 2020-03-10 11:44:15 -04:00
Sam Caldwell e0d1975e2d (during (know P) O ...) for internal knowledge 2020-03-10 11:44:15 -04:00
Sam Caldwell d8516060c4 Create an actor-internal event system oriented around assertions and
messges.

internal form        ~ external form
(know v)             ~ (assert v)
(on (know p) ...)    ~ (on (asserted p) ...)
(on (forget p) ...)  ~ (on (retracted p) ...)
(realize! v)         ~ (send! v)
(on (realize v) ...) ~ (on (message v) ...)
2020-03-10 11:44:15 -04:00
Sam Caldwell f9dcad855e examples/flink: implement task delegation roles in terms of abstract
templates
2020-03-10 11:44:03 -04:00
Sam Caldwell f85203ac73 examples/flink: small cleanups 2019-03-05 10:53:30 -05:00
Sam Caldwell 0da903e438 examples/flink: merge task assignment and delegation protocols 2019-02-26 15:48:26 -05:00
Sam Caldwell 22bd143025 examples/flink: rename map and reduce structs for slightly less overloading on task 2019-02-26 13:34:12 -05:00
Sam Caldwell a6d6ceaa7c examples/flink: tidy up a bit 2019-02-26 12:13:37 -05:00
Sam Caldwell abc8669b74 examples/flink: describe the protocol 2019-02-26 10:50:00 -05:00
Sam Caldwell a98ba7baab examples/flink: avoid asking the task manager to do more than it is
capable of
2019-02-21 15:10:42 -05:00
Sam Caldwell 702c53f7d1 examples/flink: Split lines to words in job runner; trim punctuation on words 2019-02-18 16:03:27 -05:00
Sam Caldwell bb028b1af8 examples/flink: create a job from a file
Doesn't handle punctuation properly
2019-02-18 15:45:10 -05:00
Sam Caldwell fb778ab1ee examples/flink: create tasks & jobs from an input string rather than
manually
2019-02-18 15:21:24 -05:00
Sam Caldwell 5cb0462ec4 examples: adapt Jonathan's flink exceprt to syndicate 2019-02-13 15:53:04 -05:00
Sam Caldwell 36420274cb send newlines in tcp2 chat client 2019-01-25 11:16:06 -05:00
Tony Garnock-Jones 47094c11c4 Responsibility transfer during outbound websocket connection establishment 2018-08-14 17:38:36 +01:00
Tony Garnock-Jones cb351eee09 Repair current-ground-dataspace initialization, to allow override in e.g. graphical programs 2018-06-01 09:12:39 +01:00
Sam Caldwell e402725d7f note 2018-05-01 13:55:34 -04:00
Sam Caldwell f1c51661c7 Re-finagle module-begin to a more incremental style
Fixes 33
2018-05-01 13:55:34 -04:00
Tony Garnock-Jones f64ad8389a Update example-during-criterion-snapshotting.rkt 2018-04-29 21:48:49 +01:00
Tony Garnock-Jones 1fa5167e20 Fix a design flaw in Syndicate-HLL for syndicate/rkt.
If:
 - a field is used in an assertion of interest in facet A
 - and that field changes
 - to a value that causes the assertion of interest to overlap
   with some facet B's assertion of interest
 - and an assertion matching that interest was already known to the actor,
Then:
 - previously, facet A would not be informed of the matching assertion
 - but now, it is informed of the matching assertion.

This more or less only affects "on asserted" endpoints.

The change here should be written up as an erratum to chapter 5 in my
dissertation. Also, syndicate/js needs to be checked for the bug and
probably fixed in an analogous way.
2018-03-27 21:58:57 +13:00
Tony Garnock-Jones 55e1f09484 New "bug" (?) 2018-03-22 13:49:16 +13:00
Tony Garnock-Jones af150712e0 example-memoized.rkt 2018-03-06 17:35:40 +00:00
Tony Garnock-Jones 57a40e9576 Asynchronously send UDP packets.
Switch from synchronous to asynchronous UDP transmission, in case DNS
resolution takes a long time or fails. Specifically, in case of failure,
previously the UDP actor would crash, whereas now the packet is just
"dropped".
2018-03-06 11:12:57 +00:00
Tony Garnock-Jones 1ab4f0f525 Alternate approach to caching 2017-12-06 09:13:28 +00:00
Tony Garnock-Jones f11f4fd054 tcp-relay2.rkt 2017-12-05 17:38:49 +00:00
Tony Garnock-Jones eb44003317 New examples 2017-12-05 17:32:12 +00:00