Results 1  10
of
23
Toward formal development of ML programs: foundations and methodology
, 1989
"... A formal methodology is presented for the systematic evolution of modular Standard ML programs from specifications by means of verified refinement steps, in the framework of the Extended ML specification language. Program development proceeds via a sequence of design (modular decomposition), codi ..."
Abstract

Cited by 51 (20 self)
 Add to MetaCart
A formal methodology is presented for the systematic evolution of modular Standard ML programs from specifications by means of verified refinement steps, in the framework of the Extended ML specification language. Program development proceeds via a sequence of design (modular decomposition), coding and refinement steps. For each of these three kinds of steps, conditions are given which ensure the correctness of the result. These conditions seem to be as weak as possible under the constraint of being expressible as "local" interface matching requirements. Interfaces are only required to match up to behavioural equivalence, which is seen as vital to the use of data abstraction in program development. Copyright c fl 1989 by D. Sannella and A. Tarlecki. All rights reserved. An extended abstract of this paper will appear in Proc. Colloq. on Current Issues in Programming Languages, Joint Conf. on Theory and Practice of Software Development (TAPSOFT), Barcelona, Springer LNCS (1989)....
Behavioural Satisfaction and Equivalence in Concrete Model Categories
, 1996
"... . We use the wellknown framework of concrete categories to show how much of standard universal algebra may be done in an abstract and still rather intuitive way. This is used to recast the unifying view of behavioural semantics of specications based on behavioural satisfaction and, respectively ..."
Abstract

Cited by 30 (9 self)
 Add to MetaCart
. We use the wellknown framework of concrete categories to show how much of standard universal algebra may be done in an abstract and still rather intuitive way. This is used to recast the unifying view of behavioural semantics of specications based on behavioural satisfaction and, respectively, on behavioural equivalence of models abstracting away from many particular features of standard algebras. We also give an explicit representation of behavioural equivalence between models in terms of behavioural correspondences. 1 Introduction Behavioural semantics for specications plays a crucial role in the formalisation of the development process, where a specication need not be implemented exactly but only so that the required system behaviour is achieved  the idea goes back to [GGM76], [Hoa72]; see e.g. [ST95] for the context in which we view it now. There have been two basic approaches to behavioural semantics of speci cations. One introduces a new behavioural satisfaction o...
Extended ML: an institutionindependent framework for formal program development
 PROC. WORKSHOP ON CATEGORY THEORY AND COMPUTER PROGRAMMING
, 1986
"... The Extended ML specification language provides a framework for the formal stepwise development of modular programs in the Standard ML programming language from specifications. The object of this paper is to equip Extended ML with a semantics which is completely independent of the logical system use ..."
Abstract

Cited by 19 (10 self)
 Add to MetaCart
The Extended ML specification language provides a framework for the formal stepwise development of modular programs in the Standard ML programming language from specifications. The object of this paper is to equip Extended ML with a semantics which is completely independent of the logical system used to write specifications, building on Goguen and Burstall's work on the notion of an institution as a formalisation of the concept of a logical system. One advantage of this is that it permits freedom in the choice of the logic used in writing specifications; an intriguing sideeffect is that it enables Extended ML to be used to develop programs in languages other than Standard ML since we view programs as simply Extended ML specifications which happen to include only "executable" axioms. The semantics of Extended ML is defined in terms of the primitive specificationbuilding operations of the ASL kernel specification language which itself has an institutionindependent semantics. It is no...
Type class polymorphism in an institutional framework
 IN JOSÉ FIADEIRO, EDITOR, 17TH WADT, LECTURE NOTES IN COMPUTER SCIENCE
, 2005
"... Higherorder logic with shallow type class polymorphism is widely used as a specification formalism. Its polymorphic entities (types, operators, axioms) can easily be equipped with a ‘naive ’ semantics defined in terms of collections of instances. However, this semantics has the unpleasant property ..."
Abstract

Cited by 12 (7 self)
 Add to MetaCart
Higherorder logic with shallow type class polymorphism is widely used as a specification formalism. Its polymorphic entities (types, operators, axioms) can easily be equipped with a ‘naive ’ semantics defined in terms of collections of instances. However, this semantics has the unpleasant property that while model reduction preserves satisfaction of sentences, model expansion generally does not. In other words, unless further measures are taken, type class polymorphism fails to constitute a proper institution, being only a socalled rps preinstitution; this is unfortunate, as it means that one cannot use institutionindependent or heterogeneous structuring languages, proof calculi, and tools with it. Here, we suggest to remedy this problem by modifying the notion of model to include information also about its potential future extensions. Our construction works at a high level of generality in the sense that it provides, for any preinstitution, an institution in which the original preinstitution can be represented. The semantics of polymorphism used in the specification language HasCasl makes use of this result. In fact, HasCasl’s polymorphism is a special case of a general notion of polymorphism in institutions introduced here, and our construction leads to the right notion of semantic consequence when applied to this generic polymorphism. The appropriateness of the construction for other frameworks that share the same problem depends on methodological questions to be decided case by case. In particular, it turns out that our method is apparently unsuitable for observational logics, while it works well with abstract state machine formalisms such as statebased Casl.
General logics
 In Logic Colloquium 87
, 1989
"... theory, categorical logic. model theory that emerged in computer science studies of software specification and semantics. To handle proof theory, our institutions use an extension of traditional categorical logic with sets of sentences as objects instead of single sentences, and with morphisms repre ..."
Abstract

Cited by 9 (3 self)
 Add to MetaCart
theory, categorical logic. model theory that emerged in computer science studies of software specification and semantics. To handle proof theory, our institutions use an extension of traditional categorical logic with sets of sentences as objects instead of single sentences, and with morphisms representing proofs as usual. A natural equivalence relation on institutions is defined such that its equivalence classes are logics. Several invariants are defined for this equivalence, including a Lindenbaum
CafeOBJ: Logical Foundations and Methodologies
 Computing and Informatics
, 2003
"... CafeOBJ is an executable industrial strength multilogic algebraic speci cation language which is a modern successor of OBJ and incorporates several new algebraic speci cation paradigms. ..."
Abstract

Cited by 6 (1 self)
 Add to MetaCart
CafeOBJ is an executable industrial strength multilogic algebraic speci cation language which is a modern successor of OBJ and incorporates several new algebraic speci cation paradigms.
Categorybased Modularisation for Equational Logic Programming
 Acta Informatica
, 1996
"... : Although modularisation is basic to modern computing, it has been little studied for logicbased programming. We treat modularisation for equational logic programming using the institution of categorybased equational logic in three different ways: (1) to provide a generic satisfaction conditio ..."
Abstract

Cited by 5 (5 self)
 Add to MetaCart
: Although modularisation is basic to modern computing, it has been little studied for logicbased programming. We treat modularisation for equational logic programming using the institution of categorybased equational logic in three different ways: (1) to provide a generic satisfaction condition for equational logics; (2) to give a categorybased semantics for queries and their solutions; and (3) as an abstract definition of compilation from one (equational) logic programming language to another. Regarding (2), we study soundness and completeness for equational logic programming queries and their solutions. This can be understood as ordinary soundness and completeness in a suitable "nonlogical" institution. Soundness holds for all module imports, but completeness only holds for conservative module imports. Categorybased equational signatures are seen as modules, and morphisms of such signatures as module imports. Regarding (3), completeness corresponds to compiler correc...
QuasiBoolean Encodings and Conditionals in Algebraic Specification
"... We develop a general study of the algebraic specification practice, originating from the OBJ tradition, which encodes atomic sentences in logical specification languages as Boolean terms. This practice originally motivated by operational aspects, but also leading to significant increase in expressiv ..."
Abstract

Cited by 3 (3 self)
 Add to MetaCart
We develop a general study of the algebraic specification practice, originating from the OBJ tradition, which encodes atomic sentences in logical specification languages as Boolean terms. This practice originally motivated by operational aspects, but also leading to significant increase in expressivity power, has recently become important within the context of some formal verification methodologies mainly because it allows the use of simple equational reasoning for frameworks based on logics that do not have an equational nature. Our development includes a generic rigorous definition of the logics underlying the above mentioned practice, based on the novel concept of ‘quasiBoolean encoding’, a general result on existence of initial semantics for these logics, and presents a general method for employing Birkhoff calculus of conditional equations as a sound calculus for these logics. The high level of generality of our study means that the concepts are introduced and the results are obtained at the level of abstract institutions (in the sense of Goguen and Burstall [12]) and are therefore applicable to a multitude of logical systems and environments.
What is a Logic Translation?
, 2009
"... We study logic translations from an abstract perspective, without any commitment to the structure of sentences and the nature of logical entailment, which also means that we cover both prooftheoretic and modeltheoretic entailment. We show how logic translations induce notions of logical expressive ..."
Abstract

Cited by 3 (3 self)
 Add to MetaCart
We study logic translations from an abstract perspective, without any commitment to the structure of sentences and the nature of logical entailment, which also means that we cover both prooftheoretic and modeltheoretic entailment. We show how logic translations induce notions of logical expressiveness, consistency strength and sublogic, leading to an explanation of paradoxes that have been described in the literature. Connectives and quantifiers, although not present in the definition of logic and logic translation, can be recovered by their abstract properties and are preserved and reflected by translations under suitable conditions.