How software changes the world: The role of assumptions

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.

[1]  J. McCarthy Situations, Actions, and Causal Laws , 1963 .

[2]  W A Donaher,et al.  The use and abuse of warnings in products liability--design defect litigation comes of age. , 1976, Cornell law review.

[3]  Jack Minker,et al.  Logic and Data Bases , 1978, Springer US.

[4]  Pamela Zave,et al.  Deriving Specifications from Requirements: an Example , 1995, 1995 17th International Conference on Software Engineering.

[5]  Michael Jackson,et al.  The World and the Machine , 1995, 1995 17th International Conference on Software Engineering.

[6]  Philippe Massonet,et al.  Goal-directed elaboration of requirements for a meeting scheduler: problems and lessons learnt , 1995, Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95).

[7]  J. L. LIONS Flight 501 Failure , 1996 .

[8]  Michael Jackson,et al.  Four dark corners of requirements engineering , 1997, TSEM.

[9]  Eric S. K. Yu,et al.  Towards modelling and reasoning support for early-phase requirements engineering , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[10]  Michael Jackson,et al.  A Reference Model for Requirements and Specifications , 2000, IEEE Softw..

[11]  Bashar Nuseibeh,et al.  Requirements engineering: a roadmap , 2000, ICSE '00.

[12]  Robert H. Ennis Identifying implicit assumptions , 1982, Synthese.

[13]  Grace A. Lewis,et al.  Assumptions Management in Software Development , 2004 .

[14]  Michael Jackson,et al.  Specialising in Software Engineering , 2007, 14th Asia-Pacific Software Engineering Conference (APSEC'07).

[15]  D. Winslow Where Does the Money Come From , 2008 .

[16]  John Mylopoulos,et al.  A core ontology for requirements , 2009, Appl. Ontology.

[17]  Axel van Lamsweerde From Worlds to Machines , 2009 .

[18]  Jan G. Michel,et al.  John R. Searle : thinking about the real world , 2010 .

[19]  Jörgen Hansson,et al.  Review and Challenges of Assumptions in Software Development , 2011 .

[20]  Vítor Estêvão Silva Souza,et al.  Requirements-based Software System Adaptation , 2012 .

[21]  Nicola Guarino,et al.  Software as a Social Artifact: A Management and Evolution Perspective , 2014, ER.

[22]  Nicola Guarino,et al.  Towards an Ontology of Software: a Requirements Engineering Perspective , 2014, FOIS.

[23]  Bashar Nuseibeh,et al.  The Role of Environmental Assumptions in Failures of DNA Nanosystems , 2015, 2015 IEEE/ACM 1st International Workshop on Complex Faults and Failures in Large Software Systems (COUFLESS).