Just noticed that Perryn Fowler blogged about my paper which finally explains the jump in hits its been getting. He somewhat agrees with me but still believes it's better to capture requirements using code. He may be right in that I recognise that a procedural language has way more expressive power than a declarative language. However, I have no idea how you would build a code generation engine that could interpret requirements expressed that way.
My solution for complex requirements is to write their implementation in a component and then declare to the code generation engine the conditions under which that component must get called. I think if of like a pipeline. But I can't say whether this would be sufficient or complete.
I do think the development of automatic testing suites is a great application domain for code generation though. It's also very difficult since you're dealing with not only modelling requirements but also a model of the application that is supposed to implement those requirements. Uggh.
On a related note, I also just noticed that IronSpeed co-opted my Writing Code Is Stupid tag line into one of their presentations. Maybe I should put a trademark on it!