61170880
The DBMS watcher's field guide to COMDEX
159149811
Workgroup kingpin
173123777
What's new in DataFlex 2.2
61999192
Dataflex multi-user features
16619694
Simpler Reasoning About System Properties: a Proof-by-Refinement Technique
Proofs about system specifications are difficult to conduct, particularly for large specifications. Using abstraction and refinement, we propose a proof technique that simplifies these proofs. We apply the technique to Circus (a combination of Z and CSP) specifications of different complexities. Interestingly, all the proofs are conducted in Z, even those concerning reactive behaviour.
60099974
Ravenscar-Java: a high-integrity profile for real-time Java: Research Articles
For many, Java is the antithesis of a high-integrity programming language. Its combination of object-oriented programming features, its automatic garbage collection, and its poor support for real-time multi-threading are all seen as particular impediments. The Real-Time Specification for Java has introduced many new features that help in the real-time domain. However, the expressive power of these features means that very complex programming models can be created, necessitating complexity in the supporting real-time virtual machine. Consequently, Java, with the real-time extensions as they stand, seems too complex for confident use in high-integrity systems. This paper presents a Java profile for the development of software-intensive high-integrity real-time systems. This restricted programming model removes language features with high overheads and complex semantics, on which it is hard to perform timing and functional analyses. The profile fits within the J2ME framework and is consistent with well-known guidelines for high-integrity software development, such as those defined by the U.S. Nuclear Regulatory Commission. Copyright © 2005 John Wiley & Sons, Ltd.
13416870
Type-Constrained Generics for Z
We propose an extension to Z whereby generic parameters may have their types partially constrained. Using this mechanism it becomes possible to define in Z much of its own schema calculus and refinement rules.
36419235
CICS Project Report: Experiences and Results from the use of Z in IBM
This paper describes some experiences and results arising from the use of Z in two major projects at the Hursley Park laboratory of IBM 1 United Kingdom Laboratories Ltd. The first project involved the use of Z in the development of a major new release of IBM's transaction processing system CICS 1 (Customer Information Control System), while the second project is a more recent one, concerning the formal specification of the CICS Application Programming Interface (API). The version of CICS which used Z in its development process was released to selected customers on an Early Support Programme in June 1989, and was made generally available in June 1990. Many process measurements were made during the development of the product, and early results show an encouraging improvement in quality, particularly in the parts of the release that were formally specified. The API specification project involved the description of an already existing interface, currently described informally in various manuals in the CICS library. Since this is purely a specification project, no figures are available for the success of the work in terms of reduction of errors, but the motivation for and experiences from the work are described below. Thus this report concentrates on describing results from the use of Z for the development of the CICS product, and experiences from the use of Z for the specification of the CICS API.
34278284
Exits in the refinement calculus
Although many programming languages contain exception handling mechanisms, their formal treatment — necessary for rigorous development — can be complex. Nevertheless, this paper presents a simple incorporation ofexit commands and exception blocks into a rigorous program development method. The refinement calculus, chosen for the exercise, is a method of developing imperative programs. It is based on weakest preconditions, although they are not used explicitly during program construction; they merely justify the general method. In the style of the refinement calculus, program development laws are given that introduce and allow the manipulation ofexits. The soundness of the new laws is shown using weakest preconditions (as for the existing refinement calculus laws). The extension of weakest preconditions needed to handleexits is a variation on earlier work of Cristian; the variation is necessary to handle nondeterminism.