Abstract.
Formal methods are techniques used to model complex systems as mathematical entities. By building a mathematically rigorous model of a complex system,it is possible to verify the system's properties in a more thorough fashion than empirical testing.
While Rigorous descriptions promise to improve system reliability, design time and comprehensibility, they do so at the cost of an increased learning curve; the mathematical disciplines used to formally describe computational systems are outside the domain of a traditional engineering education. In addition, the metamodels used by most formal methods are often limited in order to enhance provability. There is a notable tradeoff between the need for rigor and the ability to model all behaviors.