This figure illustrates some features of the Adage system for drawing. It complements the geometric construction shown in the preceding section. In this case we consider a drawing element that might be used as a node in a connected drawing: a NAND gate for electronic schematics. NAND gates can be used in slightly different ways (A in the figure), depending on the number of inputs. The underlying macro (B) is the same, and we have chosen a typical set of defining parameters, namely the output point, the orientation angle and the gate-size length. These values (rounded rectangles) are inputs to the create NAND gate action (ordinary rectangle).
The process of creating such a macro might be elaborate, but Adage is designed so that this can be done in the interactive program. We create a standardized form of the gate (C). This might be done using a 4-point polyline, a 3-pt circular arc, and a circle. These would then be grouped as a set. In order to convert this into a drawing-element macro, we would specify that the six points and the six numerical values are constants built in to the macro rather than inputs. The general NAND gate is then (D) created from the standardized NAND (an object) by applying resizing, rotation and translation transformations.
This framework of a standardized constant object transformed by parameters is very common. Therefore templates are provided along with an inheritance mechanism to make this straightforward.