Skip to main content
Log in

On the systematic transformation of requirements to specifications

  • Original Article
  • Published:
Requirements Engineering Aims and scope Submit manuscript

Abstract

Formal approaches to development are widely acknowledged to have difficulty in the validation of real-world requirements; in contrast, non-formal approaches find it difficult to identify the formal structures in requirements that are useful in a solution. That the problems that computing treats are embedded in the real world with solutions being an essentially formal machine means this dichotomy will always exist, with some new approach to the development needed which can draw a boundary between what is formalised and what can be left informal. In this paper, we show how the natural cause-and-effect structures that can be found in non-formal requirements descriptions can be used systematically to arrive at a software specification. The theoretical contribution of the work is the formalisation of Jackson’s idea of problem progression in his Problem Frames framework through the use of a graph grammar to capture problem models as graphs and their manipulation as transformations. The approach is illustrated through a substantial benchmark example—Swartout’s and Balzer’s package router. We also report on the results of an initial empirical evaluation of the approach based on a prototype problem progression tool we have constructed.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19

Similar content being viewed by others

Notes

  1. We are indebted to Pamela Zave, who through her comments on an earlier manuscript, helped us to clarify the nature of our contribution.

  2. We use capitalisation, as here, to distinguish Problem Frames as a framework from the tools provided by that framework, such as problem diagrams and context diagrams.

  3. There is but a single requirement in a problem diagram; this can, of course, be a conjunction of many subsidiary ‘requirements.’

  4. The figure was named ‘a progression of problems’ by Jackson, on page 103 in [7].

  5. As usual, we indicate the transitive closure of a relation through the + decoration.

  6. What Problem Frames refers to as state, [13] refers to as conditions.

  7. Here, ∘ is functional composition.

  8. For brevity, and as m is an injection, vertex names are left unchanged.

  9. For brevity we will, as in Fig. 4, write l V (v) as l v l E (e) as l e .

  10. With changes italicised.

  11. OMG. Model Driven Architecture. http://www.omg.org/mda/.

References

  1. The challenges of complex IT projects (2004) Technical report, working group (Chair: Basil R.R Butler) of The Royal Academy of Engineering and The British Computer Society

  2. Charettte R (2005) Why software fails. IEEE Spectrum, pp 42–49

  3. Verner J, Sampson J, Cerpa N (2008) What factors lead to software project failure? In: Proceedings of the 2nd international conference on research challenges in information science (RCIS 2008). IEEE Press, New York, pp 71–80

  4. Sikora E, Tenbergen B, Pohl K (2012) Industry needs and research directions in requirements engineering for embedded systems. Requir Eng 17:57–78

    Article  Google Scholar 

  5. Turski WM (1986) And no philosophers’ stone, either. Information processing 86, pp 1077–1080

  6. Mannering D, Hall JG, Rapanotti L (September 2007) Safety process improvement with pose and alloy. In: Saglietti F, Oster N (eds) Proceedings of the 26th international conference on computer safety, reliability and security (SAFECOMP’07), lecture notes in computer science, vol 4680. Springer, Nuremberg, Germany, pp 252–257

  7. Jackson M (2001) Problem frames: analyzing and structuring software development problems. Addison-Wesley Publishing Company, Boston

    Google Scholar 

  8. Li Z (September 2007) Progressing problems from requirements to specifications in problem frames. Ph.D. thesis, Department of Computing, The Open University, Walton Hall, Milton Keynes, UK

  9. Li Z (May 2008) Progressing problems from requirements to specifications in problem frames. In: Rapanotti L, Hall JG, Jin Z, Cox K (eds) Proceedings of the 3rd international workshop on advances and applications of problem frames (IWAAPF’08). ACM Press, Leipzig, pp 53–59

  10. Hommel G (1980) Vergleich verschiedener spezifikationsverfahren am beispiel einer paketverteilanlage. Kernforschungszentrum Karlsruhe, Karlsruhe

    Google Scholar 

  11. Jackson MA (April 2001) Problem structures and solution structures: a position paper. In: Proceedings of the international workshop on requirements engineering (IWRE’01). Imperial College, London

  12. Hopkins B (2004) Causality and development: past, present and future, chap. 1. John Benjamins Publishing Company, Lancaster University, pp 1–17

  13. Moffett JD, Hall JG, Coombes A, McDermid JA (1996) A model for a causal logic for requirements engineering. J Requir Eng 1(1):27–46

    Article  Google Scholar 

  14. Ehrig H, Ehrig K, Prange U, Taentzer G (2006) Fundamentals of algebraic graph transformation, 1st edn. Springer, New York

    Google Scholar 

  15. Hall JG, Rapanotti L, Jackson MA (2008) Problem Oriented Software Engineering: solving the package router control problem. IEEE Trans Softw Eng 34(2). http://oro.open.ac.uk/5445/

  16. OMG: Unified Modeling Language (UML), version 2.0. http://www.uml.org/. http://www.uml.org/. Last accessed: 12th Septermber 2012

  17. Robertson S, Robertson J (1999) Mastering the requirements process. Addison-Wesley, Boston

    Google Scholar 

  18. Hevner AR, March ST, Park J, Ram S (2004) Design science in information systems research. MIS Q 28(1):75–105

    Google Scholar 

  19. van Lamsweerde A, Darimont R, Massonet P (1995) Goal-directed elaboration of requirements for a meeting scheduler: problems and lessons learned. In: Proceedings of the RE’95—2nd international symposium on requirements engineering, York

  20. Heisel M, Souquieres J (1999) A method for requirements elicitation and formal specification. In: Conceptual modeling—ER’99, LNCS 1728. Springer, New York, pp 309–324

  21. van Lamsweerde A (2000) Formal specification: a roadmap. In: ICSE ’00: proceedings of the conference on the future of software engineering, pp 147–159. ACM, New York

  22. Letier E, van Lamsweerde A (November 2002) Deriving operational software specifications from system goals. In: SIGSOFT 2002/FSE-10. Charleston, SC

  23. Mellor SJ (2009) Models. models. models. so what? In: Schürr A, Selic B (eds) MODELS 2009, LNCS 5795. Springer, Berlin, p 1

  24. Yue T, Briand LC, Labiche Y (2009) A use case modeling approach to facilitate the transition towards analysis models: concepts and empirical evaluation. In: Schürr A, Selic B (eds) MODELS 2009, LNCS 5795. Springer, Berlin, pp 484–498

  25. Choppy C, Hatebur D, Heisel M (2005) Architectural patterns for problem frames. IEE Proc Softw 152(4):198–208

    Article  Google Scholar 

  26. Bleistein S, Cox K, Verner J (2004) Requirements engineering for e-Business systems: intergrating Jackson context diagrams with goal modelling and BPM. In: Proceedings of the 11th international Asia-Pacific software engineering conference (APSEC 2004), pp 410–417. IEEE, Busan, Korea. 30th November–3rd December 2004

  27. Cox K, Hall JG, Rapanotti L (2005) Editorial: a roadmap of problem frames research. Inf Softw Technol 47(14):891–902

    Article  Google Scholar 

  28. Hatebur D, Heisel M, Schmidt H (2006) Security engineering using problem frames. In: Emerging trends in information and communication security, lecture notes in computer science, vol 3995/2006. Springer, New York, pp 238–253

  29. Strunk EA, Knight JC (2006) The essential synthesis of problem frames and assurance cases. In: Proceedings of the 2006 international workshop on advances and applications of problem frames (IWAAPF ’06). ACM Press, New York, pp 81–86

  30. Zhang X, Auriol G, Baron C. (2010) Deriving specification for process-control systems: a problem frames approach. In: 5th International conference on systems (ICONS). IEEE Press, New York, pp 60–65

  31. Hatebur D, Heisel M, Schmidt H (2008) A formal metamodel for problem frames. In: Model driven engineering lanugages and systems, lecture notes in computer science, vol 5301/2008. Springer, New York, pp 68–82

  32. Chen X, Jin Z, Yi L (2007) An ontology of problem frames for guiding problem frame specification. In: Knowledge schience, engineering and management, lecture notes in computer science, vol 4798/2007, pp 384–395

  33. Lavazza L, Coen-Porisini A, Del Bianco V (2009) Towards a meta-model for problem frames: conceptual issues and tool building support. In: 4th International conference on software engineering advances (ICSEA ’09). IEEE Press, New York, pp 339–345

  34. Jackson M, Zave P (1995) Deriving specifications from requirements: an example. In: Proceedings of the 17th international conference on software engineering (ICSE’95). ACM Press, Seattle, pp 15–24

  35. Zave P, Jackson M (1997) Four dark corners of requirements engineering. ACM Trans Softw Eng Methodol 6(1):1–30

    Article  Google Scholar 

  36. Hall JG, Rapanotti L, Jackson MA (2005) Problem frame semantics for software development. Softw Syst Model 4(2):189–198

    Article  Google Scholar 

  37. Li Z, Hall JG, Rapanotti L (May 2006) From requirements to specifications: a formal approach. In: Hall JG, Rapanotti L, Cox K (eds) Proceedings of the 2nd international workshop on advances and applications of problem frames (IWAAPF’06). ACM Press, Shanghai, pp 65–70

  38. Lai L, Sanders JW (1995) A weakest-environment calculus for communicating processes. Research report PRG-TR-12-95, Programming Research Group, Oxford University Computing Laboratory

  39. Hoare CAR (1985) Communicating sequential processes. Prentice-Hall International, Englewood Cliffs

    MATH  Google Scholar 

  40. Seater R, Jackson D, Gheyi R. (2007) Requirement progression in problem frames: deriving specifications from requirements. Requir Eng J 12(2):77–102

    Article  Google Scholar 

  41. Lavazza L, Bianco VD (2006) Combining problem frames and UML in the description of software requirements. In: Baresi L, Heckel R (eds) Proceedings of FASE 2006, lecture notes in computer science, vol 3922. Springer, New York, pp 199–213

  42. Colombo P, Del Bianco V, Lavazza L, Coen-Porisini A (2007) A methodological framework for SysML: a problem frames-based approach. In: Proceedings of the 14th Asia-Pacific software engineering conference (APSEC 2007), pp 25–32. IEEE Computer Press, New York

  43. Colombo P, Khendek F, Lavazza L (2010) Requirements analysis and modeling with problem frames and SysML: a case study. In: Modelling foundations and applications, lecture notes in computer science, vol 6138/2010. Springer, New York, pp 74–89

  44. Hall JG, Rapanotti L (2012) Software engineering as the design theoretic transformation of software problems. Innov Syst Softw Eng 8(3):175–193

    Article  Google Scholar 

  45. Rogers GFC (1983) The nature of engineering: a philosophy of technology. Palgrave Macmillan, Basingstoke

    Google Scholar 

  46. Hall JG, Mannering D, Rapanotti L (2007) Arguing safety with problem oriented software engineering. In: Proceedings of the 10th IEEE international symposium on high assurance systems engineering (HASE 2007). IEEE Computer Society, Dallas, Texas. http://oro.open.ac.uk/9591/

  47. Nkwocha A, Hall JG, Rapanotti L (2011) Design rationale capture for process improvement in the globalised enterprise: an industrial study. Software and systems modeling (online FirstTM, 14th December 2011). http://www.springerlink.com/content/d45x17g438833069/

  48. O’Halloran M, Hall JG, Rapanotti L (2012) Safety-assurance-driven development. In: The 7th international conference on software engineering advances (ICSEA 2012). Lisbon, Portugal (to appear 2012)

  49. Mannering D (2010) Problem oriented engineering for software safety. Ph.D. thesis, The Open University, UK

  50. Swartout W, Balzer R (1982) On the inevitable intertwining of specification and implementation. Commun ACM 25(7):438–440

    Article  Google Scholar 

Download references

Acknowledgments

Zhi Li’s research is sponsored by the National Natural Science Foundation of China under Grant No.61262004, and the authors' joint research is sponsored by the National Science Foundation of Guangxi Province under Grant No.2012GXNSFCA053010, and the Guangxi Scientific Research and Technological Development Project under Contract No.(Gui-Ke-He)1347004-22.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Zhi Li.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Li, Z., Hall, J.G. & Rapanotti, L. On the systematic transformation of requirements to specifications. Requirements Eng 19, 397–419 (2014). https://doi.org/10.1007/s00766-013-0173-8

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-013-0173-8

Keywords

Navigation