Model-driven development tools help specify your software so that the generated code will not be far away from an executable product.
When a project has just started, however, it is often too early to decide on the exact way how it should work. So `models' are fairly fuzzy, soft, and flexible, amenable to later changes during the development.
Formal specifications, therefore, are likely hostage to fortune. Instead of UML diagrams, free-formed texts have been adopted as a suitable means to model design. Textual UML tools, e.g., PlantUML, have been popular amongst software engineers for its simplicy, flexibility, as well as progressive approach towards more formal and rigid modeling languages.
In FlexiTools workshop at ICSE 2011, we have proposed a mixture of such formal and informal textual documentation, through a Modeling Wiki. The idea was using macros to introduce formal specifications into the free-formed texts.
At that time, we have developed a suite of MDD tools to convert domain-specific macro languages into diagrams. In fact, these MDD tools are based on a stripped down Eclipse to run on the server side.
To demonstrate the point, the Eclipse plugins for Problem Frames have been used to show how easy it is to support the modeling of problem diagrams.
Recently I have developed some extensions to PlantUML so that it can also support Problem Diagrams. Integrating your problem solving to documentation can not be easier now.
A question to you is now, how would you like such a flexible modeling system to evolve to suit your needs in the future, please drop me a line!