Friday, May 12, 2006

Software Transformation Systems

Together with Magne Haveraaen, Jim Cordy, and Jan Heering, I am organizing the next Workshop on Software Transformation Systems (STS'06), which will be co-located with GPCE and OOPSLA in Portland, Oregon in October. If you are interested in the design, implementation, and use of transformation systems you should consider submitting an abstract. (Note that the webpage is being updated, so check back on details of submissions.) If it will be like last time, it promisses to be a lively day full of interesting discussions.

Wednesday, May 10, 2006

Transformations for Abstractions (Looking for a Postdoc or PhD student)

Recently I got notice from NWO, the dutch research funding organization, that the project proposal `Transformations for Abstractions (TFA)' that I submitted last September was accepted. (In a very competitive round; only 15% of proposals was accepted this year.) As a consequence, I have funding for a three year postdoc or a four year PhD student position. The topic of the project is language extensions (abstractions), in general, and extension of transformations on/for language extensions, in particular. Here is the summary of the proposal:

This proposal is about techniques at the intersection of two areas of software engineering. (1) In order to automate software engineering we would like to automate the process of producing programs by means of automatic transformations, thereby computing with programs as we do with other data. (2) In order to improve the expressivity of programming languages to the concepts and notations of specific application domains, we would would like to extend general-purpose languages with domain-specific abstractions. Combining these desiderata leads to the need to extend transformations for new domain-specific abstractions.

The goal of this project is to develop a systematic approach to the extension of general purpose languages with domain-specific abstractions, integrating those abstractions in the syntax and transformations of the programming environment. This requires research into the following issues:

  • strategies for the definition of domain abstractions
  • mechanisms for open extensibility of transformations
  • methods and patterns for design of open transformations
  • constraints for independent extensibility of transformations
  • derivation of transformation extensions from definitions of abstractions
We approach this goal by analyzing a variety of existing domain-specific languages and transformations, developing generic extensibility mechanisms, and validating these first in an `in vitro' setting and then in a programming environment for the Java language. The project builds on a solid body of work from the Stratego/XT project that will allow us to concentrate on the core of the problem, rather than being distracted by infrastructural issues.

If you are interested in the project, either as a candidate for the position or as a collaborator, I would like to hear from you. Further information (such as the full project proposal) is available on request.

Sunday, May 07, 2006

Image Transformation

After many years, I finally have a new picture for my home page. Here is the transformation from December 1998 to May 2006:
self => self => self
Clearly the main reason for a new picture was the quality of the old one; I don't look a day older, do I;-) My renewed interest in photography was sparked by the discovery of autostitch, a tool that stitches together pictures from different parts of the same scene. It allows easy composition of panoramas such as the following picture of a canal in Amersfoort:
canal / bridge
It is composed from a bunch (10?) pictures taken by hand (no tripod) with my not so fantastic Samsung digital camera. Autostitch discovers how to put the pieces together. It does not only work for landscape panoramas, as illustrated by the following 180 degrees interior shot:
interior
It can also be used for funny things such as the following composition of three pictures I took back in 2004 at OOPSLA/GPCE in Vancouver of Martin Bravenboer and Jurgen Vinju:
Bravenboer & Vinju
Or even more surrealistic compositions with multiple occurrences of the same people:
garden
See my autostitch experiments for more examples. That was a fun diversion in the past week. I've neglected this blog for a while. Much has happened in the meantime, and there are many plans for new (program) transformation work. Now that I've found time for messing around with picture transformation, I expect I'll find time for new blogs as well in the near future. Stay tuned. (I will mainly publish new photos at my flickr account.)