Preface
The goal of this example is to demonstrate the features and
implementation of a domain-specific modeling environment to the reader. The
example will cover the issues of designing and implementing the modeling
language, building tool support for it (including 100% code generation), working
with it and finally extending it. Please note that certain parts of the example
may require working hands-on to ensure the best understanding of the subject
matter.
For exploring the Watch example thoroughly, the following
things are required:
 | Java
2 Platform, Standard Edition (J2SE) version 1.4.2 or later for compiling the
Java code produced by the example code generator. Optional features presented in
chapters 4 (support for MIDP platform) and 5 (the use of MetaEdit+ API) require
the installation of additional components – for more information about
them, see their respective
chapters. |
| | J2SE
for Windows can be downloaded from java.sun.com and it should be installed in
c:\java\j2sdk. On Linux we recommend
the use of the free IBM JDK version 1.1.8 that is available at
http://www.ibm.com/java (to download, go
to the ‘Tools and Products’ section, choose item called ‘IBM
Developer Kit and Runtime Environment, Linux, Version 1.1.8’ and proceed
with ‘Register and download’). This distribution installs its
binaries in /usr/jdk/java118/bin
directory by default and thus this is the Java compiler home path expected by
the code
generator. |
| | It
is possible to have J2SE installed somewhere else than the directories
recommended here, but the code generator uses these directories by default so
you would have to make some changes. For instance, you could compile and execute
the code manually, set appropriate symbolic links, or change the path shown with
bolded text in the WatchFamily ‘_create make for Windows/Linux’
reports. |
 | A
web browser with Java
support. |
 | MetaEdit+
Method Workbench for trying out the extensions presented in chapter
2.5. The hands-on examples in chapter 5
require either MetaEdit+ Method Workbench or MetaEdit+ CASE version with API
support. The rest of the example can be explored with any version of
MetaEdit+. |
For further information about
MetaEdit+, please refer to the ‘MetaEdit+: User’s Guide’,
‘MetaEdit+ Method Workbench: User’s Guide’ or our web pages at
http://www.metacase.com.