CASL User Manual: Introduction to Using the Common Algebraic by Michel Bidoit, Peter D. Mosses

By Michel Bidoit, Peter D. Mosses

CASL, the typical Algebraic Specification Language, was once designed by way of the participants of CoFI, the typical Framework Initiative for algebraic specification and improvement, and is a general-purpose language for functional use in software program improvement for specifying either standards and layout. CASL is already considered as a de facto regular, and diverse sublanguages and extensions can be found for particular initiatives.

This e-book illustrates and discusses easy methods to write CASL requirements. The authors first describe the origins, goals and scope of CoFI, and assessment the most thoughts of algebraic specification languages. the most a part of the e-book explains CASL necessities, with chapters on free, generated and unfastened requisites, partial services, sub- and supersorts, structuring requisites, genericity and reusability, architectural requirements, and model keep watch over. the ultimate chapters take care of device help and libraries, and current a practical case examine concerning the normal benchmark for evaluating specification frameworks. The ebook is geared toward software program researchers and pros, and follows an instructional type with highlighted issues, illustrative examples, and an entire specification and library index.

A separate, complementary LNCS quantity comprises the CASL Reference Manual.

Show description

Read or Download CASL User Manual: Introduction to Using the Common Algebraic Specification Language PDF

Best compilers books

Ada 95 Rationale: The Language The Standard Libraries

Ada ninety five, the improved model of the Ada programming language, is now in position and has attracted a lot awareness locally because the overseas ordinary ISO/IEC 8652:1995(E) for the language was once licensed in 1995. The Ada ninety five purpose is available in 4 elements. The introductory half is a basic dialogue of the scope and ambitions of Ada ninety five and its significant technical positive aspects.

Conceptual Structures: Knowledge Visualization and Reasoning: 16th International Conference on Conceptual Structures, ICCS 2008 Toulouse, France, July

This e-book constitutes the refereed court cases of the sixteenth overseas convention on Conceptual constructions, ICCS 2008, held in Toulouse, France, in July 2008. the nineteen revised complete papers offered including 2 invited papers have been rigorously reviewed and chosen from over 70 submissions. The scope of the contributions levels from theoretical and methodological subject matters to implementation matters and functions.

The Functional Treatment of Parsing

Parsing expertise often contains branches, which correspond to the 2 major software components of context-free grammars and their generalizations. effective deterministic parsing algorithms were built for parsing programming languages, and fairly diverse algorithms are hired for interpreting traditional language.

Introduction to Compiler Construction in a Java World

Immersing scholars in Java and the Java digital computer (JVM), advent to Compiler development in a Java global permits a deep realizing of the Java programming language and its implementation. The textual content specializes in layout, association, and checking out, supporting scholars research reliable software program engineering abilities and turn into higher programmers.

Additional resources for CASL User Manual: Introduction to Using the Common Algebraic Specification Language

Example text

The ‘. . when . . else . , any symbol must be declared before being used. In the above example, min should be declared before being used to define max . Linear visibility does not imply, however, that a fixed scheme is to be used when writing specifications: the specifier is free to present the required declarations and axioms in any order, as long as the linear visibility rule is respected. For instance, one may prefer to declare first all sorts and all operation 2 See Chap. 6 for constructs allowing the explicit restriction of the set of symbols exported by a specification.

The %implies annotation is used to indicate that some axioms are supposedly redundant, being consequences of others. spec Partial Order 1 = Partial Order then %implies ∀x , y, z : Elem • x ≤ y ∧ y ≤ z ⇒ x ≤ z end %(transitive)% The %implies annotation above is used to emphasize that the transitivity of ‘≤’ should follow from the other axioms, or, in other words, that the model class of Partial Order 1 is exactly the same as the model class of Partial Order. The %implies annotation applies to the whole of the specification extension where it occurs (which happens here to introduce a single axiom).

Systems based on rewriting) may make special use of the assoc attribute, so it is generally advisable to use this attribute instead of stating the same property by an axiom (the same applies to the other attributes). Genericity of specifications can be made explicit using parameters. spec Generic Monoid [ sort Elem ] = sort Monoid ops inj : Elem → Monoid ; 1 : Monoid ; ∗ : Monoid × Monoid → Monoid , assoc, unit 1 ∀x , y : Elem • inj (x ) = inj (y) ⇒ x = y end 30 3 Getting Started The above example describes monoids built over arbitrary elements (of sort Elem).

Download PDF sample

Rated 4.28 of 5 – based on 43 votes