The MetaProgramming Graphics Processor

The MetaProgramming Graphics Processor (MGP) extends the representation of the concepts of metaprogramming and Abstraction-based Reuse from a text-only form (as expressed in the MTP notation) into a graphically-based form. Just as MTP allows the nesting of text Adaptable Components, MGP allows the nesting of graphical components as well as of text components within graphical components. The resulting adaptable structure is then tailorable into a consistent integrated collection of hybrid graphical-text work products. (Readers not familiar with the MTP notation may first want to get an understanding of the mechanisms it provides for the definition and instantiation of text-based families as background before looking further at MGP.)

The current MGP prototype is very limited in the target form of graphical content supported, essentially to a simple structure of arc-connected nodes. However, accommodating greater variety of graphical forms is not the focus of this effort but rather it is how to associated adaptability with these graphical forms in a useful way. The goal is to be able to provide a useable means for generating different instances of a family represented in general graphical-text form rather than only text form which has been a basic limitation from the beginning of product lines.

The approach for this prototype has been to create a mechanism that makes all of the means of describing and applying adaptability that MTP provides but within a direct manipulation graphical framework. The features of MGP are:

{The following needs to be revised to use javaws in .jnlp form (vs a Java applet) as described in Adaptable component examples}

Help text provides detailed instructions for viewing the various features of the MGP prototype which is a Java applet. To execute the prototype following these instructions, select MGPp which will open the tool in a new browser window.