Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Armin Kühnemann is active.

Publication


Featured researches published by Armin Kühnemann.


foundations of software technology and theoretical computer science | 1998

Benefits of Tree Transducers for Optimizing Functional Programs

Armin Kühnemann

We present a technique to prevent the construction of intermediate data structures in functional programs, which is based on results from the theory of tree transducers. We first decompose function definitions, which correspond to macro tree transducers, into smaller pieces. Under certain restrictions these pieces can be composed to an attributed tree transducer using a composition result for attribute grammars. The same construction can be used to compose the attributed tree transducers, which represent the initial function definitions.


Journal of Functional Programming | 2004

Composition of functions with accumulating parameters

Janis Voigtländer; Armin Kühnemann

Many functional programs with accumulating parameters are contained in the class of macro tree transducers. We present a program transformation technique that can be used to solve the efficiency problems due to creation and consumption of intermediate data structures in compositions of such functions, where classical deforestation techniques fail. To do so, given two macro tree transducers under appropriate restrictions, we construct a single macro tree transducer that implements the composition of the two original ones. The imposed restrictions are more liberal than those in the literature on macro tree transducer composition, thus generalising previous results.


international symposium on functional and logic programming | 1999

Comparison of Deforestation Techniques for Functional Programs and for Tree Transducers

Armin Kühnemann

We compare transformations for the elimination of intermediate results in first-order functional programs. We choose the well known deforestation technique of Wadler and composition techniques from the theory of tree transducers, of which the implementation of functional programs yet does not take advantage. We identify syntactic classes of function definitions for which both techniques deliver equally efficient results and for which one technique is more powerful than the other. In particular, this paper offers a technique that eliminates intermediate results for certain kinds of function definitions, for which deforestation fails.


Acta Informatica | 1994

Synthesized and inherited functions - a new computational model for syntax-directed semantics

Armin Kühnemann; Heiko Vogler

In this paper we introduce a new formal model for the concept of syntax-directed semantics, called macro attributed tree transducer (for skort: mat tree transducer). This model is based on (noncircular) attributed tree transducers and on macro tree transducers. In the first type of transducer, semantic values are computed by means of meaning names called synthesized attributes, and by means of context names called inherited attributes. Both, synthesized and inherited attributes represent basic semantic values. In the second type of transducer, semantic values are computed by meaning names only which are called states. However, in order to have a means of handling context information, states represent functions over semantic values


Information Processing Letters | 2004

A bottom-up characterization of deterministic top-down tree transducers with regular look-ahead

Zoltán Fülöp; Armin Kühnemann; Heiko Vogler

In the theory of tree automata and tree transducers mai nly two different ways to process trees are conside One is the bottom-up processing, which starts at the leaves of a tree s and ends up in the root of s. The other one is the top-down processing, when the process starts at the root of s and proceeds towards the leaves of . Therefore the literature distinguishes between bottom-up (or: frontier-to-root) and top-down (o r: root-to-frontier) tree automata tree transducers, and tree-to-graph transducers [17–19,5,6,1,15,16,12]. The different ways of processing may deliver different results, e.g., the recognizing capacity of determ top-down tree automata is less than that of deterministic bottom-up tree automata [15,16], the classes of b and of top-down tree transformations are incomparable with respect to inclusion [5], and the class of lin down tree transformations is a proper subclass of the class of linear bottom-up tree transformations [5]. On hand, (nondeterministic) bottom-up and top-down tree automata recognize the same class of tree language linear and nondeleting bottom-up and top-down tree transducers compute the same class of tree transfo [5], and tree-generating bottom-up and top-down tree-to-graph transducers are equivalent [12]. In [6] a bottom-up capability, namely inspecting subtrees before performing a computation step, was a top-down tree transducers in order to have nicer closure properties than the top-down tree transducers h capability is called regular look-ahead, and the tree transdu cers obtained are called top-down tree transducers regular look-ahead. By adding this botto m-up capability to top-down tree trans ducers, they get closer to bottom


rewriting techniques and applications | 2001

Relating Accumulative and Non-accumulative Functional Programs

Armin Kühnemann; Robert Glück; Kazuhiko Kakehi

We study the problem to transform functional programs, which intensively use append functions (like inefficient list reversal), into programs, which use accumulating parameters instead (like efficient list reversal). We give an (automatic) transformation algorithm for our problem and identify a class of functional programs, namely restricted 2- modular tree transducers, to which it can be applied. Moreover, since we get macro tree transducers as transformation result and since we also give the inverse transformation algorithm, we have a new characterization for the class of functions induced by macro tree transducers.


Theoretical Computer Science | 2005

Linear deterministic multi bottom-up tree transducers

Zoltán Fülöp; Armin Kühnemann; Heiko Vogler

In general, top-down and bottom-up tree transducers lead to incomparable classes of tree transformations, both for the nondeterministic and the deterministic case. If deterministic top-down tree transducers are extended by the capability to recognize regular tree properties and deterministic bottom-up tree transducers are generalized by allowing states with arbitrary finite rank, then the two devices, now called deterministic top-down tree transducers with regular look-ahead and deterministic multi bottom-up tree transducers, respectively, become equivalent [Z. Fulop, A. Kuhnemann, H. Vogler, A bottom-up characterization of deterministic top-down tree transducers with regular look-ahead, Inform. Process. Lett. 91 (2004) 57-67].In this paper we focus on the class ld-MBOT of tree transformations which are computed by linear deterministic multi bottom-up tree transducers. We investigate the relationship among ld-MBOT and the classes of tree transformations computed by (restricted) deterministic bottom-up tree transducers and by (restricted) deterministic top-down tree transducers with regular look-ahead. In fact, we show the inclusion diagram of nine such classes.


The Journal of Logic and Algebraic Programming | 2007

Deaccumulation techniques for improving provability

Jürgen Giesl; Armin Kühnemann; Janis Voigtländer

Abstract Several induction theorem provers were developed to verify functional programs mechanically. Unfortunately, automatic verification often fails for functions with accumulating arguments. Using concepts from the theory of tree transducers and extending on earlier work, the paper develops automatic transformations from accumulative functional programs into non-accumulative ones, which are much better suited for mechanized verification. The overall goal is to reduce the need for generalizing induction hypotheses in (semi-)automatic provers. Via the correspondence between imperative programs and tail-recursive functions, the presented approach can also help to reduce the need for inventing loop invariants in the verification of imperative programs.


Acta Informatica | 1994

Synthesized and inherited functions

Armin Kühnemann; Heiko Vogler

In this paper we introduce a new formal model for the concept of syntaxdirected semantics, calledmacro attributed tree transducer (for short: mat tree transducer). This model is based on (noncircular) attributed tree transducers and on macro tree transducers. In the first type of transducer, semantic values are computed by means of meaning names called synthesized attributes, and by means of context names called inherited attributes. Both, synthesized and inherited attributes represent basic semantic values. In the second type of transducer, semantic values are computed by meaning names only which are called states. However, in order to have a means of handling context information, states represent functions over semantic values. The new model integrates attributed tree transducers and macro tree transducers by allowing both, meaning names and context names to represent functions over semantic values. In analogy to the terminology of attributed tree transducers, we call such meaning names and context names also synthesized functions and inherited functions, respectively.We present an inductive characterization of the tree transformation computed by an mat tree transducer. We prove that mat tree transducers are more powerful than both, attributed tree transducers and macro tree transducers. We characterize mat tree transducers by the two-fold composition of attributed tree transducers. This characterization has three consequences: (1) the height of output trees of mat tree transducers is bounded exponentially in the size of the input tree, (2) the composition hierarchy of mat tree transducers is strict, and (3) mat tree transducers are closed under right-composition with top-down tree transducers, but not under left-composition. Moreover, we prove that the addition of inherited attributes does not increase the computational power of macro tree transducers.


Acta Cybernetica | 2010

A pumping lemma for output languages of attributed tree transducers

Armin Kühnemann; Heiko Vogler

An attributed tree transducer is a formal model for studying properties of attribute grammars. In this paper we introduce and prove a pumping lemma for output languages of noncircular, producing, and visiting attributed tree transducers. We apply this pumping lemma to gain two results: (1) there is no noncircular, producing, and visiting attributed tree transducer which computes the set of all monadic trees with exponential height as output and (2) there is a hierarchy of noncircular, producing, and visiting attributed tree transducers with respect to their number of attributes.

Collaboration


Dive into the Armin Kühnemann's collaboration.

Top Co-Authors

Avatar

Heiko Vogler

Dresden University of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Robert Glück

University of Copenhagen

View shared research outputs
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge