•
The requirements for most software systems -- the intended states-of-affairs these systems are supposed to bring about -- concern their operational environment, often a socio- physical world. But software systems usually don’t have any... more
The requirements for most software systems -- the intended states-of-affairs these systems are supposed to bring about -- concern their operational environment, often a socio- physical world. But software systems usually don’t have any direct means to change that environment in order to bring about the intended states-of-affairs. In what sense then can we say that such systems fulfill their requirements? The main purpose of this paper is to account for this paradox. We do so by proposing a preliminary Ontology of Assumptions. This ontology aims to characterize and make explicit a number of notions that are used implicitly in software engineering practice to establish that a system specification S fulfills its requirements R given a set of assumptions A. Our proposal is illustrated with an example concerning a meeting scheduler.
