6 The Conclusion

We have now walked through a set of examples of how MetaEdit+ can be employed: first as a tool for creating your own Domain-Specific Modeling language, and then as a tool supporting that language. The ultimate question after all of this is what does it have to do with your organization? What kinds of benefits can you look forward to by adopting the approach presented here?

According to our experiences and those of our customers, the three key benefits from adopting metaCASE technology are:
1)Productivity increases by as much as a factor of 10. Traditionally software development has required several error-prone mappings from one set of concepts to another: first from the domain concepts in requirements documents to design concepts (e.g. UML), and then from design concepts to programming language concepts (e.g. C++). This is equivalent to solving the same problem over and over again. With Domain-Specific Modeling languages, the problem is solved only once by working with pure domain concepts. There is no need for error-prone mappings of concepts as the final products are automatically generated from these high-level specifications. Studies have shown that this kind of approach is 5–10 faster than the usual current practices.
2)Better flexibility and response to changes. Focusing on design rather than code results in a faster response to requests for changes. It is easier to make the changes at the domain concept level, and then let the tool generate code for multiple platforms and product variants from a single set of domain concepts.
3)Expertise shared with the whole development team. The usual problem within development teams is the lack of expertise among the developers in turning domain ideas into good code. It takes a long time for a new developer to learn enough to become productive. Also, even the more advanced developers need to consult with domain experts frequently. In the approach presented in this tutorial, the expert defines the domain concepts, rules, and mapping to code. Developers then make models with the concepts guided by the rules, and code is automatically generated. The code is thus being produced with the expertise of the expert developer, so quality improves significantly.

Obviously there is more to this than is contained in this tutorial and the key benefits we have listed here. To learn more about adopting this kind of approach, and to see a more comprehensive example of a Domain-Specific Modeling language, you are encouraged to study our Watch modeling language example. If you are interested in knowing how others have utilized this technology, our web pages at http://www.metacase.com provide a good starting point.  There you will find user references, downloadable white papers, and FAQs. If you have any questions about MetaCase technology, or are thinking about how your organization could benefit from it, do not hesitate to contact us!