Specification language

Specification language

A specification language is a formal language used in computer science.Unlike most programming languages, which are directly executable formal languages used to implement a system, specification languages are used during systems analysis, requirements analysis and systems design.

Specification languages are generally not directly executed. They describe the system at a much higher level than a programming language. Indeed, it is considered as an error if a requirement specification is cluttered with unnecessary implementation detail, because the specification is meant to describe the "what", not the "how".

A common fundamental assumption of many specification approaches is that programs are modelled as algebraic or model-theoretic structures that include a collection of sets of data values together with functions over those sets. This level of abstraction is commensurate with the view that the correctness of the input/output behaviour of a program takes precedence over all its other properties.

In the "property-oriented" approach to specification (taken e.g. by CASL), specifications of programs consist mainly of logical axioms, usually in a logical system in which equality has a prominent role, describing the properties that the functions are required to satisfy - often just by their interrelationship.This is in contrast to so-called "model-oriented" specifications in frameworks like VDM and Z, which consist of a simple realization of the required behaviour.

Specifications must be subject to a process of "refinement" (the filling-in of implementation detail) before they can actually be implemented. The result of such a refinement process is an executable algorithm, which is either formulated in a programming language, or in an executable subset of the specification language at hand. For example, Hartmann pipelines, whenproperly applied, may be considered a dataflow specification which "is" directly executable. Another example is the Actor model which has no specific application content and must be "specialized" to be executable.

An important use of specification languages is enabling the creation of proofs of program correctness ("see theorem prover").

Languages

*Unified Modelling Language
*CASL
*Vienna Development Method
*Z notation

ee also

*Formal specification
*Language-independent specification


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • Meta-IV (specification language) — The Meta IV (pronounced like metaphor ) was an early version of the specification language of the Vienna Development Method formal method for the development of computer based systems. Contents 1 History 2 The Schools of VDM 2.1 The Danish School …   Wikipedia

  • Distributed Application Specification Language — The DASL Programming Language (Distributed Application Specification Language) is a high level, strongly typed programming language originally developed at Sun Microsystems Laboratories between 1999 and 2003 as part of the Ace Project. The goals… …   Wikipedia

  • DASL - Distributed Application Specification Language — The DASL Programming Language (Distributed Application Specification Language) is a high level, strongly typed programming language originally developed at Sun Microsystems Laboratories between 1999 and 2003 as part of the… …   Wikipedia

  • Common Algebraic Specification Language — The Common Algebraic Specification Language (CASL) is a general purpose specification language based on first order logic with induction. Partial functions and subsorting are also supported. CASL has been designed by CoFI, the Common Framework… …   Wikipedia

  • Property Specification Language — (PSL) is a language developed by Accellera for specifying properties or assertions about hardware designs. The properties can then be simulated or formally verified. Since September 2004 the standardization on the language has been done in IEEE… …   Wikipedia

  • Document Style Semantics and Specification Language — (DSSSL) is a computer language for specifying stylesheets for SGML documents, based on a subset of the Scheme programming language. It is specified by the standard ISO/IEC 10179:1996. It was developed by ISO/IEC JTC1/SC34 (ISO/IEC Joint Technical …   Wikipedia

  • Property Specification Language — Die Property Specification Language (PSL), auf Deutsch etwa Beschreibungssprache für Eigenschaften , wurde von Accellera entwickelt, um Eigenschaften oder Assertions beim Entwurf von Hardware Designs zu spezifizieren. Diese Eigenschaften können… …   Deutsch Wikipedia

  • Property Specification Language — Pour les articles homonymes, voir PSL. Le Property Specification Language (PSL) (en français : Langage de spécification par propriétés) est basé sur le langage Sugar d’IBM. Il a été approuvé par l’organisme Accellera en mai 2003, et par… …   Wikipédia en Français

  • Alloy (specification language) — In computer science and software engineering, the Alloy specification language is a declarative language for expressing complex structural constraints and behavior in a software system. Alloy provides a simple structural modeling tool based on… …   Wikipedia

  • Process Specification Language — (PSL) is an ontology developed at the National Institute of Standards and Technology (NIST) for description of basic manufacturing, engineering and business processes.In the manufacturing domain, PSL’s objective is to serveas an interlingua for… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”