Results 1 
9 of
9
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...
Extra Theory Morphisms for Institutions: logical semantics for multiparadigm languages
, 1996
"... We extend the ordinary concept of theory morphism in institutions to extra theory morphisms. Extra theory morphism map theories belonging to different institutions across institution morphisms. We investigate the basic mathematical properties of extra theory morphisms supporting the semantics of log ..."
Abstract

Cited by 29 (8 self)
 Add to MetaCart
We extend the ordinary concept of theory morphism in institutions to extra theory morphisms. Extra theory morphism map theories belonging to different institutions across institution morphisms. We investigate the basic mathematical properties of extra theory morphisms supporting the semantics of logical multiparadigm languages, especially structuring specifications (module systems) a la OBJClear. They include model reducts, free constructions (liberality), colimits, model amalgamation (exactness), and inclusion systems. We outline a general logical semantics for languages whose semantics satisfy certain "logical" principles by extending the institutional semantics developed within the ClearOBJ tradition. Finally, in the Appendix, we briefly illustrate it with the concrete example of CafeOBJ. Keywords Algebraic specification, Institutions, Theory morphism. AMS Classifications 68Q65, 18C10, 03G30, 08A70 2 1 Introduction Computing Motivation This work belongs to the research are...
Logical Foundations of CafeOBJ
 Theoretical Computer Science
"... This paper surveys the logical and mathematical foundations of CafeOBJ, which is a successor of the famous algebraic specification language OBJ but adding several new primitive paradigms such as behavioural concurrent specification and rewriting logic. We first give a concise overview of CafeOBJ. T ..."
Abstract

Cited by 15 (1 self)
 Add to MetaCart
(Show Context)
This paper surveys the logical and mathematical foundations of CafeOBJ, which is a successor of the famous algebraic specification language OBJ but adding several new primitive paradigms such as behavioural concurrent specification and rewriting logic. We first give a concise overview of CafeOBJ. Then we focus on the actual logical foundations of the language at two different levels: basic specification and structured specification, including also the definition of the CafeOBJ institution. We survey some novel or more classical theoretical concepts supporting the logical foundations of CafeOBJ together with pointing to the main results but without giving proofs and without discussing all mathematical details. Novel theoretical concepts include the coherent hidden algebra formalism and its combination with rewriting logic, and Grothendieck (or fibred) institutions. However for proofs and for some of the mathematical details not discussed here we give pointers to relevant publications. ...
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 ...
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...
Hidden Algebraic Engineering
 Conference on Semigroups and Algebraic Engineering
, 1997
"... : This paper outlines a research programme in algebraic engineering. It starts with a review of classical algebraic specification for abstract data types, such as integers, vectors, booleans, and lists. Software engineering also needs abstract machines, recently called "objects," that can ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
: This paper outlines a research programme in algebraic engineering. It starts with a review of classical algebraic specification for abstract data types, such as integers, vectors, booleans, and lists. Software engineering also needs abstract machines, recently called "objects," that can communicate concurrently with other objects, and that have local states with visible "attributes" that are changed by inputs. Hidden algebra is a new development in algebraic semantics for such systems; its most important results are powerful hidden coinduction principles for proving behavioral properties, especially behavioral refinement. 1 Introduction In view of the title of this conference, I should confess to being an algebraic engineer in (perhaps) the following four different senses: 1. I use algebra to build real software systems. 2. I build huge algebras to help build software systems. 3. I build software tools to help deal with these huge algebras. 4. I build new kinds of algebra, to get be...
WRLA 2000 Preliminary Version Modal Logic for Rewriting Theories
"... We view models of rewrite theories enriched with observations coalgebraically. This allows us on the one hand to use “off the shelf ” logics for coalgebras to specify and, on the other hand, to verify properties of rewriting programs and to obtain results about the expressive power of such languages ..."
Abstract
 Add to MetaCart
(Show Context)
We view models of rewrite theories enriched with observations coalgebraically. This allows us on the one hand to use “off the shelf ” logics for coalgebras to specify and, on the other hand, to verify properties of rewriting programs and to obtain results about the expressive power of such languages. 1
On Refinement in Rewriting Logic
, 1998
"... Rewriting logic [Mes92] is a logic of action, whose models are concurrent systems and whose deduction is concurrent computation. Refinement is the process of moving from one specification to another, more concrete, specification which displays the same behaviour. In this paper we investigate what th ..."
Abstract
 Add to MetaCart
Rewriting logic [Mes92] is a logic of action, whose models are concurrent systems and whose deduction is concurrent computation. Refinement is the process of moving from one specification to another, more concrete, specification which displays the same behaviour. In this paper we investigate what this process is when we deal with rewrite specifications. 1 Introduction Rewriting logic (RWL) [Mes92, Mes93, MFW92] differs from the standard logics, as first or higherorder logics, by the fact that it is a logic of change whose models are concurrent systems, and whose deduction is concurrent computation in such systems. A concurrent system  as model of the rewriting logic  is formalized as a category with algebraic structure whose objects are states of the system and whose morphisms are transitions in the system. In [Mes92] it is shown that diverse models of concurrency can be expressed and unified within rewriting logic. Following [MG96, GM97], refinement is the process of moving from ...
WRLA 2000 Preliminary Version Modal Logic for Rewriting Theories
"... Abstract We view models of rewrite theories enriched with observations coalgebraically. This allows us on the one hand to use "off the shelf " logics for coalgebras to specify and, on the other hand, to verify properties of rewriting programs and to obtain results about the express ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract We view models of rewrite theories enriched with observations coalgebraically. This allows us on the one hand to use &quot;off the shelf &quot; logics for coalgebras to specify and, on the other hand, to verify properties of rewriting programs and to obtain results about the expressive power of such languages. 1 Introduction Rewriting Logic has been proposed as a unifying framework for many different styles of programming language semantics (see [20,19]). The Maude language (see [4,3]) provides an implementation of (a sublanguage of) rewriting logic. This puts forward the question of a language, which can be used to specify properties of rewriting programs and, in turn, to verify these properties.