Results 1 
4 of
4
A Categorical Manifesto
 Mathematical Structures in Computer Science
, 1991
"... : This paper tries to explain why and how category theory is useful in computing science, by giving guidelines for applying seven basic categorical concepts: category, functor, natural transformation, limit, adjoint, colimit and comma category. Some examples, intuition, and references are given for ..."
Abstract

Cited by 99 (5 self)
 Add to MetaCart
: This paper tries to explain why and how category theory is useful in computing science, by giving guidelines for applying seven basic categorical concepts: category, functor, natural transformation, limit, adjoint, colimit and comma category. Some examples, intuition, and references are given for each concept, but completeness is not attempted. Some additional categorical concepts and some suggestions for further research are also mentioned. The paper concludes with some philosophical discussion. 0 Introduction This paper tries to explain why category theory is useful in computing science. The basic answer is that computing science is a young field that is growing rapidly, is poorly organised, and needs all the help it can get, and that category theory can provide help with at least the following: ffl Formulating definitions and theories. In computing science, it is often more difficult to formulate concepts and results than to give a proof. The seven guidelines of this paper can h...
Institution Morphisms
, 2001
"... Institutions formalize the intuitive notion of logical system, including syntax, semantics, and the relation of satisfaction between them. Our exposition emphasizes the natural way that institutions can support deduction on sentences, and inclusions of signatures, theories, etc.; it also introduces ..."
Abstract

Cited by 58 (18 self)
 Add to MetaCart
Institutions formalize the intuitive notion of logical system, including syntax, semantics, and the relation of satisfaction between them. Our exposition emphasizes the natural way that institutions can support deduction on sentences, and inclusions of signatures, theories, etc.; it also introduces terminology to clearly distinguish several levels of generality of the institution concept. A surprising number of different notions of morphism have been suggested for forming categories with institutions as objects, and an amazing variety of names have been proposed for them. One goal of this paper is to suggest a terminology that is uniform and informative to replace the current chaotic nomenclature; another goal is to investigate the properties and interrelations of these notions in a systematic way. Following brief expositions of indexed categories, diagram categories, twisted relations, and Kan extensions, we demonstrate and then exploit the duality between institution morphisms in the original sense of Goguen and Burstall, and the "plain maps" of Meseguer, obtaining simple uniform proofs of completeness and cocompleteness for both resulting categories. Because of this duality, we prefer the name "comorphism" over "plain map;" moreover, we argue that morphisms are more natural than comorphisms in many cases. We also consider "theoroidal" morphisms and comorphisms, which generalize signatures to theories, based on a theoroidal institution construction, finding that the "maps" of Meseguer are theoroidal comorphisms, while theoroidal morphisms are a new concept. We introduce "forward" and "seminatural" morphisms, and develop some of their properties. Appendices discuss institutions for partial algebra, a variant of order sorted algebra, two versions of hidden algebra, and...
Testing Linear Temporal Logic Formulae on Finite Execution Traces
, 2001
"... We present a rewriting algorithm for efficiently testing Linear Temporal Logic (LTL) formulae on finite execution traces. The standard models of LTL are infinite traces, reflecting the behavior of reactive and concurrent systems which conceptually may be continuously alive. In most past applications ..."
Abstract

Cited by 12 (6 self)
 Add to MetaCart
We present a rewriting algorithm for efficiently testing Linear Temporal Logic (LTL) formulae on finite execution traces. The standard models of LTL are infinite traces, reflecting the behavior of reactive and concurrent systems which conceptually may be continuously alive. In most past applications of LTL, theorem provers and model checkers have been used to formally prove that downscaled models satisfy such LTL specifications. Our goal is instead to use LTL for upscaled testing of real software applications, corresponding to analyzing the conformance of finite traces against LTL formulae. We first describe what it means for a finite trace to satisfy an LTL property and then suggest an optimized algorithm based on transforming LTL formulae. We use Maude, which turns out to be a good notation and an efficient rewriting engine for performing these experiments.
Towards a New Way of Parameterization
"... Classical approaches to parameterization in axiomatic specification languages require the user to explicitly handle specification instantiation. This often makes specifications less readable and manageable. We therefore present a new parameterization mechanism which allows implicit instantiation. Ho ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
Classical approaches to parameterization in axiomatic specification languages require the user to explicitly handle specification instantiation. This often makes specifications less readable and manageable. We therefore present a new parameterization mechanism which allows implicit instantiation. However, since this mechanism is less powerful as the first one we show how to combine them to achieve both elegance and power. We included both mechanisms in the specification language Spectrum.