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?
| 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 frequently consult
with domain experts. 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!