Abstract
This paper presents a framework for understanding Problem Frames that locates them within the Requirements Engineering model of Zave and Jackson, and its subsequent formalization in the Reference Model of Gunter et al. It distinguishes between problem frames, context diagrams and problem diagrams, and allows us to formally define the relationship between them as assumed in the Problem Frames framework.
The semantics of a problem diagram is given in terms of ‘challenges’, a notion that we also introduce. The notion of a challenge is interesting in its own right for two reasons: its proof theoretic derivation leads us to consider a challenge calculus that might underpin the Problem Frame operations of decomposition and recomposition; and it promises to extend the notion of formal refinement from software development to requirements engineering.
In addition, the semantics supports a textual representation of the diagrams in which Problem Frames capture problems and their relationship to solutions. This could open the way for graphical Problem Frames tools.
Similar content being viewed by others
References
Bjorner D, Koussoube S, Noussi R, Satchok G (1997) Michael Jackson’s problem frames: Towards methodological principles of selecting and applying formal software development techniques and tools. In: 1st IEEE International Conference on Formal Engineering Methods. IEEE Computer Society Press
Dieste O, Silva A (2000) Requirements: Closing the gap between domain and computing knowledge. In: Proceedings of SCI2000, Vol. II (Information Systems Development)
Evans A, Bruel J-M, France R, Lano K, Rumpe B (1998) Making UML precise. In: Andrade L, Moreira A, Deshpande A, Kent S (eds) Proceedings of the OOPSLA’98 Workshop on Formalizing UML. Why? How?
Gamma E, Helm R, Johnson R, Vlissides J (1995) Design Patterns. Addison-Wesley
Gunter C, Gunter E, Jackson M, Zave P (2000) A reference model for requirements and specifications. IEEE Software 3(17):37–43
Hall JG, Rapanotti L (2003) A Reference Model for Requirements Engineering. In: Proceedings of the 11th International Joint Conference of Requirements Engineering
Harel D, Naamad A (1996) The STATEMATE semantics of statecharts. ACM Transactions on Software Engineering and Methodology 5(4):293–333
Jackson M (1995) Software Requirements & Specifications: a Lexicon of Practice, Principles, and Prejudices. Addison-Wesley
Jackson M (2001) Problem Frames. Addison-Wesley
Konrad S, Cheng BH (2002) Requirements patterns for embedded systems. In: IEEE Joint International Conference on Requirements Engineering
Larsen PG, Plat N, Toetenel H (1994) A formal semantics of data flow diagrams. Formal Aspects of Computing 6(6):586–606
Leveson N (1986) Software safety: why, what and how. ACM Computing Survey 18(2):125–163
Morgan C (1990) Programming from Specifications. Prentice-Hall International
Petre M (1995) Why looking isn’t always seeing: readership skills and graphical programming. Commun. ACM 38(6):33–44
Zave P, Jackson M (1997) Four dark corners of requirements engineering. ACM Transactions on Software Engineering and Methodology 6(1):1–30, January
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Hall, J., Rapanotti, L. & Jackson, M. Problem frame semantics for software development. Softw Syst Model 4, 189–198 (2005). https://doi.org/10.1007/s10270-004-0062-1
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-004-0062-1