After creating a socket, the user must give the socket an address to listen to, just as you get a telephone number so that you can receive calls. Because of this, the power of visual programming environments could be used to simplify matters in socket programming,
This is because visual environment presents a lot of descriptive icons which enable programmers to decide based on their intuition and not on their memory.
The main advantages of visual programming versus the traditional procedural text programming are as follows:
Accordingly, some visual programming languages have proven to be successful
in demonstrating that non-programmers can create fairly complex programs
with little training. Psychologically motivating them that it does
not require much skill to create such programs.
Expert programmers are also inspired because of the two-dimensional
representation of data structures had been helpful aids in program understanding
and in de-emphasizing the issues on syntax. It will also reduce the
time for them to create application software with less usage of the keyboard.
The proponents decided to implement the system under UNIX platform for the following reasons:
Because it is visual in nature, most conceptual objects and functions, if not all, are represented graphically. The tools furnished in defining the network application programs are in the form of icons and other graphical elements.
The system provides the program developers with tools for creating variables and for defining functions. These tools appear in the form of icons, text widgets, and state diagrams.
After assuring the correctness of the program, the system allows the user to generate the C source code from the graphical representation of the program.
Constructor
This module takes care of the construction of certain objects needed
in the course of programming under VPIX. These objects include structures,
variables, and events.
Structure
A structure is a conglomerate data structure, a lumping together of
different data types, while arrays and pointers are used to build lists
of items of the same data type. The Structure Constructor allows
the user to define aggregate, heterogeneous data structures. These structure
types are further added to the list of data types a variable can represent.
Variable
Variables are use to store data. They may represent different
data types such as integer, char, float, filename, file pointer, and the
other structure types the user created in the Structure Constructor.
The Variable Constructor allows the user to create and delete variables.
The user can further select whether the variables are local or global and
set their initial value.
Event
The Event Constructor allows the user to define a name wherein several
conditions can be added. These events are further utilized in the
State Transition Diagram Module.
Function
This module allows the user to create, edit and delete functions.
These are the actions to be executed when a particular state is triggered
by an event condition.
State Transition Diagram
State Transition Diagram is a labeled directed graph, in which the
nodes are the states and the labeled edges represent the transition condition
and function. This module allows the user to create, edit, and delete states
and events.
Create State
This submodule defines the nodes to be used for the State Transition
Diagram. These nodes represent states.
Create Event
This submodule defines the labeled edges to be used for the State Transition
Diagram. These edges represent events composed of conditions and
actions.
Socket Utilities
This module allows the user to create and define sockets to be used
in the transmission of data over different systems in the network.
Connect
This submodule handles the connection whether connection-oriented (stream)
or connectionless-oriented (datagram). Certain properties are also
required as input parameter to initiate the communication between systems.
Accept
This submodule controls the acceptance for the stream connection only.
This is essential to acknowledge the “connect” request and establish the
link.
Send
This submodule allows the user to select multiple variables to be sent
to several processes. Options for encryption and compression are
also available.
Receive
This submodule allows the user to select multiple variables to be received
from several processes. Options for decryption and decompressions
are also available.
Generate
The final step in programming under VPIX is the generation of the C
code based on the visual objects defined by the user. This module
takes care of the parsing and translating of those objects to their equivalent
C syntax.
Hardware Requirements