On the systematic transformation of requirements to specifications

Springer Science and Business Media LLC - Tập 19 - Trang 397-419 - 2013
Zhi Li1,2, Jon G. Hall3, Lucia Rapanotti3
1College of Computer Science and Information Technology, Guangxi Normal University, Guilin, People’s Republic of China
2Key Laboratory of High Confidence Software Technologies (Peking University), Ministry of Education, Beijing, China
3Centre of Research in Computing, The Open University, Buckinghamshire, UK

Tóm tắt

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.

Tài liệu tham khảo

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 Charettte R (2005) Why software fails. IEEE Spectrum, pp 42–49 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 Sikora E, Tenbergen B, Pohl K (2012) Industry needs and research directions in requirements engineering for embedded systems. Requir Eng 17:57–78 Turski WM (1986) And no philosophers’ stone, either. Information processing 86, pp 1077–1080 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 Jackson M (2001) Problem frames: analyzing and structuring software development problems. Addison-Wesley Publishing Company, Boston 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 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 Hommel G (1980) Vergleich verschiedener spezifikationsverfahren am beispiel einer paketverteilanlage. Kernforschungszentrum Karlsruhe, Karlsruhe 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 Hopkins B (2004) Causality and development: past, present and future, chap. 1. John Benjamins Publishing Company, Lancaster University, pp 1–17 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 Ehrig H, Ehrig K, Prange U, Taentzer G (2006) Fundamentals of algebraic graph transformation, 1st edn. Springer, New York 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/ OMG: Unified Modeling Language (UML), version 2.0. http://www.uml.org/. http://www.uml.org/. Last accessed: 12th Septermber 2012 Robertson S, Robertson J (1999) Mastering the requirements process. Addison-Wesley, Boston Hevner AR, March ST, Park J, Ram S (2004) Design science in information systems research. MIS Q 28(1):75–105 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 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 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 Letier E, van Lamsweerde A (November 2002) Deriving operational software specifications from system goals. In: SIGSOFT 2002/FSE-10. Charleston, SC Mellor SJ (2009) Models. models. models. so what? In: Schürr A, Selic B (eds) MODELS 2009, LNCS 5795. Springer, Berlin, p 1 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 Choppy C, Hatebur D, Heisel M (2005) Architectural patterns for problem frames. IEE Proc Softw 152(4):198–208 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 Cox K, Hall JG, Rapanotti L (2005) Editorial: a roadmap of problem frames research. Inf Softw Technol 47(14):891–902 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 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 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 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 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 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 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 Zave P, Jackson M (1997) Four dark corners of requirements engineering. ACM Trans Softw Eng Methodol 6(1):1–30 Hall JG, Rapanotti L, Jackson MA (2005) Problem frame semantics for software development. Softw Syst Model 4(2):189–198 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 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 Hoare CAR (1985) Communicating sequential processes. Prentice-Hall International, Englewood Cliffs Seater R, Jackson D, Gheyi R. (2007) Requirement progression in problem frames: deriving specifications from requirements. Requir Eng J 12(2):77–102 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 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 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 Hall JG, Rapanotti L (2012) Software engineering as the design theoretic transformation of software problems. Innov Syst Softw Eng 8(3):175–193 Rogers GFC (1983) The nature of engineering: a philosophy of technology. Palgrave Macmillan, Basingstoke 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/ 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/ 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) Mannering D (2010) Problem oriented engineering for software safety. Ph.D. thesis, The Open University, UK Swartout W, Balzer R (1982) On the inevitable intertwining of specification and implementation. Commun ACM 25(7):438–440