|
||
The ProtoCollum Graphical User Interface (GUI) enables you to lay out the design for a protocol model and run various test scenarios to determine if your design is correct.
The general layout of the GUI is shown in Figure 3.1.
The various parts of the GUI are:
A property window can be opened for any object by right-clicking on the object while in Select mode (applies to both an Edit Sheet and a Test Sheet). The design state, or architecture state, of the object is found on the tab labeled Public. A tab labeled Graphic contains the drawing properties for the current view of the object. In addition, an object may have other tabs that allow code to be entered in order to affect the behavior of the object during the running of a test scenario.
Fields with a light yellow background can be changed by selecting the field with a mouse Left-click and then typing the desired text. Fields with a gray background are read-only. Color fields can be modified by selecting the button to the right of the field value, which brings up a color selection popup window.
The initial values for the graphical properties and the code of an object are taken from the Class Properties window which is available via the menu item Edit>Class Properties. When an object is created, it takes its initial value from the Class Properties. Note that changing the Class Properties will affect only the initial values of objects created after the change is made. This is because each object stores its own initial values when it is created.
The values found in the Class Properties window are taken from the <pkg>::Option() arrays which can be initialized via preference files, environment variables, or command line options. See Customization for more information on program startup initialization.
ProtoCollum uses the package functions provided by the Tcl language to load additional code into the tool. This code can be pure Tcl code and/or compiled object code (in dynamic or shared library format). The menu item File>Package Management opens a window that handles the three main operations you can perform with packages:
Figure 4.4 shows the Manage Packages window. It has a tab for each of the three package operations.
The next three sections describe each operation in detail.
On the Load tab is shown a list of available packages. These are the properly formed Tcl packages that can be found given the current value of the ::auto_path variable. When a package is selected (left-clicked) in this list, it is transferred to the loaded list on the left side of the window. The color is blue to indicate that this transfer is not yet permanent. A left-click on a blue entry will remove the package and put it back into the available list.
Uncommitted (blue) packages that have been added to the loaded list are committed only when the Apply or OK button is pressed. At that time these new packages do a package require <package_name> which causes the command inside the pkgIndex.tcl file for the package to be executed. Typically, this command does a source of Tcl code or a load of a compiled object file.
The Find button on the tab will open a file browser window that is used to select the pkgIndex.tcl file of a package that is not showing in the available list. The path to this file is added to the ::auto_path variable, so it is possible that even with just one pkgIndex.tcl selection, a number of packages will show up in the available list.
On the Binder tab is shown a list of packages that will be put into the Binder public variable PackageList and saved in the .mps file when the Binder is saved. (See File Types for more information on .mps files.) This may be necessary because of the code which can be embedded in the PE and Event objects. If the embedded code uses procedures from non-standard packages, then the Binder needs to know which packages are required for correct execution.
Selecting a package entry on the Binder tab removes it from the list. Selecting a package on the left (which shows loaded packages) places the package into the Binder list.
The System tab allows you to select which package is to be used to define the execution code for the objects during the running of test scenarios. The name of the currently selected System package is shown on the tab. A new package can be chosen from the loaded list, or the entry can be cleared using the Clear button.
A package to be used as a System package has special requirements that must be met. There are certain procedures and variables which must be defined.
|
Copyright © 2003-2005 by Bellum Software
last updated on 29 May 2005 |