## From specifications to code in Casl (2002)

### Cached

### Download Links

- [www.dcs.ed.ac.uk]
- [homepages.inf.ed.ac.uk]
- [homepages.inf.ed.ac.uk]
- [www.dcs.ed.ac.uk]
- DBLP

### Other Repositories/Bibliography

Venue: | Proc. 9th Intl. Conf. on Algebraic Methodology and Software Technology, AMAST'02. Springer LNCS 2422, 1--14 (2002). [ABK + 02 |

Citations: | 4 - 1 self |

### BibTeX

@INPROCEEDINGS{Aspinall02fromspecifications,

author = {David Aspinall and Donald Sannella},

title = {From specifications to code in Casl},

booktitle = {Proc. 9th Intl. Conf. on Algebraic Methodology and Software Technology, AMAST'02. Springer LNCS 2422, 1--14 (2002). [ABK + 02},

year = {2002},

pages = {1--14}

}

### Years of Citing Articles

### OpenURL

### Abstract

The status of the Common Framework Initiative (CoFI) and the Common Algebraic Specification Language (Casl) are briefly presented.

### Citations

702 | Efficient Software-Based Fault Isolation - Wahbe, Lucco, et al. |

626 |
The Definition of Standard ML (Revised
- Milner, Tofte, et al.
- 1997
(Show Context)
Citation Context ...itable institution for Standard ML (SML) would consist of the following components. Signatures: These would be SML signatures, or more precisely environments as defined in the static semantics of SML =-=[MTHM97]-=- which are their semantic counterparts. Components of signatures are then type constructors, typed function symbols including value constructors, exception constructors, and substructures having signa... |

504 |
Institutions: Abstract model theory for specification and programming
- Burstall, Goguen
- 1992
(Show Context)
Citation Context ... on the details of the features for basic specifications, so this part of the design is orthogonal to the rest. This is reflected in the semantics by the use of a variant of the notion of institution =-=[GB92] called an-=- institution with symbols [Mos00b]. (For readers who are unfamiliar with the notion of institution, it corresponds roughly to "logical system appropriate for writing specifications".) The se... |

336 | Theorems for free - Wadler - 1989 |

308 | Extended static checking
- DETLEFS, LEINO, et al.
- 1997
(Show Context)
Citation Context ...can use specifications as a basis for testing [Gau95]; they might be used to generate code for run-time error checking [WLAG93,LLP + 00], or they may be used as a basis for additional static analysis =-=[DLNS98]-=-. The traditional hope is to be able to prove properties about specifications, and to prove that implementations satisfy specifications. A common approach for this is to connect the specification lang... |

140 | OMDoc: An Open Markup Format for Mathematical Documents
- Kohlhase
- 2006
(Show Context)
Citation Context ...design. Casl has begun to be used in industry, and applications beyond software specification include a tentative role in the OMDoc project for the communication and storage of mathematical knowledge =-=[Koh02]-=-. Overall, Casl now appears to be recognized as a de facto standard language for algebraic specification. One important aspect of any specification language is the way that specifications relate to pr... |

125 | A logic for parametric polymorphism - Plotkin, Abadi - 1993 |

89 | JML: notations and tools supporting detailed design in Java - Leavens, Leino, et al. - 2000 |

84 | Testing can be formal, too
- Gaudel
- 1995
(Show Context)
Citation Context ...r formal development. Perhaps the most important question is: what do we actually want to do with our specifications? There are various possibilities. We can use specifications as a basis for testing =-=[Gau95]-=-; they might be used to generate code for run-time error checking [WLAG93,LLP + 00], or they may be used as a basis for additional static analysis [DLNS98]. The traditional hope is to be able to prove... |

61 | Institutions morphisms
- Goguen, Roşu
- 2002
(Show Context)
Citation Context ...of # P . If the set of sentences over Sig(P ) is closed under negation then this is equivalent to what is obtained if we replace # by #, and then this is a so-called institution encoding [Tar00] (cf. =-=[GR02] where the name &quo-=-t;forward institution morphism" is used for the same concept). An issue of great practical importance is "interlanguage working" in which programs in one programming language can work d... |

55 | CASL: the common algebraic specification language - Astesiano, Bidoit, et al. - 2002 |

41 |
The Common Framework Initiative for algebraic specification and development, electronic archives, Notes and Documents accessible from http://www.cofi. info
- CoFI
(Show Context)
Citation Context ...a tutorial introduction is [BM01] and the formal semantics is [CoF02]. Section 2 below provides a brief taste of its main features. All Casl design documents are available from the main CoFI web site =-=[CoF]-=-. The main activity in CoFI since its inception has been the design of Casl including its semantics, documentation, and tool support. This work is now essentially finished. The language design is comp... |

41 | Advice on structuring compilers and proving them correct - MORRIS - 1973 |

40 |
µJava: Embedding a programming language in a theorem prover
- Nipkow, Oheimb, et al.
- 2000
(Show Context)
Citation Context ...oms order leq (nil)=nil; order leq (cons(x, l)) = insert leq (x, order leq l) Example 3.2. An institution for a simplified version of Java could be defined by combining and recasting ideas from µJava =-=[NOP00]-=- and JML [LBR01]. Signatures: A signature would represent the type information for a collection of classes, including class names, types and names of fields and methods in each class, and the subclass... |

37 | Tassel J. Experience with embedding hardware description languages - Boulton, Gordon, et al. - 1992 |

36 | The definition of Extended ML: A gentle introduction
- Kahrs, Sannella, et al.
- 1997
(Show Context)
Citation Context ...ample, one could take environments as defined in the dynamic semantics of SML, where closures are used to represent functions. Sentences: One choice would be the syntax used for axioms in Extended ML =-=[KST97]-=-, which is an extension of the syntax of SML boolean expressions by quantifiers, extensional equality, and a termination predicate. Satisfaction: If sentences are as in EML and models are as in the dy... |

34 | Relating CASL with other specification languages: the institution level
- Mossakowski
(Show Context)
Citation Context ...ic checker, L A T E X pretty printer, facilities for printing signatures of specifications and structure graphs of Casl specifications, with an encoding of Casl specifications into second-order logic =-=[Mos03]-=- providing links to various verification and development systems including Isabelle and INKA [AHMS99]. The most focussed collaborative activity nowadays is on tool development, see http://www.tzi.de/c... |

30 | Programs and their proofs An algebraic approach Machine lntelh- gence - LANDIN, J - 1969 |

27 | Towards heterogeneous specifications
- Tarlecki
- 1998
(Show Context)
Citation Context ...to the terms of # P . If the set of sentences over Sig(P ) is closed under negation then this is equivalent to what is obtained if we replace # by #, and then this is a so-called institution encoding =-=[Tar00] (cf. [GR02] where t-=-he name "forward institution morphism" is used for the same concept). An issue of great practical importance is "interlanguage working" in which programs in one programming languag... |

24 | HasCasl: Towards integrated specification and development of Haskell programs
- Schroder, Mossakowski
- 2002
(Show Context)
Citation Context ...scribing this, as well as ways of specifying frame conditions which restrict which part of the state a method is allowed to alter. ## Example 3.3. An institution for Haskell-with-CASL is described in =-=[SM02]-=-. It is relates closely to the normal first-order Casl institution, and has been studied in more detail than our sketches for Java and SML above. Here is an overview: Signatures: These consist of Hask... |

23 | System description: Inka 5.0 - a logic voyager
- Autexier, Hutter, et al.
- 1999
(Show Context)
Citation Context ...ture graphs of Casl specifications, with an encoding of Casl specifications into second-order logic [Mos03] providing links to various verification and development systems including Isabelle and INKA =-=[AHMS99]-=-. The most focussed collaborative activity nowadays is on tool development, see http://www.tzi.de/cofi/Tools. There is also some further work on various topics in algebraic specification in the Casl c... |

16 | Type Systems for Modular Programs and Specifications - Aspinall - 1997 |

14 |
Specification in an arbitrary institution with symbols
- Mossakowski
- 2000
(Show Context)
Citation Context ...specifications, so this part of the design is orthogonal to the rest. This is reflected in the semantics by the use of a variant of the notion of institution [GB92] called an institution with symbols =-=[Mos00b]. (For rea-=-ders who are unfamiliar with the notion of institution, it corresponds roughly to "logical system appropriate for writing specifications".) The semantics of basic specifications is regarded ... |

14 | Java: Embedding a programming language in a theorem prover
- Nipkow, Oheimb, et al.
- 2000
(Show Context)
Citation Context ...der leq (nil) = nil ; order leq (cons(x , l )) = insert leq (x , order leq l ) Example 3.2. An institution for a simplified version of Java could be defined by combining and recasting ideas from Java =-=[NOP00]-=- and JML [LBR01]. Signatures: A signature would represent the type information for a collection of classes, including class names, types and names of fields and methods in each class, and the subclass... |

10 |
Preliminary design of JML
- Leavens, Baker, et al.
- 2001
(Show Context)
Citation Context ...nil ; order leq (cons(x , l )) = insert leq (x , order leq l ) Example 3.2. An institution for a simplified version of Java could be defined by combining and recasting ideas from Java [NOP00] and JML =-=[LBR01]-=-. Signatures: A signature would represent the type information for a collection of classes, including class names, types and names of fields and methods in each class, and the subclass relationship be... |

9 | Unit testing for casl architectural specifications
- Machado, Sannella
- 2002
(Show Context)
Citation Context ...tivity nowadays is on tool development, see http://www.tzi.de/cofi/Tools. There is also some further work on various topics in algebraic specification in the Casl context; for two recent examples see =-=[MS02]-=- and [BST02b]. However, with the completion of the design activity, there has been a very encouraging level of use of Casl in actual applications. In contrast with most previous algebraic specificatio... |

8 | Global development via local observational construction steps
- Bidoit, Sannella, et al.
- 2002
(Show Context)
Citation Context ...days is on tool development, see http://www.tzi.de/cofi/Tools. There is also some further work on various topics in algebraic specification in the Casl context; for two recent examples see [MS02] and =-=[BST02b]-=-. However, with the completion of the design activity, there has been a very encouraging level of use of Casl in actual applications. In contrast with most previous algebraic specification languages w... |

6 |
General logic. Logic Colloquium'87
- Meseguer
- 1989
(Show Context)
Citation Context ...ion is defined. ⊓⊔sThis institutionalapproach takes a model-theoretic view and says nothing about how sentences can be proved to hold. For this, one would require an associated entailment system, see =-=[Mes89]-=-. 4 Some unresolved issues Defining an institution for specifying programs in a given programminglanguage, as in the above examples, provides a link between Casl and the programming language at hand. ... |

5 |
A technical overview of the Commmon Language Infrastructure
- Meijer, Gough
- 2002
(Show Context)
Citation Context ...a low-level intermediate language which is the common target of compilers for the programming languages in question. Microsoft's .NET platform is an example, with the CIL common intermediate language =-=[MG01]-=-. In such a framework, faced with an architectural specification of the form: arch spec ASP = units U1 : SP1 ; U2 : SP2 result . . . U1 . . . U2 . . . one might consider implementing U1 in one languag... |

3 |
A gentle introduction to Casl. Tutorial, WADT/CoFI Workshop at the
- Bidoit, Mosses
- 2001
(Show Context)
Citation Context ...tics, methodology and tool support, all of which provided vital feedback regarding language design proposals. For a detailed description of Casl, see [ABK + 03] or [CoF01]; a tutorial introduction is =-=[BM01]-=- and the formal semantics is [CoF02]. Section 2 below provides a brief taste of its main features. All Casl design documents are available from the main CoFI web site [CoF]. The main activity in CoFI ... |

2 | Reflections on the design of a specification language
- Kahrs, Sannella
- 1998
(Show Context)
Citation Context ...zed as a de facto standard language for algebraic specification. One important aspect of any specification language is the way that specifications relate to programs. This can be a di#cult issue; see =-=[KS98]-=- for a discussion of some serious problems at the specification/program interface that were encountered in work on Extended ML. The approach taken in Casl, which is outlined in Section 3, involves abs... |

2 |
Casl: From semantics to tools. Tools and Algorithms for the Construction and Analysis
- Mossakowski
- 2000
(Show Context)
Citation Context ...including a book containing a user's guide and reference documents are nearing completion. A selection of tools supportingsCasl are available, the most prominent of these being the Casl Tool Set CATS =-=[Mos00a]-=- which combines a parser, static checker, L A T E X pretty printer, facilities for printing signatures of specifications and structure graphs of Casl specifications, with an encoding of Casl specifica... |

1 |
General logics. Logic Colloquium '87, 275--329
- Meseguer
- 1989
(Show Context)
Citation Context ...on is defined. ## This institutional approach takes a model-theoretic view and says nothing about how sentences can be proved to hold. For this, one would require an associated entailment system, see =-=[Mes89]-=-. 4 Some unresolved issues Defining an institution for specifying programs in a given programming language, as in the above examples, provides a link between Casl and the programming language at hand.... |

1 | A logic for parametric polymorphism. Proc. of the Intl. Conf. on Typed Lambda Calculi and Applications - Plotkin, Abadi - 1993 |

1 |
Mind the gap! Abstract versus concrete models of specifications
- Sannella, Tarlecki
- 1996
(Show Context)
Citation Context ...ts. More subtle di#erences arise on the level of models. As explained in Section 3, the Casl approach is to use the same kind of models for programs and for specifications. The following example from =-=[ST96]-=- shows how this might lead to problems. Example 4.3. Let # equiv be a sentence which asserts that equiv(n, m) = true i# the Turing machines with Godel numbers n and m compute the same partial function... |