[an error occurred while processing this directive]

Instructions for Implementation Specifications


Introduction

The implementation specifications for a module lay out implementation plans to aid the implementors of the module. They are primarily concerned with specifying the data structures that will be used and algorithm descriptions for functions. They also specify and describe algorithms for private functions that used internally.

Client Specifications

This section just gives links to sections of the client specifications. You can complete this section by filling in the module name in each of the HTML links.

Implementation Data Model

For standard data structure implementations, this can be a short section, just mentioning the type of implementation. For other kinds of modules, this section should briefl describe the data structures and sketch the algorithms for public functions. Private functions should also be described, and the algorithm sketches for public functions should indicate where the private functions are used.

Private Importing Information

This section should list the includes that are needed in the module source code file.

Private Data Type Implementations

This section should give a detailed description of private data types used in the module. Where structs are used, their members should have a brief comment describing their function.

Public Data Type Implementations

This section should give a detailed description of public data types used in the module. Where structs are used, their members should have a brief comment describing their function.

Private Function Specifications

This section should contain precise specifications for each function that is intended for internal use only. Clarity, precision, and conciseness are important qualities to consider here. These quality factors are dependent on the design of the functions as well as the words that you use to describe them.

Private Function Algorithms

This section should contain algorithm descriptions for each function that is intended for internal use only. It is convenient to mention parameter names and types at the beginning.

The description of complex algorithms should use pseudocode rather than actual code. Aim for a level of description that is intermediate between the client specification and the code. You check algorithm correctness by comparing client specifications and algorithm descriptions. You check code correctness by comparing algorithm descriptions and code. If the difficulties of these two tasks are approximately equal then your algorithm description is at the right level of detail.

Public Function Algorithms

This section should contain algorithm descriptions for each function that is intended for use by a client. It is convenient to mention parameter names and types at the beginning. The algorithm description should use pseudocode rather than actual code.

Examples

[an error occurred while processing this directive]