This document is obsolete. There is no replacement. It's written in Java, so if you can run Java, you should be able to run the tool. The purpose of this document is to describe what the tool is, why it exists, and how to use it. Metaprogramming is nothing more than creating a program that manipulates other programs.
Compilers are the most common example of metaprograms.
The Prism Tool is specifically designed for metaprogramming. It provides a framework for running metaprograms that you write. Storing programs in this way makes them easier to manipulate. It also frees the tool from dependence on any particular programming paradigm. Metamodels are described below.