Layers of GRAPNEL programs
Hardware
layer
GRAPNEL programs can be split to several layers. The lowest layer
is the hardware of the computer and its operating system. GRAPNEL
system uses message passing paradigm so the operating system should
support messages between processes. Most systems do it but in some
cases it is difficult to use different IPCs of different
systems. Generally we use a special software layer on top of the
operating system which hides the differecies of the message passing.
Message
passing layer
This layer should be a widely used system. The PVM or MPI is a good
choice because they are ported to a lot of operating systems (well,
more precisely, they are ported to a lot of UNIX systems). Because
this layer hides operating system dependencies the GRAPNEL system can
be hardware and operating system independent.
GRAPNEL
API layer
Because the previous layer can be implemented by different kind of
message passing system, an other software layer is required which
hides dependencies of the previous layer. This layer is an
Application Programming Interface and
because its physical representation is a C library, we call it Grapnel
Library. This API layer can support any kind of message passing
system, ie. PVM, MPI, or an operating system directly. This API
consist of GRAPNEL (or GRP shortly) functions and higher layers use
these GRP functions to start processes and sending messages.
GRAPNEL API is the lowest layer which is realy included into the
GRAPNEL system and is developed by the SEPP team. The API for PVM is
available only at this stage of the project. We would like to develop
another APIs to support MPI and QNX operating system.
The API has a very important functionality. It is that it creates
trace information during the developed program is running. Every time
when higher layer calls a GRAPNEL function to start a process or send
a message to somebody, the API function makes a record in the
tracefile. After the execution the generated tracefile can be
visualized.
GRED
layer
This is the highest layer of the GRAPNEL system. At this layer the
program can be represented by graphically. This representation is easy
to understand for the developer but it is not for programs. Because of
this the GRED software saves the graphical program in a plain text
file called GRP file. This file is used by programs and utilities of
the GRAPNEL system. One of these utilities is the Grapnel Compiler
which can traslate GRP file into C-source. The generated sources use
GRP function calls from GRAPNEL API to do their job.
The highest layer can be represented in three different form:
- Graphicaly. It is used by the programmer to develop the
program.
- GRP file. It is used by the GRAPNEL programs to process
developed program.
- C-source. It is used by the system to do the work that must
be done by the developed program.
Back to
Grapnel Compiler.