What are Formal Methods?
Use of formalisms
- e.g., logic, discrete mathematics, finite state machines
In system descriptions
- e.g., system models, constraints, specifications, designs
For broad range of effects
- e.g., highly reliable, secure, safe systems and more effective production
And varying levels of use
- guidance: structuring what to say
- documentation: unambiguous communication
- rigor: formal specification and proofs
- mechanisms: proof assistance, testing