Reviews
Review: MetaEdit+
- By Mike Gunderloy
- February 6, 2004
MetaEdit+ 4.0
starting at EUR5500
MetaCase
Jyvaskyla, Finland
+358 14 4451 400
www.metacase.com
Developing software is, in large part, a matter of properly handling a
dizzying tower of abstractions. Ultimately, your code is just
controlling whether electrons are flowing through particular transistors
or not, but by the time you go from transistors to ICs to microcode to
machine language to assembly language to higher-level languages to
modeling, that plain fact sort of disappears. What MetaEdit+ brings to
the party is yet another layer of abstraction. But it's in a good cause:
their argument is that you can get code faster if you use their tool
properly.
MetaEdit+ is a "metaCASE" tool. You're no-doubt familiar with
traditional CASE tools such as UML, which apply a level of abstraction
above your actual code, so that you can model the problem and have it
spit out code. With MetaEdit's Method Workbench, you start by designing
your own domain-specific modeling (DSM) language. So, if you're working
on software to drive test equipment, for example, you'd first build a
DSM language containing objects, roles, relations, and so on that apply
to your problem domain of test equipment. Instead of the generic objects
that UML supplies, you'd end up with Frequency Counters and Display
Units and rules about how they can be connected.
When you've finished designing your own modeling language, your focus
can shift to MetaEdit+, where you (or other designers on your team)
build domain-specific models. MetaEdit+ gives you a drag-and-drop
environment for hooking together objects and roles according to the
relationships that you defined when building the language. The final
piece of the puzzle is a very flexible reporting language. "Reporting"
is somewhat of a misnomer here; although you can export a diagram to
HTML or Word or XML, or create a list of all the objects in a diagram
along with their properties, the reporting language is much more capable
that that. In fact, you can use a MetaEdit+ report as a code-generator;
they've got a nifty example that builds java code to animate pictures of
digital watches after you use a DSM to create their specifications.
Version 4.0 polishes the user interface and adds a SOAP API to allow
integrating MetaEdit+ models with other running applications. The whole
system is pretty easy to use, and the tutorial is well-written (though
it doesn't quite match the new user interface in a few spots). If you'd
like to explore further and see how it all fits together, you can
download a trial version from the MetaCase Web site.
About the Author
Mike Gunderloy has been developing software for a quarter-century now, and writing about it for nearly as long. He walked away from a .NET development career in 2006 and has been a happy Rails user ever since. Mike blogs at A Fresh Cup.