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.
Adrian ColyerProgramming Paradigms for Dummies: What Every Programmer Should Know
These connect several of my systems design principles.
It also seems to correspond to robust-first computation.
Josh Beckman