The Common Algebraic Specification Language (CASL) is a general-purpose
specification language
A specification language is a formal language in computer science used during systems analysis, requirements analysis, and systems design to describe a system at a much higher level than a programming language, which is used to produce the executa ...
based on
first-order logic
First-order logic—also known as predicate logic, quantificational logic, and first-order predicate calculus—is a collection of formal systems used in mathematics, philosophy, linguistics, and computer science. First-order logic uses quanti ...
with
induction.
Partial function
In mathematics, a partial function from a set to a set is a function from a subset of (possibly itself) to . The subset , that is, the domain of viewed as a function, is called the domain of definition of . If equals , that is, if is ...
s and
subsorting are also supported.
Overview
CASL has been designed by CoFI, the
Common Framework Initiative
Common may refer to:
Places
* Common, a townland in County Tyrone, Northern Ireland
* Boston Common, a central public park in Boston, Massachusetts
* Cambridge Common, common land area in Cambridge, Massachusetts
* Clapham Common, originally ...
(CoFI), with the aim to
subsume
Subsumption may refer to:
* A minor premise in symbolic logic (see syllogism)
* The Liskov substitution principle in object-oriented programming
* Subtyping in programming language theory
* Subsumption architecture Subsumption architecture is a ...
many existing specification languages.
CASL comprises four levels:
* basic specifications, for the specification of single software modules,
* structured specifications, for the modular specification of modules,
* architectural specifications, for the prescription of the structure of
implementation
Implementation is the realization of an application, or execution of a plan, idea, model, design, specification, standard, algorithm, or policy.
Industry-specific definitions
Computer science
In computer science, an implementation is a real ...
s,
* specification libraries, for storing specifications distributed over the
Internet
The Internet (or internet) is the global system of interconnected computer networks that uses the Internet protocol suite (TCP/IP) to communicate between networks and devices. It is a ''internetworking, network of networks'' that consists ...
.
The four levels are orthogonal to each other. In particular, it is possible to use CASL structured and
architectural
Architecture is the art and technique of designing and building, as distinguished from the skills associated with construction. It is both the process and the product of sketching, conceiving, planning, designing, and constructing buildings ...
specifications
A specification often refers to a set of documented requirements to be satisfied by a material, design, product, or service. A specification is often a type of technical standard.
There are different types of technical or engineering specificati ...
and libraries with logics other than CASL. For this purpose, the logic has to be formalized as an
institution. This feature is also used by the CASL extensions.
Extensions
Several extensions of CASL have been designed:
*HasCASL, a
higher-order extension
*CoCASL, a
coalgebraic extension
*CspCASL, a
concurrent
Concurrent means happening at the same time. Concurrency, concurrent, or concurrence may refer to:
Law
* Concurrence, in jurisprudence, the need to prove both ''actus reus'' and ''mens rea''
* Concurring opinion (also called a "concurrence"), a ...
extension based on
CSP
CSP may refer to:
Education
* College Student Personnel, an academic discipline
* Commonwealth Supported Place, a category in Australian education
* Concordia University (Saint Paul, Minnesota), US
Organizations
* Caledonian Steam Packet Compa ...
*ModalCASL, a
modal logic extension
*CASL-LTL, a
temporal logic In logic, temporal logic is any system of rules and symbolism for representing, and reasoning about, propositions qualified in terms of time (for example, "I am ''always'' hungry", "I will ''eventually'' be hungry", or "I will be hungry ''until'' I ...
extension
*HetCASL, an extension for
heterogeneous
Homogeneity and heterogeneity are concepts often used in the sciences and statistics relating to the uniformity of a substance or organism. A material or image that is homogeneous is uniform in composition or character (i.e. color, shape, siz ...
specification
External links
Official CoFI websiteCASL
Formal specification languages
{{compu-lang-stub