94 research outputs found

    OPTIMIX language report for OPTIMIX 7.0

    Get PDF
    This is the language manual for OPTIMIX, the optimizer generator. It can be used generate program analyses and transformations. Its input language is based on DATALOG and graph rewriting. Especially two new classes of graph rewrite systems are used: edge addition rewrite systems (EARS) and stratified graph rewrite systems are used: edge addition rewrite systems (EARS) and stratified graph rewrite systems (stratified GRS). OPTIMIX has been developed in the Esprit project COMPARE (NO. 5399). It is currently not free and can be used only in the context of the CoSy compiler framework. For a licence, contact the author or [email protected]

    A tutorial for Optimix

    Get PDF
    OPTIMIX is a tool for generating algorithms which construct and transform directed relational graphs. In particular, it facilitates many tasks in program compilation and optimization. OPTIMIX\u27s input language allows to specify graph queries which localize analysis information as well as graph rewrite systems which describem transformations. The generator type-checks the rewrite systems with a graph data model and tests whether they fulfil a termination criterion. This report explains the advantages of the OPTIMIX specification language for compiler writers and demonstrates that OPTIMIX can be applied to three major problem classes of program rewriting: graph reachability problems, context-sensitive pattern match problems, and mark/transform problems

    Meta-programming composers in 2nd generation component systems

    Get PDF
    Future component systems will require that components can be composed flexibly. In contrast to current systems which only support a fixed set of composition mechanisms, the component system should provide a composition language in which users can define their own specific composers. It is argued for an object-oriented setting that this will be possible by meta-programming the class-graph. Composers will be based on two important elements. First, they will express coupling by graph-based operators which transform parts of the class-graph (coupling design patterns). Second, during these transformations, elementary meta-operators will be used to transform data and code, rearranging slots and methods of parameter-components. Thus during their reuse, components are queried by introspection and transformed by meta-programming. Composers that use meta-programming generalize connectors in architectural languages. Hence they encapsulate context-dependent aspects of a system, and make components independent of their embedding context. Since meta-programming composers may change behavior of components transparently, meta-programming composers will lead to a nice form of grey-box reuse, which supports embedding of components (and classes) into application contexts in a new and flexible way

    OPTIMIX language manual (version 2.5)

    Get PDF
    This is the language manual for OPTIMIX version 2.5, the optimizer generator. OPTIMIX can be used to generate program analyses and transformations. Its input language is based on Datalog and graph rewriting. Especially two new classes of graph rewrite systems are used: edge addition rewrite systems (EARS) and exhaustive graph rewrite systems (XGRS)

    AOP with design patterns as meta-programming operators

    Get PDF

    Using Cloud Technologies to Optimize Data-Intensive Service Applications

    Get PDF
    The role of data analytics increases in several application domains to cope with the large amount of captured data. Generally, data analytics are data-intensive processes, whose efficient execution is a challenging task. Each process consists of a collection of related structured activities, where huge data sets have to be exchanged between several loosely coupled services. The implementation of such processes in a service-oriented environment offers some advantages, but the efficient realization of data flows is difficult. Therefore, we use this paper to propose a novel SOA-aware approach with a special focus on the data flow. The tight interaction of new cloud technologies with SOA technologies enables us to optimize the execution of data-intensive service applications by reducing the data exchange tasks to a minimum. Fundamentally, our core concept to optimize the data flows is found in data clouds. Moreover, we can exploit our approach to derive efficient process execution strategies regarding different optimization objectives for the data flows

    Prototypical composition ontology for rule-based languages

    Get PDF
    This paper presents an ontology for the composition of rule-based ontology languages. Since typing compositions is an important issue, the ontology consists of components: two upperlevel ontologies, the metamodel of the ontology language, and a metamodel of reuse constructs that play an important role in composition. With the interplay of these components, type-safe composition of ontology components can be achieved.peer-reviewe

    Language concepts and design patterns

    Get PDF
    Programming languages aim at the construction of simple but expressive programs. To achieve this, plenty of language concepts have arisen over time. Design patterns aim at the solution of common design problems. To achieve this, plenty of approved design concepts have been collected. We claim that language concepts and design patterns are essentially the same. Indeed, a language may offer a design pattern as a language concept; we call such patterns "language patterns". A design pattern can be implemented in terms of other design or language patterns. Since a concrete programming language only supports a subset of language patterns, every other pattern must be expressed in terms of this subset. We call such an implementation a "workaround". The specification of a workaround imposes proof obligations: it must be shown that a workaround simulates the pattern. Once proved correct, we can collect patterns and their workarounds in a trustworthy catalogue. This helps software developers to correctly apply patterns in any language and helps the language designer to decide which patterns to put into the language core. We demonstrate this pattern integration process with well-known design patterns and concepts of object-oriented languages. Additionally, we list important language patterns together with their workarounds

    A Novel Optical Beam Concept for Producing Coherent Synchrotron Radiation with Large Energy Spread Beams

    Get PDF
    Up to now two FEL concepts are known in conventional accelerators: 1.) In THz lasers an off-crest cavity adds a chirp to the bunch followed by a bunch compressor. Particles with different energies travel on different trajectories to the radiator. 2.) For EUV and X-ray FELs the beam enters an undulator which produces microbunches which then radiate. In this paper it is proposed to copy the THz laser scheme for EUV lasers. The incoming beam is chirped and a dogleg forces afterwards the particles with different energies to move on different parallel trajectories. Considering a detector plane perpendicular to the trajectories the particles with different energies arrive in general at different times. When in this plane for instance a TGU (Transverse Gradient Undulator) is positioned the emitted radiation in the TGU is monochromatic. If in addition chirp and dogleg are selected in such a way that the particles with different energies arrive at the same time at the entrance of the TGU the radiation is monochromatic and coherent similar to the THz laser concept
    • …
    corecore