The Actor Model
Hewitt's Actor Model treats computation as independent actors that communicate by messages. Each actor can hold local state, create more actors, send messages, and decide how to respond to the next message it receives.
That model is still useful because it fits systems that are already distributed: services, devices, UI sessions, workers, edge nodes, and long-running agents. The important boundary is not a global shared memory image. It is ownership plus message exchange.
Capabilities And Edge Computation
Hewitt's later work also connected to object capabilities and edge computation. Object capabilities make access explicit: a component can affect only what it has been given a reference to affect. That is a practical discipline for distributed systems where authority should not leak through global names.
The Citadels direction placed compute, inference, and storage nearer the place where low latency and high bandwidth matter. That is still a serious systems question: where should state and computation live when the user experience depends on timing?
Remembering The Work
The original post came from years of following Hewitt's work and from meeting him through the FriAM object-capabilities community near Mountain View.
Hewitt's phrase "incompleteness robustness" points to a systems problem that remains central: large software cannot wait for complete knowledge before acting. It has to keep running, communicate, recover, and improve while information is incomplete.
R.I.P. Carl Hewitt, 1944-2022.