Show in Frame No Frame
Previous Next Title Page Contents Search


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 and visual debugging), 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.

Depending on how deeply you want to explore the Watch Example, you may need to install additional components to be able try out certain advanced code generation, debugging and integration features.

Windows: C#

If you are on Windows, you can cover the elementary parts of the example (Chapters 1 to 3) using Window’s default C# and .NET services without any extra components. If you want to try out the Visual Studio extension described in Section 4.2 you need to have a Visual Studio license that allows extensions, e.g. 2013 Community or later, or Professional in earlier versions. Additional development tools are also required for generating and compiling code for Window Phone applications, described in Section 4.3.

Mac OS X, Linux, optionally Windows: Java

If you are on Mac OS X or Linux, you can use Java – which can also optionally be used on Windows. You must have at least the Java SE Development Kit installed. The tested and recommended versions for each platform are as follows:
*Windows: Java SE 8 update 111
*Mac OS X: Java SE 7 update 45
*Linux: OpenJDK 6 or 7
The JDK for Windows and Mac OS X can be downloaded and installed from

The JDK for Linux can be downloaded and installed from the command line:
sudo apt-get install openjdk-7-jdk
By default on Windows, the Watch Example code generator expects the Java SDK to be found from C:\Program Files\Java\jdk1.8.0_111. If you choose to install it elsewhere, please correct the $winJDK path setting in the ‘__Paths’ generator to point to the right place. Similarly, the default SDK directory for Mac OS X and Linux is /usr and the respective variables in ‘__Paths’ are $macJDK and $linuxJDK.

To try out other Java features like visual debugging, Eclipse integration and Android development, further third-party components are required. The tools and libraries required for visual debugging are covered in the beginning of Section 2.6.1, while the ones needed for Eclipse integration and Android development are covered by Sections 5.2 and 5.3.1.

MetaEdit+ license

MetaEdit+ Workbench, including its evaluation version, can be used for all of the tasks in this example. Most can also be carried out with MetaEdit+ Modeler, with two exceptions:
*Trying out the extensions in Section 2.5 requires MetaEdit+ Workbench.
*The hands-on examples in Section 2.6 require either MetaEdit+ Workbench or MetaEdit+ with API support.
For further information about MetaEdit+ please refer to the ‘MetaEdit+ User’s Guide’, ‘MetaEdit+ Workbench User’s Guide’ or our web pages at

Show in Frame No Frame
Previous Next Title Page Contents Search