Extending Formal Methods for Software-Intensive Systems

Formal methods have proven beneficial in the industrial development of software-intensive systems; not in replacing traditional engineering methods, but in complementing them. They provide means of checking for ambiguities and inconsistencies in requirements, as well as verifying safety and liveness properties, and the correctness of designs. As complexity increases, the formal methods employed need to deal with a number of concerns. Primarily they need to be able to model a diverse range of software and hardware components. Ideally, they should also be capable of supporting requirement changes allowing `ideal' functional specifications to be transformed to reflect actual implementations. Additionally, they should support the introduction of architectural design into functional specifications; including designs involving complex dynamic architectures. This paper proposes one approach to deal with these concerns. The approach builds on and combines three separate areas of research on integrating formal methods, formal requirements development and formal design derivation. Developing more general theories and techniques that can be applied across a wide range of formal notations remains a significant research challenge.

[1]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[2]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[3]  Graeme Smith,et al.  Transferring Formal Techniques to Industry , 1990, FORTE.

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

[5]  C. A. R. Hoare,et al.  A Calculus of Durations , 1991, Inf. Process. Lett..

[6]  Ian J. Hayes,et al.  A Case-Study in Timed Refinement: A Mine Pump , 1992, IEEE Trans. Software Eng..

[7]  Jim Davies,et al.  A Brief History of Timed CSP , 1995, Theor. Comput. Sci..

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

[9]  Kai Engelhardt,et al.  Data Refinement: Model-Oriented Proof Methods and their Comparison , 1998 .

[10]  Andrew P. Martin,et al.  A Set-Theoretic Model for Real-Time Specification and Reasoning , 1998, MPC.

[11]  Colin J. Fidge,et al.  Defining differentiation and integration in Z , 1998, Proceedings Second International Conference on Formal Engineering Methods (Cat.No.98EX241).

[12]  S. Anderson,et al.  Secure Synthesis of Code: A Process Improvement Experiment , 1999, World Congress on Formal Methods.

[13]  Robin Milner,et al.  Communicating and mobile systems - the Pi-calculus , 1999 .

[14]  Jin Song Dong,et al.  Sensors and Actuators in TCOZ , 1999, World Congress on Formal Methods.

[15]  Graeme Smith Stepwise development from ideal specifications , 2000, Proceedings 23rd Australasian Computer Science Conference. ACSC 2000 (Cat. No.PR00518).

[16]  Jin Song Dong,et al.  Timed Communicating Object Z , 2000, IEEE Trans. Software Eng..

[17]  Heike Wehrheim,et al.  Failure-Divergence Semantics as a Formal Basis for an Object-Oriented Integrated Formal Method , 2000, Bull. EATCS.

[18]  Graeme Smith,et al.  The Object-Z Specification Language , 1999, Advances in Formal Methods.

[19]  Colin J. Fidge,et al.  Incremental Development of Real-Time Requirements: The Light Control Case Study , 2000, J. Univers. Comput. Sci..

[20]  Abder Koukam,et al.  A formal framework for multi-agent systems analysis and design , 2001, Expert Syst. Appl..

[21]  Michael Wooldridge,et al.  Introduction to multiagent systems , 2001 .

[22]  John Derrick,et al.  Specification, Refinement and Verification of Concurrent Systems—An Integration of Object-Z and CSP , 2001, Formal Methods Syst. Des..

[23]  Eerke Albert Boiten,et al.  Refinement in Z and Object-Z: Foundations and Advanced Applications , 2001 .

[24]  Jochen Hoenicke,et al.  CSP-OZ-DC: A Combination of Specification Techniques for Processes, Data and Time , 2002, Nord. J. Comput..

[25]  Luke Wildman Requirements reformulation using formal specification: a case study , 2002, FME 2002.

[26]  Jonathan P. Bowen,et al.  ZB 2002:Formal Specification and Development in Z and B , 2002, Lecture Notes in Computer Science.

[27]  Graeme Smith,et al.  An Introduction to Real-Time Object-Z , 2002, Formal Aspects of Computing.

[28]  Graeme Smith,et al.  An Integration of Real-Time Object-Z and CSP for Specifying Concurrent Real-Time Systems , 2002, IFM.

[29]  Steve A. Schneider,et al.  Communicating B Machines , 2002, ZB.

[30]  John Derrick,et al.  Structural Refinement of Systems Specified in Object-Z and CSP , 2003, Formal Aspects of Computing.

[31]  Michael Goldsmith,et al.  A Methodology for Model-Checking Ad-hoc Networks , 2003, SPIN.

[32]  Cliff B. Jones,et al.  Determining the Specification of a Control System from That of Its Environment , 2003, FME.

[33]  Graeme Smith,et al.  Architectural design in object-Z , 2004, 2004 Australian Software Engineering Conference. Proceedings..

[34]  Richard J. Boulton,et al.  Design Verification for Control Engineering , 2004, IFM.

[35]  Graeme Smith A formal framework for modelling and analysing mobile systems , 2004 .

[36]  Tim McComb Refactoring Object-Z Specifications , 2004, FASE.

[37]  Jin Song Dong,et al.  Relating /spl pi/-calculus to Object-Z , 2004, Proceedings. Ninth IEEE International Conference on Engineering of Complex Computer Systems.

[38]  Steve A. Schneider,et al.  Combining Mobility with State , 2007, IFM.

[39]  Susan Stepney,et al.  Engineering and theoretical underpinnings of retrenchment , 2007, Sci. Comput. Program..

[40]  Timothy McComb FORMAL DERIVATION OF OBJECT-ORIENTED DESIGNS , 2007 .

[41]  Andreas Podelski,et al.  ACSAR: Software Model Checking with Transfinite Refinement , 2007, SPIN.