Results 1 - 10
of
15
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 104 (22 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...
Category-based 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 24 (10 self)
- Add to MetaCart
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 category-based approach to a paramodulation-based operational semantics for equational logic programming languages. Category-based 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 life-blood 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 14 (1 self)
- Add to MetaCart
Introduction Information is the life-blood 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
Completeness of Category-Based Equational Deduction
- Mathematical Structures in Computer Science
, 1995
"... Equational deduction is generalised within a category-based 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
Equational deduction is generalised within a category-based 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...
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, vectors, ma ..."
Abstract
-
Cited by 10 (0 self)
- Add to MetaCart
: 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 state-changing "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 ...
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
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.
Attributed Translation and the Semantics of Natural Language
- In: Jourdan, M.: Attribute Grammars and their Applications, International Conference WAGA
"... When Knuth introduced attribute grammars, he observed that although "oriented primarily towards programming languages, the same methods appear to be relevant also in the study of natural languages". We demonstrate that his intuition is computationally justifiable, based on the algebraic equivalence ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
When Knuth introduced attribute grammars, he observed that although "oriented primarily towards programming languages, the same methods appear to be relevant also in the study of natural languages". We demonstrate that his intuition is computationally justifiable, based on the algebraic equivalence of attribute grammars and Montague's theory of Universal Grammar. We discuss the relationship between attribute grammars, axiomatic theories and logic programming. We find that attribute grammars can be used to encode an algebraic specification of a natural language, attributed translation used to compute representations of the `meaning' of a sentence at different levels of abstraction, and that the specifications can be implemented as logic programs. We illustrate the application of non-deterministic attributed translation to natural language by the specification of a subset of Montague's ptq, including a treatment of some semantic ambiguities. 1 Introduction When Knuth introduced Attribut...
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 3 (0 self)
- Add to MetaCart
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...

