| Uwe Amann. Graph Rewrite Systems For Program Optimization. Technical Report RR-2955, INRIA Rocquencourt, 1996. |
....method. Before we detail GRS based AOP, some basic terminology of graph rewriting has to be presented. 2. 1 Graph Rewrite Systems From the many variants of graph rewrite system in the literature, we choose relational graph rewriting, in which graphs uniformly represent components and aspects [A#m96a] Nodes represent entities of components and aspects, and are linked by multiple relations. As opposed to general graph rewriting [EKL90] it is not required to deal with multigraphs since relations represent predicates over the entities, and a predicate holds or does not hold [A#m96a] ....
....and aspects [A#m96a] Nodes represent entities of components and aspects, and are linked by multiple relations. As opposed to general graph rewriting [EKL90] it is not required to deal with multigraphs since relations represent predicates over the entities, and a predicate holds or does not hold [A#m96a] Relational graph rewriting relies on the following denitions. A context free pattern is a nite connected graph. A context sensitive pattern is a graph of at least two disconnected subgraphs. A host graph is the graph to be rewritten by a graph rewrite system. A redex is a subgraph of the host ....
[Article contains additional citation context not shown here]
Uwe A#mann. Graph Rewrite Systems For Program Optimization. Technical Report RR-2955, INRIA Rocquencourt, 1996.
....to run the optimizations. However, they do not provide a method for exploiting mutually beneficial transformations: when cyclic interactions are found between optimizations, a linear order is still chosen, based on experimental results or on the perceived importance of the optimizations. Assmann [3, 4] has developed a technique for uniformly specifying analyses and transformations using graph rewrite rules which trigger based on pattern matching. An analysis is defined by rewrite rules that add edges to the graph, thus creating a relation which encodes the analysis results. Transformations are ....
Uwe Assmann. Graph rewrite systems for program optimization. ACM Transactions on Programming Languages and Systems, 22(4):583--637, 2000.
....host graph, the input of the GRS. The GRS recognizes pattern instances (occurences of the rule patterns, also redexes) and applies the given transformations. A detailed description of GRSs can be found in [5] 2.2 Optimix There are different implementations of GRSs available. GREAT uses Optimix [3], developed in a PhD thesis [2] for the implementation of compiler optimizers. Optimix is not bound to a specific graph structure, but can, given a graph description, work on every graph. Out of a given graph structure and a set of rewriterules, Optimix generates for every rule a Java method, that ....
....get resulting nodes for (Enumeration e = resultSet.elements( e.hasMoreElements( Entity[ entities = Entity[ e. nextElement( Clazz c1 = Clazz)entities[0] Association a1 = Association)entities[1] Interface i1 = Interface)entities[2] Implementation e1 = Implementation)entities[3]; Clazz c2 = Clazz)entities[4] Association a2 = Association)entities[5] Clazz c3 = Clazz)entities[6] create a direct association btw c1 and c3 trafo.newAssociation(c1, c3) remove pattern elements trafo.removeAssociation(a1) trafo.removeAssociation(a2) ....
[Article contains additional citation context not shown here]
Uwe Assmann. Graph Rewrite Systems for Program Optimization. In ACM Transactions on programming Languages and Systems (TOPLAS), volume 22, 4. ACM Press, New York, NY, USA, 2000.
....systems (XGRS) The development of OPTIMIX has partially been supported by the Esprit project COMPARE (No. 5399) The tool is not in the public domain; however, a free version can be ordered from the author. It is highly recommended that the user first reads the papers [Am94] Am95] Am96b] [Am96a] [ Am96a] and [ are available with the OPTIMIX package. 1.1 Design procedure for an optimizer In order to generate optimizer parts with OPTIMIX we propose the following procedure [Am96b] 1. Write down all preconditions for a transformation, perhaps in text. 2. Define the data model ....
....The development of OPTIMIX has partially been supported by the Esprit project COMPARE (No. 5399) The tool is not in the public domain; however, a free version can be ordered from the author. It is highly recommended that the user first reads the papers [Am94] Am95] Am96b] Am96a] [Am96a], and [ are available with the OPTIMIX package. 1.1 Design procedure for an optimizer In order to generate optimizer parts with OPTIMIX we propose the following procedure [Am96b] 1. Write down all preconditions for a transformation, perhaps in text. 2. Define the data model of your ....
[Article contains additional citation context not shown here]
Uwe Amann. Graph Rewrite Systems For Program Optimization. Technical Report RR-2955, INRIA Rocquencourt, 1996.
....systems (XGRS) The development of OPTIMIX has partially been supported by the Esprit project COMPARE (No. 5399) The tool is not in the public domain; however, a free version can be ordered from the author. It is highly recommended that the user first reads the papers [Am94] Am95] Am96b] [Am96a] [Am98] Am94] Am96a] and [Am98] are available with the OPTIMIX package. 1.1 Design procedure for an optimizer In order to generate optimizer parts with OPTIMIX we propose the following procedure [Am96b] 1. Write down all preconditions for a transformation, perhaps in text. 2. Define the ....
....development of OPTIMIX has partially been supported by the Esprit project COMPARE (No. 5399) The tool is not in the public domain; however, a free version can be ordered from the author. It is highly recommended that the user first reads the papers [Am94] Am95] Am96b] Am96a] Am98] Am94] [Am96a], and [Am98] are available with the OPTIMIX package. 1.1 Design procedure for an optimizer In order to generate optimizer parts with OPTIMIX we propose the following procedure [Am96b] 1. Write down all preconditions for a transformation, perhaps in text. 2. Define the data model of your ....
[Article contains additional citation context not shown here]
Uwe Amann. Graph Rewrite Systems For Program Optimization. Technical Report RR-2955, INRIA Rocquencourt, 1996.
....and ending with an intermediate graph which is handed over to the back end for code generation. Hence, OPTIMIX s specication language is based on relational graph rewriting. In particular, OPTIMIX supports edge addition rewrite systems (EARS) and exhaustive graph rewrite systems (XGRS) Am##] [Am##a] [Am##b] EARS only add mirObject r rhs lhs mirObject r mirObjectAddr mirObject mirAssign mirMult mirObjectAddr mirConstant mirContent mirAssign mirObjectAddr mirObject mirMult mirObjectAddr mirConstant mirContent obj obj addr kids kids kids kids kids kids kids addr obj ....
.... are equivalent to a subset of D###### and always yield unique results being congruent [Am##] XGRS allow graph manipulations and may result in multiple normal forms (rewrite results) However, since each XGRS rule fulls an edge termination criterion, the termination of a rule system can be checked [Am##a]. In the following, the advantages of OPTIMIX s specication language are explained, with special regard to compiler writers. It is demonstrated that OPTIMIX can be applied to the following problem classes of program transformation and optimization: graph reachability problems (next section) ....
[Article contains additional citation context not shown here]
Uwe Amann. Graph Rewrite Systems For Program Optimization. Technical Report RR- ####, INRIA Rocquencourt, ####.
No context found.
Uwe Assmann. Graph rewrite systems for program optimization. In ACM Transactions on Programming Languages and Systems, 1995.
....graphs with edges while code transformation means to delete subgraphs and to attach new ones. Hence, Optimix s specification language is based on relational graph rewriting. In particular, Optimix supports edge addition rewrite systems (EARS) and exhaustive graph rewrite systems (XGRS) 2] [3] [1] EARS only add edges to graphs. They can be used to construct graphs and to materialize implicit relations as explicit ones. EARS are equivalent to a subset of Datalog [4] 1 2 They are congruent, i.e. they terminate and always yield unique results [5] XGRS allow graph manipulations and ....
....the different alternative results which a code improving transformation may have; from those one can be chosen arbitrarily, if only the specified transformation is correct. Additionally, since each XGRS rule fulfils an edge termination criterion, the termination of a rule system can be checked [3]. In the following, the advantages of Optimix s specification language are explained, with special regard to compiler writers. It is demonstrated that Optimix can be applied to the following problem classes of program transformation and optimization: graph reachability problems (next section) ....
[Article contains additional citation context not shown here]
Uwe Amann. Graph Rewrite Systems For Program Optimization. Technical Report RR-2955, INRIA Rocquencourt, 1996.
No context found.
Uwe Amann. Graph Rewrite Systems For Program Optimization. Technical Report RR-2955, INRIA Rocquencourt, 1996.
No context found.
Uwe Assmann. Graph rewrite systems for program optimization. ACM Transactions on Programming Languages and Systems (TOPLAS), 22(4):583--637, 2000. ISSN 0164-0925.
No context found.
Uwe Assmann. Graph rewrite systems for program optimization. ACM Transactions on Programming Languages and Systems, 22(4):583--637, 2000.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC