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.
How software changes the world: The role of assumptions
Contributo in atti di convegno
IEEE Tenth International Conference on Research Challenges in Information Science (RCIS 2016), pp. 1–12, 1-3/6/2016