24 research outputs found

    An on-line repository for embedded software

    Get PDF
    Abstract The use of off-the-shelf components (COTS) can significantly reduce the time and cost of developing largescale software systems. However, there are some difficult problems with the component-based approach. First, the developers have to be able to effectively retrieve components. This requires the developers to have an extensive knowledge of available components and how to retrieve them. After identifying the components, the developers also face a steep learning curve to master the use of these components. We are developing an On-line Repository for Embedded Software (ORES) to facilitate component management and retrieval. In this paper, we address the issues of designing software repository systems to assist users in obtaining appropriate components and learning to understand and use the components efficiently. We use an ontology to construct an abstract view of the organization of the components in ORES. The ontology structure facilitates repository browsing and effective sea rch. We also develop a set of tools to assist with component comprehension, including a tutorial manager and a component explorer

    Relational programs

    No full text

    Automatic Array Alignment as a Step in Hierarchical Program Transformation

    No full text
    We present an original approach to automatic array alignment, the step in the hierarchical transformation system aimed at the efficient execution of shared memory programs on distributed memory machines. Our array alignment algorithm deals with a broad set of intra-dimension and inter-dimension alignment preferences, including offsets, strides, permutations, embeddings, and their combinations. We discuss the algorithm and the tests performed on the Connection Machine CM-2. 1 Introduction The trade-off between code portability and high performance is a significant problem facing software implemented for parallel machines. We have proposed a multilayered refinement of high level, expressive parallel programs to be performed in a sequence of source-to-source program transformation steps [1]. In this paper we describe the memory transformation step. The memory transformation is applied to data parallel programs which assume shared memory. The transformation is expected to speed-up the pro..

    Attaining High Confidence in Software Reliability Assessment

    No full text
    It is a cruel reality that the goal of producing "perfect software " remains elusive. When software is part of a critical system, it is necessary to estimate the risk associated with its use. Software reliability is defined as the probability of failure free execution given a specific environment and a fixed time interval. The goal of reliability assessment is not just to estimate the failure probability of the program, `, but to gain the statistical confidence that ` is realistic. The transformational approach to software reliability assessment is a novel methodology which combines the strengths of formal verification and statistical testing in a unified and original reliability assessment framework. Program transformations and partial program proofs are used to amplify the effect of test cases; that is, they allow us to infer the behavior of the program on many inputs based on its behavior on one input. The main effect of the application of these transformations is the reduction in t..

    A Highly Safe Self-Stabilizing Mutual Exclusion Algorithm

    No full text
    Conventional self-stabilizing algorithms cannot be used for safety-critical systems due to the period of vulnerability that exists after a transient failure occurs till the system stabilizes. In this paper, we consider a highly safe self-stabilizing system where the vulnerability problem is tackled. The design principles we use to achieve this goal include sobriety test and processor specialization. Sobriety test is used to prevent the system from performing incorrect actions when the system state may be faulty. Specialization disables individual processors from making faulty moves. We have developed a self-stabilizing mutual exclusion algorithm that guarantees mutual exclusion with a very high probability even in the presence of failures. Keywords: Self-stabilization systems, mutual exclusion algorithm, fault tolerance, distributed computing. 1 Introduction The concept of self-stabilizing systems was first proposed by Dijkstra. He illustrated the concept with a cyclic relaxation alg..

    Developing Highly-Reliable Software: The MAP Approach

    No full text
    Software reliability is becoming the dominant concern in software development. This particularly holds for the development of safety-critical control systems. Any failure of these systems can result in catastrophic loss of life and property. Hence, it is essential to ensure with a high degree of confidence that these systems meet their reliability requirements prior to deploying them in the field. In this paper, we present a unified approach to the development, reliability assessment and run-time safety enhancement of process-control systems. Evolutionary program design facilitates incremental construction of software reliability MAP (Measured Assurance Prediction). MAP confidence estimates are used as run-time triggers for switching to a reduced capability backup version. The backup version is invoked if its MAP provides a higher degree of confidence in correctness than that for the primary version of the software. 1 Introduction Very few computer users have escaped problems related..

    658 Concise Papers Warm Standby in Hierarchically Structured Process-Control Programs

    No full text
    Abstract-We classify standby redundancy design space in process-control programs into the following three categories: cold standby, warm standby, and hot standby. Design parameters of warm standby are identified and the reliability of a system using warm standby is evaluated and compared with that of hot standby. Our analysis indicates that the warm standby scheme is particularly suitable for long-lived unmaintain-able systems, especially those operating in harsh environments where burst hardware failures are possible. The feasibility of warm standby is demonstrated with a simulated chemical batch reactor system. Zndex Terms-Fault tolerance, process-control, standby replacement, replication, knowledge representation, reliability assessment. I
    corecore