Search: in
Formal specification
Formal specification Encyclopedia
  Tutorials     Encyclopedia     Dictionary     Directory  
Formal_specification Email this to a friend      Formal_specification

Formal specification

A formal specification is a mathematical description of software or hardware that may be used to develop an implementation. It describes what the system should do, not (necessarily) how the system should do it. Given such a specification, it is possible to use formal verification techniques to demonstrate that a candidate system design is correct with respect to the specification. This has the advantage that incorrect candidate system designs can be revised before a major investment has been made in actually implementing the design. An alternative approach is to use provably correct refinement steps to transform a specification into a design, and ultimately into an actual implementation, that is correct by construction.

It is important to note that a design (or implementation) cannot ever be declared ?correct? in isolation, but only ?correct with respect to a given specification?. Whether the formal specification correctly describes the problem to be solved is a separate issue. It is also a difficult issue to address, since it ultimately concerns the problem constructing abstracted formal representations of an informal concrete problem domain, and such an abstraction step is not amenable to formal proof. However, it is possible to validate a specification by proving ?challenge? theorems concerning properties that the specification is expected to exhibit. If correct, these theorems reinforce the specifiers understanding of the specification and its relationship with the underlying problem domain. If not, the specification probably needs to be changed to better reflect the domain understanding of those involved with producing (and implementing) the specification.

The Z notation is an example of a leading formal specification language. Others include the Specification Language(VDM-SL) of the Vienna Development Method and the Abstract Machine Notation (AMN) of the B-Method.

See also

References

de:Formale Spezifikation ja:?????? pt:Especificação formal uk:???????????? ?????????





Source: Wikipedia | The above article is available under the GNU FDL. | Edit this article



Related Links in Formal specification

Search for Formal specification in Tutorials
Search for Formal specification in Encyclopedia
Search for Formal specification in Dictionary
Search for Formal specification in Open Directory
Search for Formal specification in Store
Search for Formal specification in PriceGig


Help build the largest human-edited directory on the web.
Submit a Site - Open Directory Project - Become an Editor

Advertisement

Advertisement



Formal specification
Formal_specification top Formal_specification

Home - Add TutorGig to Your Site - Disclaimer

©2008-2009 TutorGig.com. All Rights Reserved. Privacy Statement