Richard Rodger : More importantly, I have used to Jostraca to save me from over-abstraction. Let me clarify this a little bit more as it is an often over-looked benefit of generative programming. With Jostraca, I can program one level of abstraction lower, safe in the knowledge that my "hard-coded" solution can easily be generalized (that is, turned into a template), without needing to invent complex dynamic data structures, or use reflective programming. I like to call this approach, "programming by example". It is not that the inherent complexity has disappeared - it has just been shifted in the template scripting language, where it can do less damage. The YAGNI (You Aren't Gonna Need It) philosophy of ExtremeProgramming is easier to follow with this safety net.
This is really what I would recommend Jostraca (or any other generator) for. Once you get your head around using templates, it actually becomes easier to design complex systems.