Results 1  10
of
16
Essential Concepts of Algebraic Specification and Program Development
, 1996
"... The main ideas underlying work on the modeltheoretic foundations of algebraic specification and formal program development are presented in an informal way. An attempt is made to offer an overall view, rather than new results, and to focus on the basic motivation behind the technicalities presente ..."
Abstract

Cited by 57 (16 self)
 Add to MetaCart
The main ideas underlying work on the modeltheoretic foundations of algebraic specification and formal program development are presented in an informal way. An attempt is made to offer an overall view, rather than new results, and to focus on the basic motivation behind the technicalities presented elsewhere.
Extraction of Structured Programs from Specification Proofs
 Workshop on Algebraic Development Techniques, volume 1827 of Lecture Notes in Computer Science
"... We present a method using an extended logical system for obtaining "correct" programs from specifications written in a sublanguage of CASL. By "correct" we mean programs that satisfy their specifications. The technique we use is to extract programs from proofs in formal logic by ..."
Abstract

Cited by 3 (3 self)
 Add to MetaCart
(Show Context)
We present a method using an extended logical system for obtaining "correct" programs from specifications written in a sublanguage of CASL. By "correct" we mean programs that satisfy their specifications. The technique we use is to extract programs from proofs in formal logic by techniques due to Curry and Howard. The logical calculus, however, has the novel feature that as well as the conventional logical rules it includes structural rules corresponding to the standard ways of modifying specifications: translating (renaming), taking unions of specifications and hiding signatures. Although programs extracted by the CurryHoward process can be very cumbersome, we use a number of simplifications that ensure that the programs extracted are in a language close to a standard highlevel programming language. We use this to produce an executable refinement of a given specification and we then provide a method for producing a program module which respects the original structure of the specific...
A calculus of higherorder parameterization for algebraic specifications
 BULLETIN OF THE INTEREST GROUP IN PURE AND APPLIED LOGICS (IGPL
, 1995
"... A specification language is presented which provides three specificationbuilding operators: amalgamated union, renaming and restriction. The language is enhanced with parameterization over higherorder variables based on the simply typed lambda calculus. Context dependencies that ensure the welld ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
(Show Context)
A specification language is presented which provides three specificationbuilding operators: amalgamated union, renaming and restriction. The language is enhanced with parameterization over higherorder variables based on the simply typed lambda calculus. Context dependencies that ensure the welldefinedness of a parameterized specification, are defined over a calculus of requirements and can be syntactically derived. A contextual proof system for parameterized specifications is also presented, that is correct and relatively complete.
Abstraction Barriers in Equational Proof
 In Proc. of AMAST'98, volume 1548 of LNCS
, 1998
"... ion Barriers in Equational Proof Jo Erskine Hannay LFCS, Division of Informatics, University of Edinburgh, Scotland joh@dcs.ed.ac.uk Abstract. Module constructs in programming languages have protection mechanisms hindering unauthorised external access to internal operators of data types. In some c ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
ion Barriers in Equational Proof Jo Erskine Hannay LFCS, Division of Informatics, University of Edinburgh, Scotland joh@dcs.ed.ac.uk Abstract. Module constructs in programming languages have protection mechanisms hindering unauthorised external access to internal operators of data types. In some cases, granting external access to internal operators would result in serious violation of a data type's specified external properties. In order to reason consistently about specifications of such data types, it is necessary in general to incorporate a notion of protective abstraction barrier in proof strategies as well. We show how this can be done in equational calculus by simply restricting the congruence axiom, and see how the motivation for this naturally arises from FI and FRI approaches to specification refinement. 1 Introduction Many programming languages have encapsulation mechanisms that hide internal detail of data types. Besides providing abstraction from uninteresting detail, th...
An Axiomatic Approach to Structuring Specifications
"... In this paper we develop an axiomatic approach to structured specifications in which both the underlying logical system and corresponding institution of the structured specifications are treated as abstract institutions, which means two levels of institution independence. This abstract axiomatic app ..."
Abstract
 Add to MetaCart
(Show Context)
In this paper we develop an axiomatic approach to structured specifications in which both the underlying logical system and corresponding institution of the structured specifications are treated as abstract institutions, which means two levels of institution independence. This abstract axiomatic approach provides a uniform framework for the study of structured specifications independently from any actual choice of specification building operators, and moreover it unifies the theory and the model oriented approaches. Within this framework we develop concepts and results about ‘abstract structured specifications ’ such as colimits, model amalgamation, compactness, interpolation, sound and complete proof theory, and pushoutstyle parameterization with sharing, all of them in a top down manner dictated by the upper level of institution independence. 1.
unknown title
, 2000
"... Es ist nicht viel zum besten gewesen, nehmt so vorlieb. – Old German proverb † Towards an epistemologybased methodology for verification and validation testing? ..."
Abstract
 Add to MetaCart
Es ist nicht viel zum besten gewesen, nehmt so vorlieb. – Old German proverb † Towards an epistemologybased methodology for verification and validation testing?
Type checking Parametrised Programs and Specifications in ASL+ FPC
"... Abstract ASL+ [SST92] is a kernel specification language with higherorder parametrisation for programs and specifications, based on a dependently typed λcalculus. ASL+ has an institutionindependent semantics, which leaves the underlying programming language and specification logic unspecified. To ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract ASL+ [SST92] is a kernel specification language with higherorder parametrisation for programs and specifications, based on a dependently typed λcalculus. ASL+ has an institutionindependent semantics, which leaves the underlying programming language and specification logic unspecified. To complete the definition, and in particular, to study the type checking problem for ASL+, the language ASL+ FPC was conceived. It is a modified version of ASL+ for FPC, and institution based on the paradigmatic programming calculus FPC. The institution FPC is notable for including sharing equations inside signatures, reminiscent of socalled manifest types or translucent sums in type systems for programming language modules [Ler94,HL94]. This allows type equalities to be propagated when composing modules. This paper introduces FPC and ASL+ FPC and their type checking systems. 1 Program Development with Institutions A simple setup for program development with institutions [GB92] is to consider