From User Requirements to Software Specifications: An Approach Based on Problem Transformation

This paper aims at deriving software specification descriptions from elicited user requirements and domain descriptions. It provides an approach to transforming user requirements into software specifications in a smooth and logical way. Based on previous in-depth research on Problem Frames, the study adopts Hoare's Communicating Sequential Processes (CSP) and Lai's weakest-environment calculus to transform an entire problem diagram. The derived software specifications are abstract models resembling program code, whose correctness can be verified by the model checker FDR. This paper provides foundational work for embedded software development, i.e., deriving software code from requirements descriptions, automating document transformation and validation, etc. The theory presented in this paper, together with the FDR model checker tool, may help to improve the efficiency and accuracy in embedded software development.

[1]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[2]  Steve A. Schneider,et al.  Concurrent and Real-time Systems: The CSP Approach , 1999 .

[3]  Michael Jackson,et al.  Problem Oriented Software Engineering: Solving the Package Router Control Problem , 2008, IEEE Transactions on Software Engineering.

[4]  Zhi Jin,et al.  Dptool: A Tool for Supporting the Problem Description and Projection , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[5]  Jin Zhi Ontology-Based Requirements Elicitation , 2000 .

[6]  Sadie Creese Industrial Strength CSP: Opportunities and Challenges in Model-Checking , 2004, 25 Years Communicating Sequential Processes.

[7]  Steve Schneider The B-method - an introduction , 2001, The cornerstones of computing series.

[8]  Zhi Li,et al.  Progressing problems from requirements to specifications in problem frames , 2008, IWAAPF '08.

[9]  Michael A. Jackson,et al.  Software requirements and specifications - a lexicon of practice, principles and prejudices , 1995 .

[10]  Anthony Hall,et al.  Correctness by Construction: Developing a Commercial Secure System , 2002, IEEE Softw..

[11]  Michael Jackson,et al.  Four dark corners of requirements engineering , 1997, TSEM.

[12]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[13]  Jan Peleska,et al.  Applied Formal Methods - From CSP to Executable Hybrid Specifications , 2004, 25 Years Communicating Sequential Processes.

[14]  Chen Xiao Ontology-Guided Requirements Modeling Based on Problem Frames Approach , 2011 .

[15]  C. A. R. Hoare,et al.  Communicating Sequential Processes (Reprint) , 1983, Commun. ACM.

[16]  Eric S. K. Yu,et al.  Towards modelling and reasoning support for early-phase requirements engineering , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[17]  Axel van Lamsweerde,et al.  Deriving operational software specifications from system goals , 2002, SIGSOFT '02/FSE-10.

[18]  David Garlan,et al.  Formalizing architectural connection , 1994, Proceedings of 16th International Conference on Software Engineering.

[19]  Peter Y. A. Ryan,et al.  The modelling and analysis of security protocols: the csp approach , 2000 .

[20]  Gruia-Catalin Roman,et al.  Specifying software/hardware interactions in distributed systems , 1987, ICSE '87.

[21]  M. Harrison,et al.  On defining requirements for interaction , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[22]  Michael A. Jackson,et al.  Problem Frames - Analysing and Structuring Software Development Problems , 2000 .

[23]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[24]  Axel van Lamsweerde,et al.  Goal-Oriented Requirements Engineering: A Guided Tour , 2001, RE.