4,583 research outputs found

    A post-placement side-effect removal algorithm

    Get PDF
    Side-effects are widely believed to impede program comprehension and have a detrimental effect upon software maintenance. This paper introduces an algorithm for side-effect removal which splits the side-effects into their pure expression meaning and their state-changing meaning. Symbolic execution is used to determine the expression meaning, while transformation is used to place the state-changing part in a suitable location in a transformed version of the program. This creates a program which is semantically equivalent to the original but guaranteed to be free from side-effects. The paper also reports the results of an empirical study which demonstrates that the application of the algorithm causes a significant improvement in program comprehension

    From 3D Models to 3D Prints: an Overview of the Processing Pipeline

    Get PDF
    Due to the wide diffusion of 3D printing technologies, geometric algorithms for Additive Manufacturing are being invented at an impressive speed. Each single step, in particular along the Process Planning pipeline, can now count on dozens of methods that prepare the 3D model for fabrication, while analysing and optimizing geometry and machine instructions for various objectives. This report provides a classification of this huge state of the art, and elicits the relation between each single algorithm and a list of desirable objectives during Process Planning. The objectives themselves are listed and discussed, along with possible needs for tradeoffs. Additive Manufacturing technologies are broadly categorized to explicitly relate classes of devices and supported features. Finally, this report offers an analysis of the state of the art while discussing open and challenging problems from both an academic and an industrial perspective.Comment: European Union (EU); Horizon 2020; H2020-FoF-2015; RIA - Research and Innovation action; Grant agreement N. 68044

    Three dimensional numerical relativity: the evolution of black holes

    Full text link
    We report on a new 3D numerical code designed to solve the Einstein equations for general vacuum spacetimes. This code is based on the standard 3+1 approach using cartesian coordinates. We discuss the numerical techniques used in developing this code, and its performance on massively parallel and vector supercomputers. As a test case, we present evolutions for the first 3D black hole spacetimes. We identify a number of difficulties in evolving 3D black holes and suggest approaches to overcome them. We show how special treatment of the conformal factor can lead to more accurate evolution, and discuss techniques we developed to handle black hole spacetimes in the absence of symmetries. Many different slicing conditions are tested, including geodesic, maximal, and various algebraic conditions on the lapse. With current resolutions, limited by computer memory sizes, we show that with certain lapse conditions we can evolve the black hole to about t=50Mt=50M, where MM is the black hole mass. Comparisons are made with results obtained by evolving spherical initial black hole data sets with a 1D spherically symmetric code. We also demonstrate that an ``apparent horizon locking shift'' can be used to prevent the development of large gradients in the metric functions that result from singularity avoiding time slicings. We compute the mass of the apparent horizon in these spacetimes, and find that in many cases it can be conserved to within about 5\% throughout the evolution with our techniques and current resolution.Comment: 35 pages, LaTeX with RevTeX 3.0 macros. 27 postscript figures taking 7 MB of space, uuencoded and gz-compressed into a 2MB uufile. Also available at http://jean-luc.ncsa.uiuc.edu/Papers/ and mpeg simulations at http://jean-luc.ncsa.uiuc.edu/Movies/ Submitted to Physical Review
    • …
    corecore