For large-scale software *systems*, Van Roy believes we need...

For large-scale software systems, Van Roy believes we need to embrace a self-sufficient style of system design in which systems become self-configuring, healing, adapting, etc..

The system has components as first class entities (specified by closures), that can be manipulated through higher-order programming. Components communicate through message-passing. Named state and transactions support system configuration and maintenance. On top of this, the system itself should be designed as a set of interlocking feedback loops.

Here I’m reminded of systems thinking and causal loop diagrams.

These connect several of my systems design principles.

It also seems to correspond to robust-first computation.

www.joshbeckman.org/notes/465106991