I collect here some notes on programming patterns that are easy upon a capability kernel. All of these patterns may be implemented outside a capability based kernel and thus available system wide. A few conventional kernels have included them within the privileged code. Some of these are merely reframed patterns from the classic patterns literature; unmodified but perhaps with some new benefit when available at the system level. Here are some patterns specific to Keykos. Most of these patters could be added to conventional kernels. All of them can be added to Keykos without modifying the kernel. Thus only the users of these patterns become vulnerable to bugs in the code that implements the pattern and this vulnerability is usually quite limited.

Most of these are already in some kernels or could be added to most kernels. The Keykos kernel has none of them but supports them all implemented outside the kernel.
Multiplexing
Addressing
The Service Key
The Keeper
Distributed Segments
To Rescind or Revoke
Confinement
Caching of Computations
Immutable Source of Mutable Objects
A new Collection and style exploration
The Curried Creator
Wrapping ‘front ends’ in many of these pages
Facets
Synthetic Objects
Capability Parameters
Synergy
Continuous Evaluation
metering data flow
Congestion Pricing


More

Vague Patterns

Reservations
Authority held by Objects, not by Code
Patterns from classic computer programming languages
To adapt an object with the right function but wrong interface
Copy on write
virtual mutable distributed segment