Results 1  10
of
13
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 21 (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
Social and Semiotic Analyses for Theorem Prover User Interface Design
 Formal Aspects of Computing
, 1999
"... We describe an approach to user interface design based on ideas from social science, narratology (the theory of stories), cognitive science, and a new area called algebraic semiotics. Social analysis helps to identify certain roles for users with their associated requirements, and suggests ways to m ..."
Abstract

Cited by 19 (11 self)
 Add to MetaCart
(Show Context)
We describe an approach to user interface design based on ideas from social science, narratology (the theory of stories), cognitive science, and a new area called algebraic semiotics. Social analysis helps to identify certain roles for users with their associated requirements, and suggests ways to make proofs more understandable, while algebraic semiotics, which combines semiotics with algebraic specification, provides rigorous theories for interface functionality and for a certain technical notion of quality. We apply these techniques to designing user interfaces for a distributed cooperative theorem proving system, whose main component is a website generation and proof assistance tool called Kumo. This interface integrates formal proving, proof browsing, animation, informal explanation, and online background tutorials, drawing on a richer than usual notion of proof. Experience with using the interface is reported, and some conclusions are drawn.
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 12 (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 5 (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
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.
A userinterface for KnuthBendix completion
 In 4th Workshop on User Interfaces for Theorem Provers (UITP'98
, 1998
"... Introduction The KnuthBendix completion procedure, or more precisely the family of completion procedures, is at the heart of algebraic theorem proving and equational programming. In a theorem proving setting, it can be used for solving the word problem in a given algebra (is s equal to t modulo so ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
(Show Context)
Introduction The KnuthBendix completion procedure, or more precisely the family of completion procedures, is at the heart of algebraic theorem proving and equational programming. In a theorem proving setting, it can be used for solving the word problem in a given algebra (is s equal to t modulo some given equations ?) by first trying to determine a convergent rewrite system equivalent to the equations and then rewriting using these rewrite rules. It also provides a semidecision procedure for solving arbitrary equations (unfailing completion [2]). In a programming environment, it can be seen as a program transformation technique for constructing programs with desired properties (usually convergence, confluence or coherence [10, 16]). Equational programming, or its generalization rewriting logic, is a very high level specification language with a direct operational counterpart, ie. specifications are immediately executable as long as the
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...
Verification
"... The dynamic nature of web service compositions demands continuous monitoring of the quality of the provided service, as perceived by the client. We focus here on monitoring functionality of conversational services, whose behavior depends on the local state resulting from the clientservice interacti ..."
Abstract
 Add to MetaCart
(Show Context)
The dynamic nature of web service compositions demands continuous monitoring of the quality of the provided service, as perceived by the client. We focus here on monitoring functionality of conversational services, whose behavior depends on the local state resulting from the clientservice interaction. We propose a monitoring approach based on an algebraic specification language and we show how this can be integrated into a runtime monitoring architecture. Categories and Subject Descriptors
Z Family on the Web with Their UML Photos
, 2001
"... Recent effort and success in formal methods have been concentrated on building `heavy' tools support, such as theorem provers and model checkers. Although those tools are essential and important for applications of formal methods, in order to achieve wider acceptance, it's necessary to dev ..."
Abstract
 Add to MetaCart
Recent effort and success in formal methods have been concentrated on building `heavy' tools support, such as theorem provers and model checkers. Although those tools are essential and important for applications of formal methods, in order to achieve wider acceptance, it's necessary to develop `light' weight tools, such as web browser environment for formal specifications and projection/translation tools from formal specifications to popular industry graphical design notations. In this paper, we firstly develop web environment and browsing facilities (based on XML) for Z family languages, and then introduce techniques (based on XMI) for projecting (objectoriented) Z models to UML diagrams.
Annals of Software Engineering 13, 329356, 2002
"... This paper addresses two issues: how formal object modeling techniques facilitate the XML application development and how XML technology helps formal/graphical software design process. In particular, the paper presents a XML/XSL approach to the development of a web environment for Z family languages ..."
Abstract
 Add to MetaCart
This paper addresses two issues: how formal object modeling techniques facilitate the XML application development and how XML technology helps formal/graphical software design process. In particular, the paper presents a XML/XSL approach to the development of a web environment for Z family languages (Z/ObjectZ/TCOZ). The projection techniques and tools from objectoriented Z (in XML) to UML (in XMI) are developed using XSL Transformations (XSLT). Furthermore, objectoriented Z is used to specify and design the essential functionalities of the web environment and the projection tools to UML. In a sense, the paper also demonstrates a formal object approach to modeling XML applications.