Results 1  10
of
20
A Hidden Agenda
 Theoretical Computer Science
, 2000
"... This paper publicly reveals, motivates, and surveys the results of an ambitious hidden agenda for applying algebra to software engineering. The paper reviews selected literature, introduces a new perspective on nondeterminism, and features powerful hidden coinduction techniques for proving behaviora ..."
Abstract

Cited by 136 (23 self)
 Add to MetaCart
This paper publicly reveals, motivates, and surveys the results of an ambitious hidden agenda for applying algebra to software engineering. The paper reviews selected literature, introduces a new perspective on nondeterminism, and features powerful hidden coinduction techniques for proving behavioral properties of concurrent systems, especially renements; some proofs are given using OBJ3. We also discuss where modularization, bisimulation, transition systems and combinations of the object, logic, constraint and functional paradigms t into our hidden agenda. 1 Introduction Algebra can be useful in many dierent ways in software engineering, including specication, validation, language design, and underlying theory. Specication and validation can help in the practical production of reliable programs, advances in language design can help improve the state of the art, and theory can help with building new tools to increase automation, as well as with showing correctness of the whole e...
Proving Correctness Of Refinement And Implementation
, 1996
"... The notions of state and observable behaviour are fundamental to many areas of computer science. Hidden sorted algebra, an extension of many sorted algebra, captures these notions through hidden sorts and the behavioural satisfaction of equations. This makes it a powerful formalisation of abstract m ..."
Abstract

Cited by 28 (4 self)
 Add to MetaCart
The notions of state and observable behaviour are fundamental to many areas of computer science. Hidden sorted algebra, an extension of many sorted algebra, captures these notions through hidden sorts and the behavioural satisfaction of equations. This makes it a powerful formalisation of abstract machines, and many results suggest that it is also suitable for the semantics of the object paradigm. Another extension of many sorted algebra, namely order sorted algebra, has proved useful in system specification and prototyping because of the way it handles subtypes and errors. The combination of these two algebraic approaches, hidden order sorted algebra, has also been proposed as a foundation for object paradigm, and has much promise as a foundation for Software Engineering. This paper extends recent work on hidden order sorted algebra by investigating the refinement and implementation of hidden order sorted specifications. We present definitions of refinement and implementation for suc...
Categorybased Semantics for Equational and Constraint Logic Programming
, 1994
"... This thesis proposes a general framework for equational logic programming, called categorybased equational logic by placing the general principles underlying the design of the programming language Eqlog and formulated by Goguen and Meseguer into an abstract form. This framework generalises equation ..."
Abstract

Cited by 25 (10 self)
 Add to MetaCart
(Show Context)
This thesis proposes a general framework for equational logic programming, called categorybased equational logic by placing the general principles underlying the design of the programming language Eqlog and formulated by Goguen and Meseguer into an abstract form. This framework generalises equational deduction to an arbitrary category satisfying certain natural conditions; completeness is proved under a hypothesis of quantifier projectivity, using a semantic treatment that regards quantifiers as models rather than variables, and regards valuations as model morphisms rather than functions. This is used as a basis for a model theoretic categorybased approach to a paramodulationbased operational semantics for equational logic programming languages. Categorybased equational logic in conjunction with the theory of institutions is used to give mathematical foundations for modularisation in equational logic programming. We study the soundness and completeness problem for module imports i...
An Oxford Survey of Order Sorted Algebra
 MATHEMATICAL STRUCTURES IN COMPUTER SCIENCE
, 1994
"... ..."
Software Engineering with OBJ: algebraic specification in practice
 Jouannaud, Introducing OBJ, in: J. Goguen, G. Malcolm (Eds.), Software
, 1992
"... Introduction Information is the lifeblood of modern society. It is largely controlled, distributed and manipulated through software systems that drive communications networks, mediate financial transactions and operate databases of almost anything from recipes, through vehicle registrations and co ..."
Abstract

Cited by 22 (1 self)
 Add to MetaCart
Introduction Information is the lifeblood of modern society. It is largely controlled, distributed and manipulated through software systems that drive communications networks, mediate financial transactions and operate databases of almost anything from recipes, through vehicle registrations and corporate finances, to criminal records. These systems range in scope from personal organizers to networks that girdle the earth. They control access to buildings, allow researchers to communicate results and share ideas, format documents such as financial reports and this book; they monitor and control particle accelerators, production lines, nuclear reactors, satellite trajectories and ballistic missiles, as well as cash dispensers and the family car brakes. Participating in society without encountering such systems is as difficult as cutting a pound of flesh from a man's breast without shedding a jot of blood. Information can be effectively recorded, controlled and used only insofar
Hidden Algebra for Software Engineering
 PROCEEDINGS COMBINATORICS, COMPUTATION AND LOGIC
, 1999
"... This paper is an introduction to recent research on hidden algebra and its application to software engineering; it is intended to be informal and friendly, but still precise. We first review classical algebraic specification for traditional "Platonic" abstract data types like integers, ve ..."
Abstract

Cited by 14 (0 self)
 Add to MetaCart
(Show Context)
This paper is an introduction to recent research on hidden algebra and its application to software engineering; it is intended to be informal and friendly, but still precise. We first review classical algebraic specification for traditional "Platonic" abstract data types like integers, vectors, matrices, and lists. Software engineering also needs changeable "abstract machines," recently called "objects," that can communicate concurrently with other objects through visible "attributes" and statechanging "methods." Hidden algebra is a new development in algebraic semantics designed to handle such systems. Equational theories are used in both cases, but the notion of satisfaction for hidden algebra is behavioral, in the sense that equations need only appear to be true under all possible experiments; this extra flexibility is needed to accommodate the clever implementations that software engineers often use to conserve space and/or time. The most important results in hidden algebra are ...
Completeness of CategoryBased Equational Deduction
 Mathematical Structures in Computer Science
, 1995
"... Equational deduction is generalised within a categorybased abstract model theory framework, and proved complete under a hypothesis of quantifier projectivity, using a semantic treatment that regards quantifiers as models rather than variables, and regards valuations as model morphisms rather tha ..."
Abstract

Cited by 13 (7 self)
 Add to MetaCart
(Show Context)
Equational deduction is generalised within a categorybased abstract model theory framework, and proved complete under a hypothesis of quantifier projectivity, using a semantic treatment that regards quantifiers as models rather than variables, and regards valuations as model morphisms rather than functions. Applications include many and order sorted [conditional] equational logics, Horn clause logic, equational deduction modulo a theory, constraint logics, and more, as well as any possible combination among them. In the cases of equational deduction modulo a theory and of constraint logic the completeness result is new. One important consequence is an abstract version of Herbrand's Theorem, which provides an abstract model theoretic foundations for equational and constraint logic programming. 1 Introduction A uniform treatment of the model theory of classical equational logic is now possible due to the comprehensive development of categorical universal algebra; without any c...
Tossing Algebraic Flowers down the Great Divide
 In People and Ideas in Theoretical Computer Science
, 1999
"... Data Types and Algebraic Semantics The history of programming languages, and to a large extent of software engineering as a whole, can be seen as a succession of ever more powerful abstraction mechanisms. The first stored program computers were programmed in binary, which soon gave way to assembly l ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
(Show Context)
Data Types and Algebraic Semantics The history of programming languages, and to a large extent of software engineering as a whole, can be seen as a succession of ever more powerful abstraction mechanisms. The first stored program computers were programmed in binary, which soon gave way to assembly languages that allowed symbolic codes for operations and addresses. fortran began the spread of "high level" programming languages, though at the time it was strongly opposed by many assembly programmers; important features that developed later include blocks, recursive procedures, flexible types, classes, inheritance, modules, and genericity. Without going into the philosophical problems raised by abstraction (which in view of the discussion of realism in Section 4 may be considerable), it seems clear that the mathematics used to describe programming concepts should in general get more abstract as the programming concepts get more abstract. Nevertheless, there has been great resistance to u...
Stretching First Order Equational Logic: Proofs with Partiality, Subtypes and Retracts
 Proceedings, Workshop on First Order Theorem Proving
, 1998
"... It is widely recognized that equational logic is simple, (relatively) decidable, and (relatively) easily mechanized. But it is also widely thought that equational logic has limited applicability because it cannot handle subtypes or partial functions. We show that a modest stretch of equational logic ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
(Show Context)
It is widely recognized that equational logic is simple, (relatively) decidable, and (relatively) easily mechanized. But it is also widely thought that equational logic has limited applicability because it cannot handle subtypes or partial functions. We show that a modest stretch of equational logic effectively handles these features. Space limits preclude a full theoretical treatment, so we often sketch, motivate and exemplify.