| Refinement |
Articles about Refinement |
Information AboutRefinement |
|
In Formal Methods , refinement is the Verifiable transformation of an ''abstract'' (high-level) Formal Specification into a ''concrete'' (low-level) Executable Program . '' Stepwise Refinement '' allows this process to be done in stages. Logically, refinement normally involves Implication , but there can be additional complications. '' Data Refinement '' is used to convert an abstract data model (in terms of Sets for example) into implementable Data Structures (such as Arrays ). '' Operation Refinement '' converts a Specification of an operation on a system into an implementable Program (e.g., a Procedure ). The Postcondition can be strengthened and/or the Precondition weakened in this process. This reduces any Nondeterminism in the specification, typically to a completely Deterministic implementation. For example, x' ∈ {1,2,3} (where x' is the value of the from the Empty Set . The term Reification is also sometimes used (coined by Cliff Jones ). Retrenchment is an alternative technique when formal refinement is not possible. The opposite of refinement is Abstraction , something that many computer science students find very difficult! |
|
|