Advertise With us

 

Iconic programming, Visual basic, Iconic Visual Languages

 
In 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.
 

 

 
Google