Flavors Technology Incorporated |
PIM/Paracell Product Summary
|
|
The Paracell language offers some operations that are unique to the PIM/Paracell system. They have been introduced for increased performance and flexibility.
6.a Multiple Writes
If the programmer wishes, multiple tiles can export the same global variable in the same frame. When the programmer creates a tile that exports a global variable already exported by another, the Compiler invokes a utility called the sequence editor. The sequence editor informs the programmer of the situation and asks which tile should write last or "win". The sequence editor can be invoked at any time by the programmer so that different write sequences can be enforced.
6.b Using Intelligent Memory
In some PIM implementations, shared memory hardware is equipped with ALUs (Arithmetic Logic Units) capable of performing simple operations on data as it is read or written. A Paracell tile may specify that after reading a global variable it be incremented, decremented, set (all ones) or zeroed. In applications using the PIM125, intelligent memory is emulated. This approach frees the bus from additional memory boards in favor of additional processing cards or I/O. This feature is not currently available to the applications programmer.
Figure 3-13.
Paracell can add, subtract, and perform boolean operations on data within shared memory. Note, with these operations, as with all exports, the fact that a variable is exported does not mean that it must have been imported. It is not always necessary to know the previous value of a variable before changing it.
The development environment resides on desktop workstations. Larger configurations requiring many operator interfaces can connect multiple workstations to the PIM. Other remote terminals, e.g. floor operator interfaces, interact with the PIM through standard I/O channels via PIM I/O boards.
The user environment consists of the Paracell database and the Paracell tools through which the database and the PIM are viewed and manipulated.
7.a The Paracell Workstation Database
The workstations maintain a database of tiles, tile sequences, variable names, user information, documentation, SoftScopes, Paracell Debuggers, and other data needed to manage code and data in the PIM. The Paracell tools (The Tile Editor, The Navigator) make use of the wealth of information in the workstation database to give the user power and flexibility in development and debugging. From the workstation, tiles may be referenced or located by name, Navigator location, imports, exports, and other userdefined criteria.
Much of the information in the workstation database is symbolic and not needed for operation in the PIM, for example, icons, patterns, or documentation. When tiles are downloaded to the PIM for execution, most of the symbolic information is translated out and variable names are converted to shared memory addresses. The original source code is not sent to the PIM. In the interests of performance, the PIM is told as little as it needs to know to do the job.
7.b The Paracell Dictionary
The Paracell Dictionary is the portion of the workstation database which maps variable names to shared memory addresses. When a tile is downloaded to the PIM to begin execution, the Paracell Compiler looks up the variable names and substitutes their shared memory addresses.
In addition to the Paracell language, several tools are provided on the workstation for creating, modifying, monitoring, and debugging Paracell programs. Central to these tools is the Paracell Navigator which is used to organize and browse the tiles. The other window oriented tools which may be accessed from the Navigator include the Paracell Tile Editor (TED), the I/O Editor, the Configuration Editor (ConEd), SoftScope (SS), Paracell Tracker (PAT), and Paracell Debugger (PDB).
8.a The Navigator
This Navigator is a project management tool which allows the project manager to conceptualize, organize and view many tens of thousands of tiles three-dimensionally, providing a natural means of dividing a large, complex problem into manageable pieces.
Figure 3-14. An example of the Navigator view of a Paracell program. This view, taken ten levels deep, can organize massive programming projects.
The Navigator displays a 3 by 3 matrix of squares. Squares are selected either by keypad, or by moving a mouse-controlled pointer to the square and "clicking" the mouse button. "Double-clicking" in the square displays the Paracell code for that tile , "enters" another 3 by 3 matrix one level deeper or provides a dialog box for purposes of defining and documenting a new Paracell Tile or Navigator Node.
Figure 3-15. The Navigator as seen by the user. On the right side of the window is a "map" showing the present location in the hierarchy.
Figure 3-16. Empty square, Navigator Node, and Paracell Tile, respectively.
From the Navigator, a square's "type" is easily determined by appearance. A Navigator Node will depict a miniaturized replica of the Navigator showing the makeup of "squares" on the next level. A Paracell tile is indicated by a miniaturized "code" window with the first several lines of code for that tile shown. Other node-types can also be easily distinguished by their appearance, icons, or patterns. These type include I/O tiles, SoftScope windows and Paracell Debuggers. A "brick wall" pattern indicates that a square has not been used and is still available for designation.
In the upper right hand corner of a defined square, that is, a Paracell Tile or a Navigator Node, there are icons that permit you to interact with a tile, for example, to enable or disable a tile, or lock and unlock a tile. In the example above, the icon showing a rabbit in the example "SECS" above lets the developer or user know that the tile "SECS" is running fast. If the icon showed a turtle, the user would know that the tile was running slow. If there was no icon, the user would know that the tile "SECS" was not loaded, and thus not running.
When team of programmers are dividing up the development of a large application, or when an application is deployed and its maintenance or enhancement is left to other engineers, documentation becomes critical. In addition to providing for documentation within code in a Paracell Tile, the Navigator provides utilities for documentation at the Node level. It is here that when a empty square is selected for use, the user will have the capability of determining whether the square will be a Paracell Tile or Navigator Node. Comments can be noted, authors identified, icons selected, and so on from this point.
Similarly, once a square has been defined, a user can access node information by double-clicking the name portion of the square.
Users may choose from libraries of patterns and icons to better organize projects. For example each major subtask could be assigned a different pattern and each programmer within the team could have a personal icon, or an icon could be designed and used that represents the machine being controlled.
Figure 3-17. Pattern and icon selection mechanisms.
Small round "radio buttons" in the lower right section of the dialog box enable the user to specify a definition of the empty square. Based on the option selected by the user, the Navigator takes the appropriate action after the "OK" button is pressed. For example, if the user creates a Paracell Tile by selecting "Paracell Tile" the Paracell Editor is called so that the user can begin entering code for the new tile (see III.8.b The Tile Editor).
more Paracell...
Next Section: I/O
Back: Paracell, second section
Table of Contents
Return to Top of Page
Flavors Technology, Inc. |