Results 1 
4 of
4
An ObjectOriented Refinement Calculus
, 2000
"... Designbycontract has been used in the BON/Eiffel setting as an industrialstrength technique for building reliable, reusable, and maintainable software systems. We show that it provides a basis for refining objectoriented specifications to programs on an industrial scale. We present a collectio ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
(Show Context)
Designbycontract has been used in the BON/Eiffel setting as an industrialstrength technique for building reliable, reusable, and maintainable software systems. We show that it provides a basis for refining objectoriented specifications to programs on an industrial scale. We present a collection of algorithm refinement rules, in particular, new rules for introducing feature calls (which are the basis of objectoriented computing) that can be used to refine a specification in BON to an immediately executable and correct program in Eiffel. We show how refinement of large systems can be decomposed into an arbitrary number of small steps. And we describe how automated support for such a process can be developed based on existing tools.
Formal Aspects of Computing ERC – An objectoriented refinement calculus for Eiffel
"... Abstract. We present a refinement calculus for transforming objectoriented (OO) specifications (or ‘contracts’) of classes into executable Eiffel programs. The calculus includes the usual collection of algorithmic refinement rules for assignments, ifstatements, and loops. However, the calculus als ..."
Abstract
 Add to MetaCart
Abstract. We present a refinement calculus for transforming objectoriented (OO) specifications (or ‘contracts’) of classes into executable Eiffel programs. The calculus includes the usual collection of algorithmic refinement rules for assignments, ifstatements, and loops. However, the calculus also deals with some of the specific challenges of OO, namely rules for introducing feature calls and reference types (involving aliasing). The refinement process is compositional in the sense that a class specification is refined to code based only on the specifications (not the implementations) of the classes that the specification depends upon. We discuss how automated support for such a process can be developed based on existing tools. This work is done in the context of a larger project involving methods for the seamless design of OO software in the graphical design notation BON (akin to UML). The goal is to maintain model and source code integrity, i.e., the software developer can work on either the model or the code, where (ideally) changes in one view are reflected instantaneously and automatically in all views.
Under consideration for publication in Formal Aspects of Computing The Variety of Variables in Automated RealTime Refinement
, 2002
"... Keywords: Computeraided programming; Program refinement theory; Realtime programming ..."
Abstract
 Add to MetaCart
(Show Context)
Keywords: Computeraided programming; Program refinement theory; Realtime programming
Under consideration for publication in Formal Aspects of Computing Linear Approximation of ExecutionTime Constraints
"... Abstract. This paper defines an algorithm for predicting worstcase and bestcase execution times, and determining executiontime constraints of controlflow paths through realtime programs using their partial correctness semantics. The algorithm produces a linear approximation of path traversal co ..."
Abstract
 Add to MetaCart
Abstract. This paper defines an algorithm for predicting worstcase and bestcase execution times, and determining executiontime constraints of controlflow paths through realtime programs using their partial correctness semantics. The algorithm produces a linear approximation of path traversal conditions, worstcase and bestcase execution times and strongest postconditions for timed paths in abstract realtime programs. Also shown are techniques for determining the set of controlflow paths with decidable worstcase and bestcase execution times. The approach is based on a weakest liberal precondition semantics and relies on supremum and infimum calculations similar to standard computations from linear programming and Presburger arithmetic. The methodology is applicable to any executable language with a predicate transformer semantics and hence provides a verification basis for both high level language and assembly code executiontime analysis. Keywords: Realtime program analysis; Controlflow analysis; Timing prediction; Worstcase and bestcase execution times; Automatic constraint determination.