Results 1  10
of
16
Metalogical Frameworks
, 1992
"... In computer science we speak of implementing a logic; this is done in a programming language, such as Lisp, called here the implementation language. We also reason about the logic, as in understanding how to search for proofs; these arguments are expressed in the metalanguage and conducted in the me ..."
Abstract

Cited by 57 (15 self)
 Add to MetaCart
In computer science we speak of implementing a logic; this is done in a programming language, such as Lisp, called here the implementation language. We also reason about the logic, as in understanding how to search for proofs; these arguments are expressed in the metalanguage and conducted in the metalogic of the object language being implemented. We also reason about the implementation itself, say to know it is correct; this is done in a programming logic. How do all these logics relate? This paper considers that question and more. We show that by taking the view that the metalogic is primary, these other parts are related in standard ways. The metalogic should be suitably rich so that the object logic can be presented as an abstract data type, and it must be suitably computational (or constructive) so that an instance of that type is an implementation. The data type abstractly encodes all that is relevant for metareasoning, i.e., not only the term constructing functions but also the...
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...
DTRE  A SemiAutomatic Transformation System
 In Constructing Programs from Specifications
, 1991
"... This paper describes the theoretical framework and an implemented system (Dtre) for the specification and verified refinement of specifications using operations on abstract data types. The system is semiautomatic in that users can specify some (possibly none) of the implementations and the system w ..."
Abstract

Cited by 25 (3 self)
 Add to MetaCart
This paper describes the theoretical framework and an implemented system (Dtre) for the specification and verified refinement of specifications using operations on abstract data types. The system is semiautomatic in that users can specify some (possibly none) of the implementations and the system will determine the rest of the implementations. Data types are specified as parameterized theories within manysorted firstorder logic; usually these theories are centered around inductive sorts. Abstract specifications (theories) are refined in a stepwise fashion into increasingly more concrete theories. Our primary method of refinement is based on theory interpretation [1, 2, 3]. Theories and interpretations provide a clean, logically based separation between types and their implementations; thus permitting specification to proceed independently of implementation while simultaneously providing a basis for rapid and verifiably correct transformation to efficient code. Dtre provides a conven...
An Algebraic Approach to Mixins and Modularity
 ALP '96  5th Intl. Conf. on Algebraic and Logic Programming, number 1139 in Lecture Notes in Computer Science
, 1996
"... . We present an algebraic formalization of the notion of mixin module, i.e. a module where the definition of some components is deferred . Moreover, we define a set of basic operators for composing mixin modules, intended to be a kernel language with clean semantics in which to express more complex ..."
Abstract

Cited by 22 (4 self)
 Add to MetaCart
. We present an algebraic formalization of the notion of mixin module, i.e. a module where the definition of some components is deferred . Moreover, we define a set of basic operators for composing mixin modules, intended to be a kernel language with clean semantics in which to express more complex operators of existing modular languages, including variants of inheritance in object oriented programming. The semantics of the operators is given in an "institution independent" way, i.e. is parameterized on the semantic framework modeling the underlying core language. Introduction One of the major contributions of object oriented programming has been the discover of inheritance as primary mean for incremental software development. In object oriented languages, an heir class can extend the definition of the parent class adding new methods, as well as redefining old methods, overriding their preceding definitions (sometimes the precedence is given to the parent, see [7]). Note that, since ...
An Algebra of Mixin Modules
 WADT '97 12th Workshop on Algebraic Development Techniques  Selected Papers
, 1997
"... Mixins are modules which may contain deferred components, i.e. components not defined in the module itself, and allow definitions to be overridden. We give an axiomatic definition of a set of operations for mixin combination, corresponding to a variety of constructs existing in programming languages ..."
Abstract

Cited by 13 (6 self)
 Add to MetaCart
Mixins are modules which may contain deferred components, i.e. components not defined in the module itself, and allow definitions to be overridden. We give an axiomatic definition of a set of operations for mixin combination, corresponding to a variety of constructs existing in programming languages (merge, hiding, overriding, functional composition, ...). In particular, we show that they can all be expressed in terms of three primitive operations (namely, sum, reduct and freeze), which are characterized by a small set of axioms. We show that the given axiomatization is sound w.r.t. to a model provided in some preceding work. Finally, we prove the existence of a normal form for mixin expressions.
A UnifiedAlgebrabased Specification Language for Symbolic Computing
, 1993
"... A precise and perspicuous specification of mathematical domains of computation and their inherently related type inference mechanisms is a prerequisite for the design and systematic development of a system for symbolic computing. This paper describes Formal, a language for giving modular and wellst ..."
Abstract

Cited by 9 (6 self)
 Add to MetaCart
A precise and perspicuous specification of mathematical domains of computation and their inherently related type inference mechanisms is a prerequisite for the design and systematic development of a system for symbolic computing. This paper describes Formal, a language for giving modular and wellstructured specifications of such domains and particularly of "mathematical objects". A novel framework for algebraic specification involving socalled "unified algebras" has been adopted, where sorts are treated as values. The adoption of this framework aims also at being capable of specifying polymorphism, unifying the notions of "parametric" and "inclusion" polymorphisms. Furthermore, the operational nature of the specification formalisms allows a straightforward transformation into an executable form.
On the Role of Category Theory in the Area of Algebraic Specifications
 In LNCS , Proc. WADT11
, 1996
"... . The paper summarizes the main concepts and paradigms of category theory and explores some of their applications to the area of algebraic specifications. In detail we discuss different approaches to an abstract theory of specification logics. Further we present a uniform framework for developing pa ..."
Abstract

Cited by 9 (2 self)
 Add to MetaCart
. The paper summarizes the main concepts and paradigms of category theory and explores some of their applications to the area of algebraic specifications. In detail we discuss different approaches to an abstract theory of specification logics. Further we present a uniform framework for developing particular specification logics. We make use of `classifying categories', to present categories of algebras as functor categories and to obtain necessary basic results for particular specification logics in a uniform manner. The specification logics considered are: equational logic for total algebras, conditional equational logic for partial algebras, and rewrite logic for concurrent systems. 1 Category Theory and Applications in Computer Science Category theory has been developed as a mathematical theory over 50 years and has influenced not only almost all branches of structural mathematics but also the development of several areas of computer science. It is the aim of this paper to review t...
A Formal Framework with Late Binding
 Fundamental Approaches to Software Engineering  Second International Conference, FASE'99
, 1999
"... We define a specification formalism (formally, an institution) which provides a notion of dynamic type (the type which is associated to a term by a particular evaluation) and late binding (the fact that the function version to be invoked in a function application depends on the dynamic type of one o ..."
Abstract

Cited by 7 (1 self)
 Add to MetaCart
We define a specification formalism (formally, an institution) which provides a notion of dynamic type (the type which is associated to a term by a particular evaluation) and late binding (the fact that the function version to be invoked in a function application depends on the dynamic type of one or more arguments). Hence, it constitutes a natural formal framework for modeling objectoriented and other dynamicallytyped languages and a basis for adding to them a specification level. In this respect, the main novelty is the capability of writing axioms related to a given type which are not required to hold for subtypes, hence can be "overridden" in further refinements, thus lifting at the specification level the possibility of reusing code which is offered by the objectoriented approach.
Composition by Colimit and Formal Software Development
, 2006
"... Abstract. Goguen emphasized long ago that colimits are how to compose systems [7]. This paper corroborates and elaborates Goguen’s vision by presenting a variety of situations in which colimits can be mechanically applied to support software development by refinement. We illustrate the use of colimi ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
Abstract. Goguen emphasized long ago that colimits are how to compose systems [7]. This paper corroborates and elaborates Goguen’s vision by presenting a variety of situations in which colimits can be mechanically applied to support software development by refinement. We illustrate the use of colimits to support automated datatype refinement, algorithm design, aspect weaving, and security policy enforcement. 1
Kan Extensions of Institutions
"... GB92] to formally capture the notion of logical system. Interpreting institutions as functors, and morphisms and representations of institutions as natural transformations, we give elegant proofs for the completeness of the categories of institutions with morphisms and representations, respectively, ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
GB92] to formally capture the notion of logical system. Interpreting institutions as functors, and morphisms and representations of institutions as natural transformations, we give elegant proofs for the completeness of the categories of institutions with morphisms and representations, respectively, show that the duality between morphisms and representations of institutions comes from an adjointness between categories of functors, and prove the cocompleteness of the categories of institutions over small signatures with morphisms and representations, respectively. Category: F.3, F.4