When will an improved description of the primitive library be availble? When will the individual primitives have better descriptions? Can the box comments be viewed? How is the library validated?
Discussion
The documentation of the library was poor in early versions of Gedae, but efforts were made for Release 3.0 to provide a useful description of the library and its boxes. Appendix D of the user's manual outlines the content of the embeddable library. Tables are provided that group the boxes of the library by function type. Each table is arranged by data and token type to allow the user to easily pinpoint which box is needed. Documentation of individual primities is centralized in the boxes' Comment sections which can be viewed in several ways. The Comment descriptions are tersely worded but include full, precise formulas.
The Solution
The tables of Appendix D in the user's manual group all the functions of the library by function type. For instance, the first section of this Appendix is on "Binary Addition." The five tables in this section list all boxes included in Gedae that add two items. Each table is arranged by token and data type. If the user wanted to find the binary addition box that added a constant complex scalar to real variable vector stream, he would simply match the row marked for constant complex scalar to the column marked for real variable vector to find the box vv_addX.
The descriptions of the boxes in their Comment field provide the documentation for the boxes. These comments can be viewed by pressing the Help button in either the Add Box dialog or the Search dialog. Of course, they can alsobe viewed in the Embeddable Box Editor along with the source code of the box.The source code for all primitives is available by just double clicking onthe box to open the box editor.
The primitives supplied with Gedae call a set of core functions whenever possible. These core functions are referred to as the E underscore functions (e_functions for short). The e_functions are a set of routines which are typically supported by vendors in their optimized vector libraries. The routines allow Gedae to use the appropriate optimized library call when the box is run on an embedded processor. While looking through the code of the primitives, a description of the e_functions is useful, and this information is provided in Appendix C of the user's manual.
Steps have been taken to make finding a box easier. The tables in Appendix D that document the libraries' structure allow the user to find a box by function type. The directory structure of the embeddable library separates boxes by data (lower level directory) and token (higher level directory) type. A search utility is also available for finding boxes. The Keyword section of the box lists words describing the functionality of the box. These words along with the input and output data descriptions make up the database for the search utility.
All of the boxes in the library have been tested to some extent. At the least,each box has been successfully used in a simple graph and run on a simple data set. We call this type of testing "Level 1 Testing." All boxes in the library have been Level 1 Tested. Many boxes in the library have been more fully tested. The next level of testing, "Level 2 Testing," means the box has been included in a testing suite that is run successfully on all supported embedded architectures and at several different firing granularities. Approximately 1100 of the boxes in the library have been Level 2 Tested.
Future Plans
As mentioned above, the box comments can be viewed inside Gedae or by
viewing the source code. It would also be beneficial if the comments were
grouped in a separate document. Plans are in place to create a utility that
automatically generates an HTML document for the library that includes all
the primitive's comments. Two different versions will be created, one that
will list boxes in alphabetical order, and one that groups, using the keywords,
the boxes by function type.
More Information
Sections of the old user's manual, for instance Appendices C and D, are
available to users by request.
return to top