Formal Methods for System Development
Inge Fredriksen
Abstract
Inge Fredriksen
Abstract
Two main types of formal methods have been investigated, formal specification and formal verification. Focus for formal verification has been on the concept of un-timed model checking. Some dominating formal specification languages, VDM and Z, and some prominent model checkers, FDR, Spin, and LTSA, have been learnt and presented. A tutorial for the formal verification tool Spin is created. The tutorial is example driven and describes the description language Promela and the verification methods available in Spin. Care has been taken to illustrate reasoning about the results from Spin. Topics discussed include the applicability and need for formal methods, the possible need for understanding the underlying theory, and considerations made in regards to creating the tutorial.
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Two main types of formal methods have been investigated, formal specification and formal verification. Focus for formal verification has been on the concept of un-timed model checking. Some dominating formal specification languages, VDM and Z, and some prominent model checkers, FDR, Spin, and LTSA, have been learnt and presented. A tutorial for the formal verification tool Spin is created. The tutorial is example driven and describes the description language Promela and the verification methods available in Spin. Care has been taken to illustrate reasoning about the results from Spin. Topics discussed include the applicability and need for formal methods, the possible need for understanding the underlying theory, and considerations made in regards to creating the tutorial.
Key concepts: Promela, Formal methods, Computer science, Programming language, Formal verification, Formal specification, Refinement, Formal language