In visual programming languages, the objects to be dealt with usually do not have an inherent visual representation. They include traditional data types such as arrays, stacks, queues, and application-oriented data types such as forms, documents, databases, etc. To achieve a user-friendly man-machine interface, we would like to present these objects visually. For the same reason, the languages themselves also should be presented visually. In other words, both programming constructs and rules to combine these programming constructs should be visually presented. Application domains of visual programming languages include computer graphics, user interface design, database interface, form management, and computer aided design.