HOME

TheInfoList



OR:

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