On Wednesday, January 11, 2012, Zef Hemel defends his PhD thesis at TU Delft. Quoting the introduction:

The promise of model-driven engineering is to reduce the development and maintenance effort of software by developing at a higher-level of abstraction through the use of domain-specific languages (DSLs). Domain-specific languages, as opposed to general-purpose languages, are software languages that focus on a specific problem domain, e.g. insurance, database querying, grammars or workflow.

The research in this thesis is conducted as part of the MoDSE (Model- Driven Software Evolution) project. The goal of the MoDSE project is to develop a systematic approach to model-driven software development using domain-specific languages. This approach includes methods, techniques, and underlying tool support. The group in which the research is conducted (the Software Engineering Research Group at Delft University of Technology) is building and evolving tools to simplify the development of domain-specific languages, including SDF [Heering et al., 1989] and SGLR [Visser, 1997a] for parsing, Stratego/XT [Visser, 2004, Bravenboer et al., 2008] for program transformation and Spoofax [Kats and Visser, 2010a] for building IDE (Integrated Development Environment) plug-ins for the developed languages.

The goal of the research is to explore the DSL design space and to develop techniques to simplify the implementation of DSLs. The research is conducted through case studies in DSL design, using tools developed as part of the MoDSE project.

The thesis includes chapters on

Update: Dr. Zef’s report on the successful defense of his thesis.

Quoting the Spoofax news page:

We’re pleased to announce the release of Spoofax 1.0. A number of significant new features have been added since the last stable release, a long list of bugs has been fixed, and various minor improvements were introduced.

Highlights of the release include:

The new version is now available from the update site at http://spoofax.org/update/stable.

In addition to these features, we’re actively working on improving Spoofax with new features. In particular, we are now working on providing full support for debugging, on an interactive shell for Stratego and custom languages, and a new meta-language called !SpoofaxLang to define languages in a more modular fashion.

A full list of feature requests and issues addressed in the new version is provided at http://yellowgrass.org/tag/Spoofax/1.0.

This Tuesday, December 13, 2011, Lennart Kats defends his doctoral dissertation titled “Building Blocks for Language Workbenches” in the Aula of TU Delft. Quoting the introduction:

This dissertation presents research on techniques, methods, and tool support for domain-specific language engineering. Domain-specific language engineering is the discipline of designing, developing, and maintaining domain-specific programming languages. The focus of this thesis is the architecture of language workbenches their underlying technologies. Language workbenches are tools that make language engineering more efficient by providing an integrated development environment for language engineering tasks. In particular, we introduce the Spoofax language workbench, and describe its techniques for high-level, portable language definitions, language composition, interactive support for defining languages, and language testing.

Prior to the defense the TU Delft Software Engineering Research Group organizes a symposium on software language design and engineering featuring talks by Peter Mosses, Oscar Nierstrasz, and Paul Klint.


I got this error message from my Time Machine backup software:

Time Machine completed a verification of your backups. To improve reliability, Time Machine must create a new backup for you.

Apple support explains this as follows:

Apple has identified an issue on some Time Capsule systems that could potentially make previous backups unavailable. The Time Capsule Backup Update improves reliability of affected Mac OS X v10.6 systems by creating a new backup.

‘Creating a new backup’ entails wiping the backup disk and creating a new backup from scratch. Backing up of the 400GB data on my harddisk is probably not going to finish before I have to leave with my laptop in the morning, so I will not be backed up while traveling. Furthermore, all previous incremental backups have been wiped, so if I’d want to restore a file deleted a couple of weeks ago, I’m out of luck.

What a beautifully designed paradox!

I’m experiencing more such classical usability problems with Apple products recently. And I’m not even considering upgrading my iPad to iOS 5 after reading beauties such as

“an error occured while backing up this iPad (-48). Would you like to continue to update this iPad? Continuing will result in the loss of all contents on this iPad?”

Almost looks like they had only one guy in QA.