A framework for software problem analysis

Hall, Jon G. and Rapanotti, Lucia (2005). A framework for software problem analysis. Technical Report 2005/06; Department of Computing, The Open University.

DOI: https://doi.org/10.21954/ou.ro.00016031


The paper introduces a software problem calculus based on a view of requirements engineering proposed by Zave and Jackson, that we hope can underpin techniques and processes in requirements engineering and early software design. The approach is centred around the notion of problem and problem transformation. It is proposi-tional in nature in that it allows for heterogeneous problem descriptions and correctness argumentation for the validation and verification of solutions. We present a number of fundamental rules to populate the calculus including 'divide-and-conquer' problem decomposition , description reification, prior-solution reuse, the use of architectures for solution structuring. In addition, and central to the foundational nature of the calculus is the interpretation and subsequent incorporation into our framework of others' work as problem transformations. This is an ongoing task: examples presented in this paper include interpretations of simple goal-oriented decompo-sitions and viewpoints. The calculus also provides rich traceability of the requirements of an original problem through transformation to those of its solution. We use the design of a sluice gate as a simple running example throughout the paper.

Viewing alternatives

Download history


Public Attention

Altmetrics from Altmetric

Number of Citations

Citations from Dimensions

Item Actions