Abstract :
M. Lehman´s (Proc. IEEE, vol.68, no.9, p.1060-76, 1980) notion of programs can be used to describe a system in terms of the way it relates to the environment in which it operates. Unlike programs handled in the abstract, the real world contains uncertainties and concepts we do not understand completely. The more dependent a system is on the real world for its requirements, the more likely it is to change. Systems are described as S-systems (formally defined by and derivable from a Specification), P-systems (based on a Practical abstraction of the problem) and E-systems (Embedded in the real world and changing as the world does), characterized by the way the software interacts with its environment and by the degree to which the environment and underlying problem can change. Using these ideas, we can design our systems to be flexible, and plan our maintenance releases and new versions so that we understand and control our software, rather than merely react when problems arise
Keywords :
configuration management; formal specification; software maintenance; system theory; E-systems; P-systems; S-systems; embedded systems; environmental interaction; flexible systems; formal specifications; new software versions; practical abstraction; programs; real-world requirements; software; software evolution; software lifecycle; software maintenance releases; system change; uncertainties; Control systems; Embedded software; Software maintenance; Software systems; Uncertainty;