66 research outputs found

    Intelligent life

    Get PDF
    None provided

    High-level real-time programming in Java

    Full text link
    Real-time systems have reached a level of complexity beyond the scaling capability of the low-level or restricted languages traditionally used for real-time programming. While Metronome garbage collection has made it practical to use Java to implement real-time systems, many challenges remain for the construction of complex real-time systems, some specic to the use of Java and others simply due to the change in scale of such systems. The goal of our research is the creation of a comprehensive Java-based programming environment and methodology for the creation of complex real-time systems. Our goals include construction of a provably correct real-time garbage collec-tor capable of providing worst case latencies of 100 s, capa-ble of scaling from sensor nodes up to large multiprocessors; specialized programming constructs that retain the safety and simplicity of Java, and yet provide sub-microsecond la-tencies; the extension of Java's \write once, run anywhere" principle from functional correctness to timing behavior; on-line analysis and visualization that aids in the understanding of complex behaviors; and a principled probabilistic analy-sis methodology for bounding the behavior of the resulting systems. While much remains to be done, this paper describes the progress we have made towards these goals

    High-Performance Transactional Event Processing

    Get PDF
    Abstract. This paper presents a transactional framework for low-latency, high-performance, concurrent event processing in Java. At the heart of our framework lies Reflexes, a restricted programming model for highly responsive systems. A Reflex task is an event processor that can run at a higher priority and preempt any other Java thread, including the garbage collector. It runs in an obstruction-free manner with time-oblivious code. We extend Reflexes with a publish/subscribe communication system, itself based on an optimistic transactional event processing scheme, that provides efficient coordination between time-critical, low-latency tasks.We report on the comparison with a commercial JVM, and show that it is possible for tasks to achieve 50 µs response times with way less than 1% of the executions failing to meet their deadlines.

    JIT-Based cost analysis for dynamic program transformations

    Get PDF
    Tracing JIT compilation generates units of compilation that are easy to analyse and are known to execute frequently. The AJITPar project investigates whether the information in JIT traces can be used to dynamically transform programs for a specific parallel architecture. Hence a lightweight cost model is required for JIT traces. This paper presents the design and implementation of a system for extracting JIT trace information from the Pycket JIT compiler. We define three increasingly parametric cost models for Pycket traces. We determine the best weights for the cost model parameters using linear regression. We evaluate the effectiveness of the cost models for predicting the relative costs of transformed programs

    Self-Trapped Excitons in Ionic-Covalent Silver Halide Crystals and Nanostructures: High-Frequency EPR, ESE, ENDOR and ODMR Studies

    Get PDF
    Silver halides have unique features in solid state physics because their properties are considered to be of borderline nature between ionic and covalent bonding. In AgCl, the self-trapped hole (STH) is centered and partly trapped in the cationic sublattice, forming an Ag2+ ion inside of a (AgCl6)4− complex as a result of the Jahn–Teller distortion. The STH in AgCl can capture an electron from the conduction band forming the self-trapped exciton (STE). Recent results of a study of STE by means of high-frequency electron paramagnetic resonance, electron spin echo, electron–nuclear double resonance (ENDOR) and optically detected magnetic resonance (ODMR) are reviewed. The properties of the STE in AgCl crystals, such as exchange coupling, the ordering of the triplet and singlet sublevels, the dynamical properties of the singlet and triplet states, and the hyperfine interaction with the Ag and Cl (Br) nuclei are discussed. Direct information about the spatial distribution of the wave function of STE unpaired electrons was obtained by ENDOR. From a comparison with the results of an ENDOR study of the shallow electron center and STH, it is concluded that the electron is mainly contained in a hydrogen-like 1s orbital with a Bohr radius of 15.1 ± 0.6 Å, but near its center the electron density reflects the charge distribution of the hole. The hole of the STE is virtually identical to an isolated STH center. For AgCl nanocrystals embedded into the KCl crystalline matrix, the anisotropy of the g-factor of STE and STH was found to be substantially reduced compared with that of bulk AgCl crystals, which can be explained by a considerable suppression of the Jahn–Teller effect in nanoparticles. A study of ODMR in AgBr nanocrystals in KBr revealed spatial confinement effects and allowed estimating the nanocrystal size from the shape of the ODMR spectra

    Space profiling for parallel functional programs

    No full text
    Abstract: "This paper presents a semantic space profiler for parallel functional programs. Building on previous work in sequential profiling, our tools help programmers to relate runtime resource use back to program source code. Unlike many profiling tools, our profiler is based on a cost semantics. This provides a means to reason about performance without requiring a detailed understanding of the compiler or runtime system. It also provides a specification for language implementers. This is critical in that it enables us to separate cleanly the performance of the application from that of the language implementation. Some aspects of the implementation can have significant effects on performance. Our cost semantics enables programmers to understand the impact of different scheduling policies yet abstracts away from many of the details of their implementations. We show applications where the choice of scheduling policy has asymptotic effects on space use. We explain these use patterns through a demonstration of our tools. We also validate our methodology by observing similar performance in our implementation of a parallel extension of Standard ML.

    Principles and Practices of Software Development

    No full text
    In this paper, we aim to provide a new perspective on the methods of software development. We find most software development methodologies to be overly prescriptive; they focus primarily on what methods to use without adequate consideration of what problems are being addressed and without a comparison of different methods that apply to the same problem. We maintain that software developers can be most effective if they are provided both with a variety of methods from which to choose and with the understanding necessary to select the methods that are best suited to their project. To that end, we introduce a framework for describing the principles of software development, a vocabulary for characterizing and understanding the constraints under which software is being written. We present some principles of software development, relating them to specific problems that occur in software projects and to practices that are used to address those problems. We observe that the practices of different methodologies can be understood in terms of how they weigh the relative importance of the underlying principles. We illustrate how identifying such principles can help in selecting the most appropriate practices. We note that some of the most significant differences among methodologies arise when principles provide conflicting viewpoints. We then discuss how iterative or incremental software development practices can be used to minimize the risks that result from conflicting principles. DRAFT of August 26, 2002 2
    • …
    corecore