Architectural Techniques for Interoperability and Coexistence
Ensuring long useful lives for hardware and software systems with the inevitable expansions, upgrades, and previously
unconsidered interconnections to other systems is an architectural function. The results can be positive, resulting in long,
low-cost system life, or negative leading to a system with significant limitations.
Often neglected are the architectural techniques and concepts, both in terms of what behaviors are specified,
and in terms of what areas are left open. The impact of these areas on the longevity of the system life cycle is often not well appreciated.
We will examine how successful architectures have achieved longevity without major incompatible changes.
In the end analysis, success for architecture is measured by its ability to assimilate changes in mission,
implementation, interconnection, and scope without the need for incompatible changes. Put succinctly,
20 years into an architecture, success is measured by the ability of systems implemented on Day One to
interoperate unchanged with systems implemented on Day 20369.