4,733 research outputs found

    An overview of the ciao multiparadigm language and program development environment and its design philosophy

    Full text link
    We describe some of the novel aspects and motivations behind the design and implementation of the Ciao multiparadigm programming system. An important aspect of Ciao is that it provides the programmer with a large number of useful features from different programming paradigms and styles, and that the use of each of these features can be turned on and off at will for each program module. Thus, a given module may be using e.g. higher order functions and constraints, while another module may be using objects, predicates, and concurrency. Furthermore, the language is designed to be extensible in a simple and modular way. Another important aspect of Ciao is its programming environment, which provides a powerful preprocessor (with an associated assertion language) capable of statically finding non-trivial bugs, verifying that programs comply with specifications, and performing many types of program optimizations. Such optimizations produce code that is highly competitive with other dynamic languages or, when the highest levéis of optimization are used, even that of static languages, all while retaining the interactive development environment of a dynamic language. The environment also includes a powerful auto-documenter. The paper provides an informal overview of the language and program development environment. It aims at illustrating the design philosophy rather than at being exhaustive, which would be impossible in the format of a paper, pointing instead to the existing literature on the system

    Autonomic log/restore for advanced optimistic simulation systems

    Get PDF
    In this paper we address state recoverability in optimistic simulation systems by presenting an autonomic log/restore architecture. Our proposal is unique in that it jointly provides the following features: (i) log/restore operations are carried out in a completely transparent manner to the application programmer, (ii) the simulation-object state can be scattered across dynamically allocated non-contiguous memory chunks, (iii) two differentiated operating modes, incremental vs non-incremental, coexist via transparent, optimized run-time management of dual versions of the same application layer, with dynamic selection of the best suited operating mode in different phases of the optimistic simulation run, and (iv) determinationof the best suited mode for any time frame is carried out on the basis of an innovative modeling/optimization approach that takes into account stability of each operating mode vs variations of the model execution parameters. © 2010 IEEE

    Monitoring extensions for component-based distributed software

    Get PDF
    This paper defines a generic class of monitoring extensions to component-based distributed enterprise software. Introducing a monitoring extension to a legacy application system can be very costly. In this paper, we identify the minimum support for application monitoring within the generic components of a distributed system, necessary for rapid development of new monitoring extensions. Furthermore, this paper offers an approach for design and implementation of monitoring extensions at reduced cost. A framework of basic facilities supporting the monitoring extensions is presented. These facilities handle different aspects critical to the monitoring process, such as ordering of the generated monitoring events, decoupling of the application components from the components of the monitoring extensions, delivery of the monitoring events to multiple consumers, etc.\ud The work presented in this paper is being validated in the prototype of a large distributed system, where a specific monitoring extension is built as a tool for debugging and testing the application behaviour.\u

    Proton tracking in a high-granularity Digital Tracking Calorimeter for proton CT purposes

    Get PDF
    Radiation therapy with protons as of today utilizes information from x-ray CT in order to estimate the proton stopping power of the traversed tissue in a patient. The conversion from x-ray attenuation to proton stopping power in tissue introduces range uncertainties of the order of 2-3% of the range, uncertainties that are contributing to an increase of the necessary planning margins added to the target volume in a patient. Imaging methods and modalities, such as Dual Energy CT and proton CT, have come into consideration in the pursuit of obtaining an as good as possible estimate of the proton stopping power. In this study, a Digital Tracking Calorimeter is benchmarked for proof-of-concept for proton CT purposes. The Digital Tracking Calorimeteris applied for reconstruction of the tracks and energies of individual high energy protons. The presented prototype forms the basis for a proton CT system using a single technology for tracking and calorimetry. This advantage simplifies the setup and reduces the cost of a proton CT system assembly, and it is a unique feature of the Digital Tracking Calorimeter. Data from the AGORFIRM beamline at KVI-CART in Groningen in the Netherlands and Monte Carlo simulation results are used to in order to develop a tracking algorithm for the estimation of the residual ranges of a high number of concurrent proton tracks. The range of the individual protons can at present be estimated with a resolution of 4%. The readout system for this prototype is able to handle an effective proton frequency of 1 MHz by using 500 concurrent proton tracks in each readout frame, which is at the high end range of present similar prototypes. A future further optimized prototype will enable a high-speed and more accurate determination of the ranges of individual protons in a therapeutic beam.Comment: 21 pages, 8 figure

    Extending and Implementing the Self-adaptive Virtual Processor for Distributed Memory Architectures

    Get PDF
    Many-core architectures of the future are likely to have distributed memory organizations and need fine grained concurrency management to be used effectively. The Self-adaptive Virtual Processor (SVP) is an abstract concurrent programming model which can provide this, but the model and its current implementations assume a single address space shared memory. We investigate and extend SVP to handle distributed environments, and discuss a prototype SVP implementation which transparently supports execution on heterogeneous distributed memory clusters over TCP/IP connections, while retaining the original SVP programming model
    • …
    corecore