26 research outputs found

    Generation of distributed supervisors for parallel compilers

    Get PDF
    This paper presents a new approach towards solving the combination and communication problems between different compiler tasks. As optimizations may generate as well as destroy application conditions of other tasks a carefully chosen application order is important for the effectiveness of the compiler system. Each task is solved by exactly one implementation (engine) and is characterized by its input-output behaviour and an optional heuristics. The specification of all tasks in this manner allows the generation of distributed supervisors for the whole compilation system. The result is a clear semantics of the compiler behaviour during compilation and the separation of algorithm and communication. Software engineering advantages are the easy integration of independently developed parts and the reusability of code. The flexibility of such a compiler system results in high portability even across hardware architectures and topologies

    On-line Searching in Simple Polygons

    No full text
    In this paper we study the problem of a robot searching for a visually recognizable target in an unknown simple polygon. We present two algorithms. Both work for arbitrarily oriented polygons. The search cost is proportional to the distance traveled by the robot. We use competitive analysis to judge the performance of our strategies. The first one is a simple modification of Djikstra's shortest path algorithm and achieves a competitive ratio of 2n \Gamma 7 where n is the number of vertices of the polygon. The second strategy achieves a competitive ratio of 1 + 2 \Delta (2k) 2k =(2k \Gamma 1) 2k\Gamma1 if the polygon is k-spiral. This can be shown to be optimal. It is based on an optimal algorithm to search in geometric trees which is also presented in this paper. Consider a geometric tree with m leaves and a target hidden somewhere in the tree. The target can only be detected if the robot reaches the location of the target. We provide an algorithm that achieves a competitive ratio ..

    Transformations of Evolving Algebras

    No full text
    We give a precise definition of evolving algebras as nondeterministic, mathematical machines. All proofs in the paper are based on this definition. First we define constant propagation as a transformation on evolving algebras. Then we extend evolving algebras by macro definitions and define folding and unfolding transformations for macros. Next we introduce a simple transformation to flatten transition rules. Finally a pass separation transformation for evolving algebras is presented For all transformations the operational equivalence of the resulting algebras with the original algebras is proven. In the case of pass separation, we show, that the results of the computations in the original and the transformed evolving algebra are equal. Next we apply pass separation to a simple interpreter. Finally a comparison to other work is given. Contents 1 Introduction 3 2 Syntactic-sugar free EvAs 3 3 Computations of EvAs 3 4 Constant Propagation 4 5 Macro Definitions 5 6 Unfolding Macros 5 7 F..

    Generating Analyzers with PAG

    No full text
    interpretation. These algorithms are rather complex � their implementation is therefore a non{trivial task and error{prone. However, since they are based on a common theory, theyhave large similar parts. We conclude that analyzer writing better should be replaced with analyzer generation. We present the tool PAG that has a high level functional input language to specify data ow analyses. It o ers the speci cation of even recursive data structures and is therefore not limited to bit vector problems. PAG generates e cient analyzers which can be easily integrated in existing compilers. The analyzers are interprocedural, they can handle recursive procedures with local variables and higher order functions. PAG has successfully been tested by generating several analyzers (e.g. alias analysis, constant propagation, interval analysis) for an industrial quality ANSI-C and Fortran90 compiler. This technical report consists of two parts � the rst introduces the generation system and the second evaluates generated analyzers with respect to their space and time consumption

    An Efficient Data Replication Management Architecture Exploiting the Separation of Policy and Mechanism

    No full text
    The management of replicated data in a distributed system is a difficult task. In order to ease the pain, we developed an architecture for data replication whose key concept is the separation of policy and mechanism. One of the major advantages of such an architecture is the fact, that -- once the mechanism is implemented -- new data replication strategies can be introduced into the network just by specifying the new policy. The resulting strategy, assumed that the general mechanism is already implemented, then is immediately executable. We briefly explain a flexible framework for data replication strategies called General Structured Voting which is part of our architecture and is based on such a separation. Additionally, we demonstrate that the specification of policies can be highly supported by using suited tools: a graphical editor allows the interactive design of new policies by a human expert whereas an automatic designer works independently once the properties of the desired pol..
    corecore