Today, I attended a talk about MDSD based on UML profiles. In this setup, the developer first defines a UML profil, which seems to be a set of sterotypes, in Enterprise Architect. Then she uses openArchitectureWare to map the profile to code (well, actually plain text). Finally she defines the model, exports it to oAW and generates the code.

Two things come to mind:

1.) The fact that the code generator knows nothing about the structure of the generated code seems very odd. This really brings back all the problems of cpp style macros, not to speak of the disadvantages of non-hygienic macros.

2.) In the presentations, it seemed as if EA did not have enough information for checking  various properties of the model (such as the presence of certain attributes). Instead, oAW checked them while generating but the checking tests were hand-written.

I wonder if it would be possible to formulate appropriate constrains in the UML profile.