What is a Formal Method?
Where it appeared
| Publisher | School of Computer Science, Carnegie Mellon University |
|---|
| Number in series | CMU-CS-89-200 |
|---|
Settled
| Container | A Carnegie Mellon technical report is not published inside a container. The issuing body is on the record as the institution -- School of Computer Science, Carnegie Mellon University -- and the report is identified by its number, CMU-CS-89-200, printed on its title page. Volume, issue, isbn and issn are empty for the same reason: a technical report series is numbered, not volumed, and carries no serial identifier. |
|---|
| Pages | Self-paginated 1 to 24 with no host publication to take an extent from; the copy is 24 pages and the record's institution and number identify it. See the reason on container. |
|---|
Related
| Superseded by | wing1990specifiers Stated on the copy of wing1990specifiers, which is the technical report CMU-CS-90-136: "This TR supersedes CMU-CS-TR-89-200, 'What is a Formal Method?'". CMU-CS-89-200 is wing1989what. |
|---|
Abstract
A formal method is a mathematically-based technique used in Computer Science to describe properties of hardware and/or software systems. It provides a framework within which large, complex systems may be specified, developed, and verified in a systematic rather than ad hoc manner. A method is formal if it has a sound mathematical basis, typically given by a formal specification language. A formal method is only a method, rather than an isolated mathematical entity in itself, because of a number of pragmatic considerations: who uses it, what it is used for, when it is used, and how it is used. This paper elaborates on what makes up a formal method and compares six different well-known formal methods, three used to specify abstract data types and three used to specify properties of concurrent and distributed systems.