  Swim extends the actor model to support applications composed of linked
distributed actors that continuously analyze boundless streams of events from
millions of sources, to respond in-sync with the real-world.
  Swim builds a running application from streaming events, creating a
distributed dataflow graph of linked, stateful, concurrent streaming actors
that is overlaid on a mesh of runtime instances. Streaming actors are vertices
in the dataflow graph that concurrently analyze new events and modify their
states. A link is an edge in the graph and is a URI binding to an actor's
streaming API. The Swim runtime streams every actor state change over its links
to other (possibly remote) actors using op-based CRDTs that asynchronously
update remotely cached actor state replicas. This frees local actors to compute
at any time, using the latest replicas of remote state. Actors evaluate
parametric functions, including geospatial, analytical, and predictive, to
discover new relationships and forge or break links, dynamically adapting the
dataflow graph to model the changing real-world. Swim applications are tiny,
robust and resource efficient, and remain effortlessly in-sync with the
real-world, analyzing, learning, and predicting on-the-fly.
