A wide-spectrum language (WSL) is a
programming language
A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language.
The description of a programming l ...
designed to be simultaneously a
low-level and a
high-level language—possibly a
non-executable specification language. Wide-spectrum languages are designed to support a
programming methodology
In software engineering, a software development process is a process of dividing software development work into smaller, parallel, or sequential steps or sub-processes to improve design, product management. It is also known as a software de ...
based on
program refinement
Refinement is a generic term of computer science that encompasses various approaches for producing correct computer programs and simplifying existing programs to enable their formal verification.
Program refinement
In formal methods, program re ...
.
The concept was introduced by
F. L. Bauer
Friedrich Ludwig "Fritz" Bauer (10 June 1924 – 26 March 2015) was a German pioneer of computer science and professor at the Technical University of Munich.
Life
Bauer earned his Abitur in 1942 and served in the Wehrmacht during World W ...
''et al.'' in 1978:
...The program should then be developed step by step applying correctness
preserving transformations.... The development process
thus involves usually multiple reshapings....
Since most current programming languages do not contain
all the concepts needed for the formulation of the different
versions, the programmer is nowadays forced to
use different languages. To avoid the transition from
one language to another, it seems appropriate to have
one coherent language frame covering the whole spectrum
outlined above, i.e. a ''wide spectrum language''.[Bauer, p. 15]
The advantage of a single language rather than separate specification, high-level, and low-level languages is that the program can be incrementally refined, with intermediate versions retaining some higher-level and some lower-level constructs.
Bauer's group developed the
CIP-L wide-spectrum language and the
CIP-S program transformation system
A program transformation is any operation that takes a computer program and generates another program. In many cases the transformed program is required to be semantically equivalent to the original, relative to a particular formal semantics and ...
.
See also
*
Extended ML
Extended ML is a wide-spectrum language based on ML, covering both specification and implementation. It extends the syntax of ML to include axioms, which need not be executable but can rigorously specify the behavior of the program. With this add ...
, a wide-spectrum language based on
ML
* One major implementation of
Common Lisp
Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ''ANSI INCITS 226-1994 (S20018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperlinked HTML version, has been derived fr ...
,
SBCL
Steel Bank Common Lisp (SBCL) is a free Common Lisp implementation that features a high-performance native compiler, Unicode support and threading.
The name "Steel Bank Common Lisp" is a reference to Carnegie Mellon University Common Lisp from ...
, has an interface to assembly language called VOP(Virtual OPerator), in which the user can manipulate registers directly.
*
RAISE Specification Language
RAISE (''Rigorous Approach to Industrial Software Engineering'') was developed as part of the European European Strategic Program on Research in Information Technology, ESPRIT II LaCoS project in the 1990s, led by Dines Bjørner. It consists of a ...
, described as a wide-spectrum specification language
Notes
References
*
F. L. Bauer
Friedrich Ludwig "Fritz" Bauer (10 June 1924 – 26 March 2015) was a German pioneer of computer science and professor at the Technical University of Munich.
Life
Bauer earned his Abitur in 1942 and served in the Wehrmacht during World W ...
, ''et al.'', "Towards a wide spectrum language to support program specification and program development", ''
ACM SIGPLAN Notices
SIGPLAN is the Association for Computing Machinery's Special Interest Group on programming languages.
Conferences
* Principles of Programming Languages (POPL)
* Programming Language Design and Implementation (PLDI)
* International Symposium on ...
'' 13:12:15-24 December, 1978
full text (subscription)* F.L. Bauer, ''The wide spectrum language CIP-L'', vol. 1 of ''The Munich Project CIP'', ''in'' ''
Lecture Notes in Computer Science
''Lecture Notes in Computer Science'' is a series of computer science books published by Springer Science+Business Media since 1973.
Overview
The series contains proceedings, post- proceedings, monographs, and Festschrift
In academia, a ''F ...
'' 183, Berlin, 1985. {{ISBN, 3-540-15187-7.
* Z. Chen ''et al.'', "A wide-spectrum language for object-based development of real-time systems", ''International Journal of Information Sciences'' 118:15-35 (1999)
* Theo de Ridder, "Using Python as a Wide-Spectrum Language", EuroPython 2002
Programming language classification