Results 1  10
of
10
Notes on postmodern programming
 Proceedings of the Onward Track at Oopsla 02, the ACM conference on ObjectOriented Programming, Systems, Languages and Applications
, 2002
"... The ultimate goal of all computer science is the program. The performance of programs was once the noblest function of computer science, and computer science was indispensable to great programs. Today, programming and computer science exist in complacent isolation, and can only be rescued by the con ..."
Abstract

Cited by 10 (4 self)
 Add to MetaCart
(Show Context)
The ultimate goal of all computer science is the program. The performance of programs was once the noblest function of computer science, and computer science was indispensable to great programs. Today, programming and computer science exist in complacent isolation, and can only be rescued by the conscious cooperation and collaboration of all programmers. The universities were unable to produce this unity; and how indeed, should they have done so, since creativity cannot be taught? Designers, programmers and engineers must once again come to know and comprehend the composite character of a program, both as an entity and in terms of its various parts. Then their work will be filled with that true software spirit which, as “theory of computing”, it has lost. Universities must return to programming. The worlds of the formal methods and algorithm analysis, consisting only of logic and mathematics, must become once again a world in which things are built. If the young person who rejoices in creative activity now begins his career as in the older days by learning to program, then the unproductive “scientist ” will no longer be condemned to inadequate science, for their skills will be preserved for the programming in which they can achieve great things. Designers, programmers, engineers, we must all return to programming! There is no essential difference between the computer scientist and the programmer. The computer scientist is an exalted programmer. By the grace of Heaven and in rare moments of inspiration which transcend the will, computer science may unconsciously blossom from the labour of the hand, but a base in programming is essential to every computer scientist. It is there that the original source of creativity lies. Let us therefore create a new guild of programmers without the classdistinctions that raise an arrogant barrier between programmers and computer scientists! Let us desire, conceive, and create the new program of the future together. It will combine design, userinterfaces, and programming in a single form, and will one day rise towards the heavens from the hands of a million workers as the crystalline symbol of a new and coming faith. 1 1
An Analysis of Total Correctness Refinement Models for Partial Relation Semantics II
, 2000
"... This is the second in a series of papers devoted to the thorough investigation of (total correctness) refinement based on an underlying partial relational model. This paper investigates operation refinement and datarefinement based on a weakest precondition interpretation for specifications whose s ..."
Abstract

Cited by 9 (7 self)
 Add to MetaCart
This is the second in a series of papers devoted to the thorough investigation of (total correctness) refinement based on an underlying partial relational model. This paper investigates operation refinement and datarefinement based on a weakest precondition interpretation for specifications whose semantics is given by partial relations. We consider three refinement theories based on a weakest precondition interpretation for partial relation semantics: an operation refinement theory, and theories characterising datarefinement with forward and backward simulations. We show that each of these is equivalent to a (corresponding) modeltheoretic refinement theory that is based on the standard approach involving relational completion operators. In addition, we demonstrate that each of the three is also equivalent to a (corresponding) prooftheoretic notion of refinement.
Operation Refinement and Monotonicity in the Schema Calculus
, 2003
"... The schema calculus of Z provides a means for expressing structured, modular specifications. Extending this modularity to program development requires the monotonicity of these operators with respect to refinement. This paper provides a thorough mathematical analysis of monotonicity with respect ..."
Abstract

Cited by 7 (5 self)
 Add to MetaCart
The schema calculus of Z provides a means for expressing structured, modular specifications. Extending this modularity to program development requires the monotonicity of these operators with respect to refinement. This paper provides a thorough mathematical analysis of monotonicity with respect to four schema operations for three notions of operation refinement. The mathematical connection between the equational schema logic and monotonicity is discussed and evaluated.
Modular reasoning in Z: scrutinising monotonicity and refinement
, 2004
"... The schema calculus operators of Z provide an excellent means for expressing modular specifications but not for undertaking modular reasoning: it is wellknown that these operators have poor monotonicity properties. The paper addresses three topics in this context: first, we provide a thorough mathe ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
The schema calculus operators of Z provide an excellent means for expressing modular specifications but not for undertaking modular reasoning: it is wellknown that these operators have poor monotonicity properties. The paper addresses three topics in this context: first, we provide a thorough mathematical analysis of monotonicity with respect to four schema operations and for three notions of operation refinement. Second, we provide a comprehensive analysis of the relational completion operator, known as liftedtotalisation, that underlies the standard notion of refinement in Z. Third, we provide a new semantics which induces a fully monotonic schema calculus.
Refining Exceptions in FourValued Logic?
, 2009
"... Abstract. This paper discusses refinement of programs that may raise and catch exceptions. We show that exceptions are expressed by a class of predicate transformers built on Arieli and Avron’s fourvalued logic and develop a refinement framework for the fourvalued predicate transformers. The resu ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Abstract. This paper discusses refinement of programs that may raise and catch exceptions. We show that exceptions are expressed by a class of predicate transformers built on Arieli and Avron’s fourvalued logic and develop a refinement framework for the fourvalued predicate transformers. The resulting framework enjoys several refinement laws that are useful for stepwise refinement of programs involving exception handling and partial predicates. We demonstrate some typical usages of the refinement laws in the proposed framework by a few examples of program transformation. 1
Modular Refinement in Novel Schema Calculi
 In APSEC 2003
"... Using the language Z for more than specification is hindered by the fact that its algebra of schemas is not monotonic with respect to refinement; so specification is modular, but development is not. In this paper we isolate the reasons why Z suffers from these problems and we describe alternative mo ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
Using the language Z for more than specification is hindered by the fact that its algebra of schemas is not monotonic with respect to refinement; so specification is modular, but development is not. In this paper we isolate the reasons why Z suffers from these problems and we describe alternative models for specifications and schema operations which are monotonic. This leads us to explore a number of theoretical and pragmatic questions: the former concern logics for modular refinement; the latter explore the use of novel schema calculi in practice. 1
Safe Modification of Pointer Programs in Refinement Calculus
"... Abstract. This paper discusses stepwise refinement of pointer programs in the framework of refinement calculus. We augment the underlying logic with formulas of separation logic and then introduce a pair of new predicate transformers, called separating assertion and separating assumption. The new ..."
Abstract
 Add to MetaCart
Abstract. This paper discusses stepwise refinement of pointer programs in the framework of refinement calculus. We augment the underlying logic with formulas of separation logic and then introduce a pair of new predicate transformers, called separating assertion and separating assumption. The new predicate transformers are derived from separating conjunction and separating implication, which are fundamental logical connectives in separation logic. They represent primitive forms of heap allocation/deallocation operators and the basic pointer statements can be specified by means of them. We derive several refinement laws that are useful for stepwise refinement and demonstrate the use of the laws in the context of correctness preserving transformations that are intended for improved memory usage. The formal development is carried out in the framework of higherorder logic and is based on Back and Preoteasa’s axiomatization of state space and its extension to the heap storage [BP05, Pre06]. All the results have been implemented and verified in the theorem prover PVS. 1
robert,kjx¡
, 2002
"... The ultimate goal of all computer science is the program. The performance of programs was once the noblest function of computer science, and computer science was indispensable to great programs. Today, programming and computer science exist in complacent isolation, and can only be rescued by the con ..."
Abstract
 Add to MetaCart
(Show Context)
The ultimate goal of all computer science is the program. The performance of programs was once the noblest function of computer science, and computer science was indispensable to great programs. Today, programming and computer science exist in complacent isolation, and can only be rescued by the conscious cooperation and collaboration of all programmers. The universities were unable to produce this unity; and how indeed, should they have done so, since creativity cannot be taught? Designers, programmers and engineers must once again come to know and comprehend the composite character of a program, both as an entity and in terms of its various parts. Then their work will be filled with that true software spirit which, as “theory of computing”, it has lost. Universities must return to programming. The worlds of the formal methods and algorithm analysis, consisting only of logic and mathematics, must become once again a world in which things are built. If the young person who rejoices in creative activity now begins his career as in the older days by learning to program, then the unproductive “scientist ” will no longer be condemned to inadequate science, for their skills will be preserved for the programming in which they can achieve great things. Designers, programmers, engineers, we must all return to programming! There is no essential difference between the computer scientist and the programmer. The computer scientist is an exalted programmer. By the grace of Heaven and in rare moments of inspiration which transcend the will, computer science may unconsciously blossom from the labour of the hand, but a base in programming is essential to every computer scientist. It is there that the original source of creativity lies. Let us therefore create a new guild of programmers without the classdistinctions that raise an arrogant barrier between programmers and computer scientists! Let us desire, conceive, and create the new program of the future together. It will combine design, userinterfaces, and programming in a single form, and will one day rise towards the heavens from the hands of a million workers as the crystalline symbol of a new and coming faith. 1