1,909 research outputs found

    Communicating Java Threads

    Get PDF
    The incorporation of multithreading in Java may be considered a significant part of the Java language, because it provides udimentary facilities for concurrent programming. However, we belief that the use of channels is a fundamental concept for concurrent programming. The channel approach as described in this paper is a realization of a systematic design method for concurrent programming in Java based on the CSP paradigm. CSP requires the availability of a Channel class and the addition of composition constructs for sequential, parallel and alternative processes. The Channel class and the constructs have been implemented in Java in compliance with the definitions in CSP. As a result, implementing communication between processes is facilitated, enabling the programmer to avoid deadlock more easily, and freeing the programmer from synchronization and scheduling constructs. The use of the Channel class and the additional constructs is illustrated in a simple application

    Safe and Verifiable Design of Concurrent Java Programs

    Get PDF
    The design of concurrent programs has a reputation for being difficult, and thus potentially dangerous in safetycritical real-time and embedded systems. The recent appearance of Java, whilst cleaning up many insecure aspects of OO programming endemic in C++, suffers from a deceptively simple threads model that is an insecure variant of ideas that are over 25 years old [1]. Consequently, we cannot directly exploit a range of new CASE tools -- based upon modern developments in parallel computing theory -- that can verify and check the design of concurrent systems for a variety of dangers\ud such as deadlock and livelock that otherwise plague us during testing and maintenance and, more seriously, cause catastrophic failure in service. \ud Our approach uses recently developed Java class\ud libraries based on Hoare's Communicating Sequential Processes (CSP); the use of CSP greatly simplifies the design of concurrent systems and, in many cases, a parallel approach often significantly simplifies systems originally approached sequentially. New CSP CASE tools permit designs to be verified against formal specifications\ud and checked for deadlock and livelock. Below we introduce CSP and its implementation in Java and develop a small concurrent application. The formal CSP description of the application is provided, as well as that of an equivalent sequential version. FDR is used to verify the correctness of both implementations, their\ud equivalence, and their freedom from deadlock and livelock

    CSP design model and tool support

    Get PDF
    The CSP paradigm is known as a powerful concept for designing and analysing the architectural and behavioural parts of concurrent software. Although the theory of CSP is useful for mathematicians, the programming language occam has been derived from CSP that is useful for any engineering practice. Nowadays, the concept of occam/CSP can be used for almost every object-oriented programming language. This paper describes a tree-based description model and prototype tool that elevates the use of occam/CSP concepts at the design level and performs code generation to Java, C, C++, and machine-readable CSP for the level of implementation. The tree-based description model can be used to browse through the generated source code. The tool is a kind of browser that is able to assist modern workbenches (like Borland Builder, Microsoft Visual C++ and 20-SIM) with coding concurrency. The tool will guide the user through the design trajectory using support messages and several semantic and syntax rule checks. The machine-readable CSP can be read by FDR, enabling more advanced analysis on the design. Early experiments with the prototype tool show that the browser concept, combined with the tree-based description model, enables a user-friendly way to create a design using the CSP concepts and benefits. The design tool is available from our URL, http://www.rt.el.utwente.nl/javapp

    A distributed Real-Time Java system based on CSP

    Get PDF
    CSP is a fundamental concept for developing software for distributed real time systems. The CSP paradigm constitutes a natural addition to object orientation and offers higher order multithreading constructs. The CSP channel concept that has been implemented in Java deals with single- and multi-processor environments and also takes care of the real time priority scheduling requirements. For this, the notion of priority and scheduling has been carefully examined and as a result it was reasoned that priority scheduling should be attached to the communicating channels rather than to the processes. In association with channels, a priority based parallel construct is developed for composing processes: hiding threads and priority indexing from the user. This approach simplifies the use of priorities for the object oriented paradigm. Moreover, in the proposed system, the notion of scheduling is no longer connected to the operating system but has become part of the application instead

    Guide to the Weber Vineyards Collection

    Get PDF
    The Weber Collection holds information of harvest details of the Weber Vineyards from 1984-1995. Along with a few pictures, this collection retains documents on spray programs, harvesting records, research, and finances. There is also information on day-to-day schedules of the vineyard, to-do lists, and daily notes

    Mesoscopic light transport by very strong collective multiple scattering in nanowire mats

    No full text
    Under the extreme condition of the scattering length being much shorter than the wavelength, light transport in random media is strongly modified by mesoscopic interference, and can even be halted in an effect known as Anderson localization. Anderson localization in three dimensions has recently been realized for acoustic waves and for cold atoms. Mats of disordered, high-refractive-index semiconductor nanowires are one of the strongest three-dimensional scattering materials for light, but localization has not been shown. Here, we use statistical methods originally developed for microwave waveguides to demonstrate that transport of light through nanowire mats is strongly correlated and governed by mesoscopic interference contributions. Our results confirm the contribution of only a few open modes to the transmission

    Transputer control of a flexible robot link

    Get PDF
    The applicability of transputers in control systems is investigated. This is done by implementing a controller for a flexible robot arm with one degree of freedom on a system consisting of an IBM-AT and four transputers. It is found that a control system with transputers offers a great improvement compared with conventional digital control systems. Transputers can solve the common problem in control practice, i.e. having very sophisticted controllers but not being able to implement them because they need too much computing time. However, transputers are not an optimal solution for more sophisticated control systems because of shortcomings in the scheduling mechanism

    Hybrid Superconductor-Quantum Point Contact Devices using InSb Nanowires

    Get PDF
    Proposals for studying topological superconductivity and Majorana bound states in nanowires proximity coupled to superconductors require that transport in the nanowire is ballistic. Previous work on hybrid nanowire-superconductor systems has shown evidence for Majorana bound states, but these experiments were also marked by disorder, which disrupts ballistic transport. In this letter, we demonstrate ballistic transport in InSb nanowires interfaced directly with superconducting Al by observing quantized conductance at zero-magnetic field. Additionally, we demonstrate that the nanowire is proximity coupled to the superconducting contacts by observing Andreev reflection. These results are important steps for robustly establishing topological superconductivity in InSb nanowires

    Electric-field dependent g-factor anisotropy in Ge-Si core-shell nanowire quantum dots

    Get PDF
    We present angle-dependent measurements of the effective g-factor g* in a Ge-Si core-shell nanowire quantum dot. g* is found to be maximum when the magnetic field is pointing perpendicular to both the nanowire and the electric field induced by local gates. Alignment of the magnetic field with the electric field reduces g* significantly. g* is almost completely quenched when the magnetic field is aligned with the nanowire axis. These findings confirm recent calculations, where the obtained anisotropy is attributed to a Rashba-type spin-orbit interaction induced by heavy-hole light-hole mixing. In principle, this facilitates manipulation of spin-orbit qubits by means of a continuous high-frequency electric field

    A new Java Thread model for concurrent programming of real-time systems

    Get PDF
    The Java ™ Virtual Machine (JVM) provides a high degree of platform independence, but being an interpreter, Java has a poor system performance. New compiler techniques and Java processors will gradually improve the performance of Java, but despite these developments, Java is still far from real-time. We propose the Communicating Java Threads (CJT) model, which eliminates several shortcomings, such as Java's non-deterministic behavior, Java's monitor weakness, and lack of reactiveness for real-time and embedded systems. CJT is based on CSP providing channels, composition constructs, and scheduling of processes. The CJT Java class library, which provides all necessary classes on top of Java, is readily available to interested users. The main power of the method is that it integrates these features in a natural way and in no way conflicts with other paradigms, such as PersonalJava ™, EmbeddedJava ™, JavaBeans ™, CORBA, and PVM. All activities, reported in this paper, are carried out as part of the JavaPP project
    corecore