As we move from the paradigm of modeling one single self-contained
system at a time to modeling 'open systems' which interact with their
— perhaps unmodeled — environment, category theory becomes
a useful tool. It gives a mathematical language to describe the
interface between an open system and its environment, the process of
composing open systems along their interfaces, and how the behavior of
a composite system relates to the behaviors of its parts. It is far
from a silver bullet: at present, every successful application of
category theory to open systems takes hard work. But I believe we are
starting to see real progress.