Towards Architectural Invariants of Evolving Systems

Abstract

An enterprise that uses evolving software is susceptible to destructive and even disastrous effects caused either by inadvertent errors, or by malicious attacks by the programmers employed to maintain this software. It is our thesis that these perils of evolving software can often be tamed by ensuring that suitable architectural principles are maintained as invariants of the evolution of a given software system. For example, it is often useful to partition a system into a set of divisions, constructing permanent--- i.e., evolution-invariant---"firewalls" between them, which will limit the effect that one division can have on the others. We define this concept of evolution-invariant, discuss its usefulness, and show how it can be realized under law-governed architecture. Keywords: evolution-invariants, evolving systems, embedded systems, law-governed architecture, firewalls in software, auditing. Work supported in part by NSF grants No. CCR-9308773 1 Introduction Software evoluti..

    Similar works

    Full text

    thumbnail-image

    Available Versions