SOFL: A Formal Engineering Methodology for Industrial Applications

Formal methods have yet to achieve wide industrial acceptance for several reasons. They are not well integrated into established industrial software processes, their application requires significant abstraction and mathematical skills, and existing tools do not satisfactorily support the entire formal software development process. We have proposed a language called SOFL (Structured-Object-based-formal Language) and a SOFL methodology for system development that attempts to address these problems using an integration of formal methods, structured methods and object oriented methodology. Construction of a system uses structured methods in requirements analysis and specifications, and an object based methodology during design and implementation stages, with formal methods applied throughout the development in a manner that best suits their capabilities. The paper describes the SOFL methodology, which introduces some substantial changes from current formal methods practice. A comprehensive, practical case study of an actual industrial Residential Suites Management System illustrates how SOFL is used.

[1]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[2]  W. Royce Managing the development of large software systems: concepts and techniques , 2021, ICSE '87.

[3]  Tom DeMarco,et al.  Structured Analysis and System Specification , 1978 .

[4]  David Lorge Parnas,et al.  Active design reviews: principles and practices , 1985, ICSE '85.

[5]  Gregory A. Hansen,et al.  Software Process Modeling , 1988 .

[6]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.

[7]  Tony Bryant Structured methodologies & formal notations: Developing a framework for synthesis and investigation , 1989, Z User Workshop.

[8]  Edward Yourdon,et al.  Modern structured analysis , 1989 .

[9]  Ana Cavalcanti,et al.  Modular Object-oriented Z Specifications , 1990, Z User Workshop.

[10]  Antoni Diller,et al.  Z - an introduction to formal methods , 1990 .

[11]  Carroll Morgan,et al.  Programming from specifications , 1990, Prentice Hall International Series in computer science.

[12]  John Dawes,et al.  The VDM-SL Reference Guide , 1991 .

[13]  Jan van Katwijk,et al.  A Case for Structured Analysis/Formal Design , 1991, VDM Europe.

[14]  Kuldeep Kumar,et al.  Informal and Formal Requirements Specification Languages: Bridging the Gap , 1991, IEEE Trans. Software Eng..

[15]  Robert B. France,et al.  Integrated Structured Analysis and Formal Specification Techniques , 1992, Comput. J..

[16]  J. van Katwijk,et al.  VDM++, a formal specification language for object-oriented designs , 1992, CompEuro 1992 Proceedings Computer Systems and Software Engineering.

[17]  Dan Craigen,et al.  Formal Methods Reality Check: Industrial Usage , 1993, FME.

[18]  Shaoying Liu A formal requirements specification method based on data flow analysis , 1993, J. Syst. Softw..

[19]  John C. Knight,et al.  An improved inspection technique , 1993, CACM.

[20]  Elaine J. Weyuker,et al.  Automatically Generating Test Data from a Boolean Specification , 1994, IEEE Trans. Software Eng..

[21]  Shaoying Liu,et al.  Structured methodology+object-oriented methodology+formal methods: methodology of SOFL , 1995, Proceedings of First IEEE International Conference on Engineering of Complex Computer Systems. ICECCS'95.

[22]  Edmund Kazmierczak,et al.  Cogito: a Methodology and System for Formal Software Development , 1995, Int. J. Softw. Eng. Knowl. Eng..

[23]  Shaoying Liu,et al.  The practice of formal methods in safety-critical systems , 1995, J. Syst. Softw..

[24]  Shaoying Liu,et al.  Internal consistency of FRSM specifications , 1995, J. Syst. Softw..

[25]  Anthony Hall Using Formal Methods to Develop an ATC Information System , 1996, IEEE Softw..

[26]  Karl J. Lieberherr,et al.  Object-oriented design , 1996, CSUR.

[27]  David Lorge Parnas,et al.  An Invitation to Formal Methods , 1996, Computer.

[28]  David A. Carrington,et al.  A Framework for Specification-Based Testing , 1996, IEEE Trans. Software Eng..

[29]  Shaoying Liu,et al.  Semi-automatic transformation from formal specifications to programs , 1996, Proceedings of ICECCS '96: 2nd IEEE International Conference on Engineering of Complex Computer Systems (held jointly with 6th CSESAW and 4th IEEE RTAW).

[30]  Shaoying Liu,et al.  A formal operational semantics for SOFL , 1997, Proceedings of Joint 4th International Computer Science Conference and 4th Asia Pacific Software Engineering Conference.

[31]  Shaoying Liu Evolution: a more practical approach than refinement for software development , 1997, Proceedings. Third IEEE International Conference on Engineering of Complex Computer Systems (Cat. No.97TB100168).

[32]  Mandayam K. Srivas,et al.  A Tutorial Introduction to PVS , 1998 .

[33]  Shaoying Liu,et al.  Generating test data from SOFL specifications , 1999, J. Syst. Softw..

[34]  Michael E. Fagan Design and Code Inspections to Reduce Errors in Program Development , 1976, IBM Syst. J..

[35]  Aaas News,et al.  Book Reviews , 1893, Buffalo Medical and Surgical Journal.