Invited Talks

ACM SIGPLAN 2013 Workshop on Partial Evaluation and Program Manipulation
We are proud to present the following two invited talks:

  • Zhenjiang Hu (National Institute of Informatics, Japan): Practical Aspects of Bidirectional Graph Transformations

    Abstract Bidirectional transformations provide a novel mechanism for synchronizing and maintaining the consistency of information between input and output. Despite many promising results on bidirectional transformations, most of them are limited to lists and trees. We have challenged the problem of bidirectional transformations on graphs, and succeeded in implementing a bidirectional graph transformation engine called GRoundTram. In GRoundTram, graphs are treated as regular trees and manipulated by structural recursion that enjoys a nice bulk and bidirectional semantics. In this talk, I'd briefly explain our solution to the problem of bidirectional graph transformation, demonstrate some applications in bidirectional model-driven software development, and discuss practical challenges in manipulating various graphs (such as unordered, ordered, and probability graphs), determining backward transformation, and improving efficiency and scalability.

  • Peter Thiemann (Institut für Informatik, Technische Fakultät, Universität Freiburg, Germany): Partially Static Operations

    Abstract Partial evaluation assigns binding times to values manipulated in a program. A partial evaluator processes values with a static binding time whereas a dynamic binding time mandates code generation. Binding time descriptions have evolved from monolithic to fine grained, partially static data structures where different components may have different binding times.

    We consider the next step in this evolution where not just data structures but also operations can give rise to partially static structures, which are processed by the partial evaluator. We introduce this notion in an online setting, generalize it, generate a binding-time analysis for it, and implement an offline partial evaluator supporting partially static operations with it. We report on our initial experiences with this new approach.