Automatic support for formal specification construction using pattern knowledge

Although formal specification is considered as a potential technique for improving the accuracy of requirements documentation and the quality of software product, the difficulty of using formal notations leads to the gap between this technique and the practice of software development. Many approaches for solving this problem were proposed. Most of them provide automatic transformation from informal requirements into formal specifications. However, rather than clarifying and formalizing requirements on the semantic level, they only use syntactic rules to translate between different languages. To handle the challenge, this paper describes an approach for formal specification construction based on pattern knowledge. The knowledge is composed of a set of inter-related specification patterns. Each pattern defines the method for formalizing one kind of function, including derivation knowledge for guiding the clarification of the function and transformation knowledge for formally representing the clarified function. A supporting tool is also described in the paper which derives necessary function details of the intended requirement through interactions by applying the derivation knowledge and transforms these details into formal specifications by applying the transformation knowledge. An experiment on the tool is held and the result shows that the tool can help formalize requirements efficiently and enhance the quality of the resultant formal specifications.

[1]  Xudong He,et al.  An approach for specification construction using property-preserving refinement patterns , 2008, SAC '08.

[2]  Michael Butler,et al.  U2B - A tool for translating UML-B models into B , 2004 .

[3]  Sophie Dupuy-Chessa,et al.  An Overview of RoZ: A Tool for Integrating UML and Z Specifications , 2000, CAiSE.

[4]  B.H.C. Cheng,et al.  Real-time specification patterns , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

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

[6]  Kanth Miriyala,et al.  Automatic Derivation of Formal Software Specifications From Informal Descriptions , 1991, IEEE Trans. Software Eng..

[7]  Betty H. C. Cheng,et al.  Facilitating the construction of specification pattern-based properties , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[8]  Ann Q. Gates,et al.  Automated Support for Property Specification Based on Patterns , 2003, International Conference on Software Engineering and Knowledge Engineering.

[9]  Betty H. C. Cheng,et al.  A general framework for formalizing UML with formal languages , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[10]  Susan Stepney,et al.  An Outline Pattern Language for Z: Five Illustrations and Two Tables , 2003, ZB.

[11]  John Kelly,et al.  Experiences Using Lightweight Formal Methods for Requirements Modeling , 1998, IEEE Trans. Software Eng..

[12]  Jocelyn Armarego,et al.  Requirements Engineering: a close look at industry needs and a model curricula , 2005, Australas. J. Inf. Syst..

[13]  Sunil Vadera,et al.  From English to Formal Specifications , 1994, Comput. J..

[14]  Shaoying Liu,et al.  Formal Engineering for Industrial Software Development , 2004, Springer Berlin Heidelberg.