106,981 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

    Integrated testing and verification system for research flight software design document

    Get PDF
    The NASA Langley Research Center is developing the MUST (Multipurpose User-oriented Software Technology) program to cut the cost of producing research flight software through a system of software support tools. The HAL/S language is the primary subject of the design. Boeing Computer Services Company (BCS) has designed an integrated verification and testing capability as part of MUST. Documentation, verification and test options are provided with special attention on real time, multiprocessing issues. The needs of the entire software production cycle have been considered, with effective management and reduced lifecycle costs as foremost goals. Capabilities have been included in the design for static detection of data flow anomalies involving communicating concurrent processes. Some types of ill formed process synchronization and deadlock also are detected statically

    A bunch of sessions:a propositions-as-sessions interpretation of bunched implications in channel-based concurrency

    Get PDF
    The emergence of propositions-as-sessions, a Curry-Howard correspondence between propositions of Linear Logic and session types for concurrent processes, has settled the logical foundations of message-passing concurrency. Central to this approach is the resource consumption paradigm heralded by Linear Logic. In this paper, we investigate a new point in the design space of session type systems for message-passing concurrent programs. We identify O’Hearn and Pym’s Logic of Bunched Implications (BI) as a fruitful basis for an interpretation of the logic as a concurrent programming language. This leads to a treatment of non-linear resources that is radically different from existing approaches based on Linear Logic. We introduce a new π-calculus with sessions, called πBI; its most salient feature is a construct called spawn, which expresses new forms of sharing that are induced by structural principles in BI. We illustrate the expressiveness of πBI and lay out its fundamental theory: type preservation, deadlock-freedom, and weak normalization results for well-typed processes; an operationally sound and complete typed encoding of an affine λ-calculus; and a non-interference result for access of resources

    Deadlock Analysis of Wait-Notify Coordination

    Get PDF
    International audienceDeadlock analysis of concurrent programs that contain coordination primitives (wait, notify and notifyAll) is notoriously challenging. Not only these primitives affect the scheduling of processes, but also notifications unmatched by a corresponding wait are silently lost. We design a behavioral type system for a core calculus featuring shared objects and Java-like coordination primitives. The type system is based on a simple language of object protocols-called usages-to determine whether objects are used reliably, so as to guarantee deadlock freedom

    Structured Performance Analysis for Component Based Systems

    Get PDF
    International audienceThe Component Based System (CBS) paradigm is now largely used to design software systems. In addition, performance and behavioural analysis remains a required step for the design and the construction of efficient systems. This is especially the case of CBS, which involve interconnected components running concurrent processes. % This paper proposes a compositional method for modeling and structured performance analysis of CBS. Modeling is based on Stochastic Well-formed Nets (SWN), a high level model of Stochastic Petri nets, widely used for dependability analysis of concurrent systems. Starting from the definition of the system given in a suitable Architecture Description Language, and from the definition of the elementary components, we build an SWN of the global system together with a set of SWNs modeling the components of the CBS and their connections. From these models, we derive performances of the system thanks to a structured analysis induced by the structure of the CBS. We describe the application of our method through an example designed in the framework of the CORBA Component Model

    The Dark Side of Concurrent Design: A Story of Improvisations, Workarounds, Nonsense and Success

    Get PDF
    The Concurrent Design is a powerful way to harmonize the work of many specialists in an iterative manner, especially in the early phases of a development project. Several agencies and industry in the space sector as well as related academic institutions are applying this Systems Engineering methodology increasingly for the last two decades. Concurrent Design is a customer-oriented, result-driven approach which facilitates both creativity and structured processes by continuously guided and highly-interactive working sessions. It is a serious business in which efficiency and effectiveness are given high priority in order to reduce time and cost of the design activity. All of this is true. However, what happens when you put between 15 and 30 very well educated people in one room? What happens when mechanical engineers instantly have to use a model-based systems engineering tool although their last software course was Fortran and took place about 20 years ago? How does it end if four different nationalities discuss in a fifth language (i.e. English) the various applicable methods for option selection- and decision making processes in a study. And can you imagine what happens if scientists talk to engineers (and vice versa) about the minimum required and maximum desired scientific output of an exploration mission? It could go into chaos. But it does not need to. The present paper describes a set of e.g. technical, infrastructural, social and cultural issues, which may rise and rose already in Concurrent Design studies. It points out the major important steps of how to handle them in general, based on experiences. Special attention is given to the fact, that with such a diverse set-up of experts, using various (new) tools within a complex multi-media environment, the key is a good atmosphere amongst the people and the awareness that the dark side of concurrent engineering could appear everywhere and should be turned into: fun
    • …
    corecore