Skip to main content
Log in

Problem frame semantics for software development

  • Regular papers
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. 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

  2. Dieste O, Silva A (2000) Requirements: Closing the gap between domain and computing knowledge. In: Proceedings of SCI2000, Vol. II (Information Systems Development)

  3. 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?

  4. Gamma E, Helm R, Johnson R, Vlissides J (1995) Design Patterns. Addison-Wesley

  5. Gunter C, Gunter E, Jackson M, Zave P (2000) A reference model for requirements and specifications. IEEE Software 3(17):37–43

    Google Scholar 

  6. Hall JG, Rapanotti L (2003) A Reference Model for Requirements Engineering. In: Proceedings of the 11th International Joint Conference of Requirements Engineering

  7. Harel D, Naamad A (1996) The STATEMATE semantics of statecharts. ACM Transactions on Software Engineering and Methodology 5(4):293–333

    Article  Google Scholar 

  8. Jackson M (1995) Software Requirements & Specifications: a Lexicon of Practice, Principles, and Prejudices. Addison-Wesley

  9. Jackson M (2001) Problem Frames. Addison-Wesley

  10. Konrad S, Cheng BH (2002) Requirements patterns for embedded systems. In: IEEE Joint International Conference on Requirements Engineering

  11. Larsen PG, Plat N, Toetenel H (1994) A formal semantics of data flow diagrams. Formal Aspects of Computing 6(6):586–606

    Article  Google Scholar 

  12. Leveson N (1986) Software safety: why, what and how. ACM Computing Survey 18(2):125–163

    Article  Google Scholar 

  13. Morgan C (1990) Programming from Specifications. Prentice-Hall International

  14. Petre M (1995) Why looking isn’t always seeing: readership skills and graphical programming. Commun. ACM 38(6):33–44

    Article  Google Scholar 

  15. Zave P, Jackson M (1997) Four dark corners of requirements engineering. ACM Transactions on Software Engineering and Methodology 6(1):1–30, January

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jon G. Hall.

Rights and permissions

Reprints 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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-004-0062-1

Keywords

Navigation