7-A Methodological Guide to the CafeOBJ Logic

7-A Methodological Guide to the CafeOBJ Logic - A...

This preview shows pages 1–3. Sign up to view the full content.

A Methodological Guide to the CafeOBJ Logic azvan Diaconescu Institute of Mathematics “Simion Stoilow”, PO Box 1-764, Bucharest 014700, Romania, Razvan.Diaconescu@imar.ro 1 The CafeOBJ SpeciFcation Language CafeOBJ is an executable industrial-strength algebraic speciFcation language; it is a modern successor of OBJ and incorporates several new algebraic speciF- cation paradigms. It was developed in Japan with large-scale support from the Japanese government. Its deFnition is given in [12], a presentation of its logical foundations can be found in [14], and a presentation of some methodologies developed around CafeOBJ can be found in [15, 16]. CafeOBJ is intended to be used mainly for system speciFcation, formal veriFcation of speciFcations, rapid prototyping, and even programming. In this chapter we present the logic underlying CafeOBJ and illustrate its intimate relationship to the speciFcation and veriFcation methodologies. ±irst, let us brieﬂy overview some of CafeOBJ most important features. 1.1 Equational Specifcation and Programming Equational speciFcation and programming is inherited from OBJ [18, 26] and constitutes the basis of the language, the other features being somehow built on top of it. As with OBJ, CafeOBJ is executable (by term rewriting), which gives an elegant declarative method of functional programming, often referred as algebraic programming . 1 As with OBJ, CafeOBJ also permits equational speciFcation modulo several equational theories such as associativity, com- mutativity, identity, idempotency, and combinations of all these. This feature is reﬂected at the execution level by term rewriting modulo such equational theories. 1 Although this paradigm may be used for programming, from the applications point of view, this aspect is secondary to its speciFcation side.

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
154 R˘azvan Diaconescu 1.2 Behavioural Specifcation Behavioural specifcation [13, 21, 22, 29, 39, 40] provides a generalisation oF ordinary algebraic specifcation. Behavioural specifcation characterises how objects (and systems) behave , not how they are implemented. This new Form oF abstraction can be very powerFul in the specifcation and verifcation oF soFtware systems, since it naturally embeds other useFul paradigms such as concurrency, object orientation, constraints, and non-determinism (see [22] For details). Behavioural abstraction is achieved by using specifcation with hidden sorts and a behavioural concept oF satisFaction based on the idea oF indistinguishability oF states that are observationally the same, which also generalises process algebra and transition systems (see [22]). The CaFeOBJ behavioural specifcation paradigm is based on the coherent hidden algebra (CHA) oF [13], which is both a simplifcation and an extension oF the classical hidden algebra oF [22] in several directions, most notably by allowing opera- tions with multiple hidden sorts in the arity. Coherent hidden algebra comes very close to the “observational logic” oF Hennicker and Bidoit [29].
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 03/31/2010 for the course CAS 707 taught by Professor Ridhakhedri during the Spring '10 term at McMaster University.

Page1 / 88

7-A Methodological Guide to the CafeOBJ Logic - A...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document
Ask a homework question - tutors are online