Iconic programming, Visual basic, Iconic Visual LanguagesIn visual information processing languages, the objects to be dealt with usually have an inherent visual representation. They are images or pictorial objects which are then associated with certain logical interpretation. On the other hand, the languages themselves may not have a visual representation. These languages are usually based upon traditional "linear" languages, enhanced by library subroutines or software packages to deal with visual objects. Application domains of visual information processing languages include image processing, computer vision, robotics, image database management, office automation and image communications. 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. The above two types of visual languages do not exhaust all the possibilities. The objects to be dealt with by a visual language can be inherently visual, or inherently nonvisual but with imposed visual representation. The programming language constructs can be visual or linear. Therefore, there are many different types of visual languages. A unifying concept for these visual languages, is that they all deal with different aspects of generalized icons. Generalized icons consist of object icons and process icons. An object icon is a dual representation of an object, written as (Xm,Xi), with a logical part Xm (the meaning), and a physical part Xi (the image). In visual programming languages, we are dealing with objects with logical meaning, but no visual image. The objects are then assigned a visual representation, so that it can be visualized. In visual information processing languages, we are dealing with objects with visual image, but the logical meaning must be assigned. The objects handled by a visual language can thus be considered as object icons or icons with a logical part and a physical part representing an object. Similarly, the programming language constructs in a visual language can be considered as process icons or icons with a logical part and a physical part representing a computation process. The distinction between an object icon and a process icon depends both upon context and interpretation. For example, the road sign of a diagonal line inside a circle can be interpreted as a "stop-sign" by a computer vision system. It is an object icon under this latter interpretation. On the other hand, it could also be interpreted as a "halt" command by a mobile robot. It is a process icon (or action icon) under this interpretation. The concept of generalized icon encompasses both object icons and process icons (or action icons). We can then study the syntax and semantics of visual languages for both isolated icon and a spatial arrangement of icons. Generalized Icons in Iconic programming The concept of generalized icons, including object icons and process icons, leads to a general approach for designing visual languages. First we ask the question: how can we represent visual objects logically, and conversely, how can we represent logical objects visually? This consideration leads to the concept of object icons. Then we ask the question: how can we represent programming constructs visually and specify algorithms in a visual language? This consideration leads to the concept of process icons (or action icons). Before we proceed further, let us define what we mean by an icon. The dictionary defines an icon to be "an image; figure; representation; picture" [WEBSTER83]. Icon communication concerns the use of images to convey ideas or actions (commands) in a non-verbal manner. Lodding gives a taxonomy of icons, providing a classification by their design or their function [LODDING82]. By his taxonomy, there are three types of icons distinguished by their design and function: Design Function ----- ----- representational picture abstract symbol arbitrary sign An icon image is chosen to relate to the idea or action either by resemblance (picture), or by analogy (symbol), or by being selected from a previously defined and learned group of arbitrarily designed images (sign). To assure the correct interpretation of an icon image, there are three requirements: . the right image, . the right caption, . the right context. Iconic languages have their problems and drawbacks. As pointed out by Lodding, some icons are inherently ambiguous, some can only be interpreted within a certain context. As pointed out by Korfhage [KORFHAGE86], since there is no commonly accepted universal set of icons, icons may evolve in time. Therefore, the design process of icons must be well thought out. Lodding suggests the design process of icons be divided into three distinct steps or phases: a) choosing the representation, b) rendering the design, and c) testing the resulting icon. As mentioned above, visual languages can be designed based upon the concept of generalized icons, which are dual representations of objects consisting of a logical part and a physical part. Generalized icons can be further classified into object icons and process icons. The main concepts concerning generalized icons are defined below. An iconic system is a structured set of related icons. A complex icon can be composed from other icons in the iconic system, and therefore express a more complex visual concept. An iconic sentence (called visual sentence by Lakin, iconic sentence or action sentence by Tanimoto [TANIMOTO86], and iconic statement by Korfhage) is a spatial arrangement of icons from an iconic system. A visual language is a set of iconic sentences constructed with given syntax and semantics. Syntactic analysis of visual language (spatial parsing) is the analysis of the spatial arrangement of icons (i.e. an iconic sentence) to determine the underlying syntactic structure. Finally, semantic analysis of visual language (spatial interpretation) is the interpretation of an iconic sentence to determine its underlying meaning. |
|||