Software that cannot change is condemned to atrophy: it cannot accommodate
the constant revision and re-negotiation of its business goals nor intercept
the potential of new technology. To accommodate change in such systems we have
defined an active software architecture to be: dynamic in that the structure
and cardinality of the components and interactions are not statically known;
updatable in that components can be replaced dynamically; and evolvable in that
it permits its executing specification to be changed.
Software that cannot evolve is condemned to atrophy: it cannot accommodate
the constant revision and re-negotiation of its business goals nor intercept
the potential of new technology.