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.
16789057
Assessment of the Java programming language for use in high integrity systems
This paper sets a goal of investigating the use of Java in the development of high integrity systems. Based on previous studies, guidelines, and standards, we develop 23 criteria that are used for the following assessment of Java. A summary of the assessment is provided before we go on to review a few existing subsets of the language.
15608055
Software iSCSI over iWARP on a General Purpose CPU
In this paper, we evaluate the performance of a software iSCSI initiator over a software iWARP stack. Through measurements and simulations, we quantify the protocol processing costs of the iSER, Verbs, and iSCSI control layers in the fast path. We project the stack performance at a micro-benchmark level, by combining these costs with the protocol processing costs associated with a software iWARP stack developed at Intel. Our implementation is based on the Datamover architecture. This allows us to compare the performance of the stack with an alternative iSCSI solution that we implemented on a TCP/IP transport stack. We present quantitative data comparing the two stacks by evaluating them with respect to different processing components like control processing, data placement, copy, and CRC. Our data shows that for software-only initiators, both stacks achieve equivalent performance for common iSCSI I/O sizes. Our results demonstrate that software iSCSI over iWARP on a general-purpose CPU does not carry a significant performance penalty over traditional software iSCSI Therefore, future iSCSI-based storage over IP networks can benefit from the efficiency of RNIC-based storage targets while deploying a software iWARP stack for client storage initiators
5897834
‘The Standard Logic for Z’: A Clarification
Abstract. Some clarification is made of a recent article in Formal Aspects of Computing [Hen98]. Specifically, it is noted that the inconsistency found is in a draft logic, which is clearly unfinished. The latest news of the position of the Z Standards Panel on a logic for Z is given.
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.
63453716
A database program generator for Turbo Pascal
159149811
Workgroup kingpin
61999192
Dataflex multi-user features
181027586
High-speed thrills
173123777
What's new in DataFlex 2.2