\documentstyle[11pt]{article}
\begin{document}
\title{Programming Environment For KL1 With Program Visualization \\ -Programmeless Programming-}
\date{}
\author{}
\maketitle
PP is a programming environment in which KL1 programs are represented 
graphicaly, and can be created and run in a visual manner.

This system is intended to make the readability of KL1 programs higher
and to save programmer labour by means of a total programming environment 
with program visualization. This trial needed a logical method of analysis of a
KL1 program. The result is a system which has these features:
\begin{enumerate}
\item A graphic that makes the abstract concepts of data flow, processes and 
streams, which KL1 has, visable to the user. A graphic figure has a consistency
between the program during programming and the goal during execution.

\item Simultaneously a graphic and a textual representation of the program 
are used in programming. They are causally connected to each other.
\item The graphic editor is a modeless design. 
\item A Multi-window design was adopted. In this design, each KL1 program 
clause is shown in a separate window. PP supports functions to compose
programs by collecting multiple windows, which are linked by call-called
relations, and to recognize clauses which define the same predicate.
\end{enumerate}

{\em 1.} and {\em 4.} are solutions to problems of the KL1 language which make 
up for a gap of image between the text and the specification of a program 
running, and keep relations between predicates and clauses.

{\em 2.} and {\em 3.} are solutions to the problems of programvisualization in 
visual programming systems. Graphic representations are very good for intuitive
understanding but are bulkier than text. For instance structured data are more
easily represented by text. Texts and graphics have both merits and demerits.
In PP, both are used simultaneously. The texts and graphics, which are
causally connected, are implemented by a MVC architecture.

Graphics are difficult to draw on a computer screen, and need various modes and
many mouse button clicks. PP has a graphic editor which impliments a modeless
design. A user can draw and edit graphics without being troubled  by which mode
he is operating in and using the fewest  number of clicks. This is performed by
a mechanism in the MVC controller in the graphic editor which switches
the mode automatically according to where the position of the click is
attributed.

Under the environment described, such as a full use of important user interface
concepts such as direct manipulation, modeless design and casual connection a
graphic representation of KL1 program can be created, run, saved, and loaded. 
Graphic representations in PP are introduced as following:
\begin{enumerate}
\item Drawing processes and data constructs such as nodes and streams or data
flow as lines which link nodes in the picture of a clause. This translation
came from the visual image used by programmers when programming and debugging.
\item An IO mode for arguments. This is only used to allow a user to read 
clauses easily, the differentiation between input and output among arguments
does not affect the running of a program. An argument uses a different
topology, position and colour according to its IO mode. 
\item {\em 1.} and {\em 2.} allow the removing variable names from KL1 clauses.
Variable names are thought to play a large part in making KL1 programs
difficult to write correctly. However, variable names are very important for 
programmers to read and maintain KL1 systems. Therefore variable names
are optional and are displayed near their icon in the clause picture. 
\item A graphic representation of data. Data is needed to instantiate programs
and goals.
\end{enumerate}

The running a program is represented by a display of the graphic representation
of the resolvant. A scheduling queue in KL1 executor is used as a resolvant.
Users can change the contents of the scheduling queue by means of editing a 
graphical snapshot of the queue.
\end{document}
