FACTOID # 7: The top five best educated states are all in the Northeast.
 
 Home   Encyclopedia   Statistics   States A-Z   Flags   Maps   FAQ   About 
   
 
WHAT'S NEW
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > 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. Euclid, Greek mathematician, 3rd century BC, known today as the father of geometry; shown here in a detail of The School of Athens by Raphael. ... Computer software (or simply software) refers to one or more computer programs and data held in the storage of a computer for some purpose. ... Hardware is the general term that is used to describe physical artifacts of a technology. ... In engineering and manufacturing, the term specification has the following meanings: Technical requirement A specification is a set of requirements. ... In the context of hardware and software systems, formal verification is the act of proving or disproving the correctness of a system with respect to a certain formal specification or property, using formal methods of mathematics. ... The word selectivity has more meanings: Selectivity, the ability to notice/distinguish small diferences. ...


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 word validation has several related meanings: In general, validation is the process of checking if something satisfies a certain criterion. ... A theorem is a proposition that has been or is to be proved on the basis of explicit assumptions. ...


The Z notation is an example of a leading formal specification language. Others include the VDM Specification Language (VDM-SL) of the Vienna Development Method and the Abstract Machine Notation (AMN) of the B-Method. The Z notation (universally pronounced zed, named after Zermelo-Fränkel set theory) is a formal specification language used for describing and modelling computing systems. ... A specification language is a formal language used in computer science. ... To meet Wikipedias quality standards, this article or section may require cleanup. ... Vienna Development Method (VDM) is a program development method based on formal specification using the VDM specification language (VDM-SL), with tool support. ... Abstract Machine Notation (AMN) is a programming language for specifying abstract machines in the B-Method, based on the mathematical theory of Generalised Substitutions. ... B is a tool-supported formal method based around AMN (Abstract Machine Notation), used in the development of computer software. ...


See also

In computer science, formal methods refers to mathematically based techniques for the specification, development and verification of software and hardware systems. ... Software Engineering (SE) is the design, development, and documentation of software by applying technologies and practices from computer science, project management, engineering, application domains, interface design, digital asset management and other fields. ... A specification language is a formal language used in computer science. ...

External links

  • A Case for Formal Specification (Technology) by Coryoth 2005-07-30
  • Formal Specification

  Results from FactBites:
 
SENG611: Formal Specification Summary (538 words)
Formal specifications are used to describe a system in a language whose vocabulary, syntax and semantics are formally defined using mathematical notations.
Formal specifications can be used to build model of a system in mathematical way, and proof that the system would work as desired, even before design.
Formal specifications helps to eliminate ambiguity of natural language in requirements specification, but I doubt if there would ever come a time that users get to appreciate formal methods of specification, because of lack of familiarity and skill level required.
Formal specification - Wikipedia, the free encyclopedia (326 words)
A formal specification is a mathematical description of software or hardware that may be used to develop an implementation.
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.
However, it is possible to validate a specification by proving “challenge” theorems concerning properties that the specification is expected to exhibit.
  More results at FactBites »

 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m