Pigi
is built on top of existing CAD tools that are part of the Berkeley CAD framework. An important component of this framework is oct
, which serves as the design database. Oct
keeps track of block connections, parameter values, hierarchy, and file structure, and hence moderates all accesses to designs stored on disk. The organization is shown in figure
2-8Vem
is an interactive graphical editor for oct
. Vem
provides one of many ways to examine and edit designs stored by oct
. This chapter gives just enough information about vem
to use it with Ptolemy in simple ways.
In Pigi
, the Ptolemy kernel runs in a separate Unix process, called pigiRpc
, attached to vem
. Users edit designs using vem
, store their designs using oct
, and execute their application through the link to the Ptolemy kernel. The two Unix processes are shown in the shaded boxes in figure
2-8. The user interacts with both processes but only the user interface of the pigiRpc
process has been upgraded to use Tcl/Tk, as explained above. With this software architecture in mind, we can now define terms that we have been using informally.
Oct
objects (which are stored on disk) are called facets. A facet is the fundamental unit that a user edits with vem
. As an analogy, we can think of a facet as a text file in a computer system and vem
as a text editor, such as vi
or emacs
. However, instead of calling system routines to access the data stored in a text file like vi
does, vem
calls oct
routines to access the data stored in a facet. Thus, oct
manages all data accesses to facets. Facets may define a universe or a galaxy, for example. Thus, figure
2-4 on page 2-18 shows a facet that defines a universe and a second one that defines a galaxy.
Facets may also define the physical appearance and formal terminals of icons that represent stars, galaxies, universes, and wormholes, e.g., the physical appearance of each icon in figure 2-4 is defined in another facet called the interface facet. A schematic that uses icons, by contrast, is called a contents facet. The "edit-icon" command ("I") will open the facet defining an icon. Instructions for modifying the appearance of an icon are given in "Editing Icons" on page 2-46.
A facet may also contain a palette, which is simply a collection of disconnected icons. Palettes are directories of stars, galaxies, and universes in a library. Thus, for example, figure 2-3 on page 2-17 shows two palettes, both of which contain sets of icons. Note that facet names, like file names in Unix, should not contain spaces.