### SPNBOX for C

SPNBOX is the suite of functions for supervisory control under ACTS, A Concurrency Tool Suite (see the SourceForge project). SPNBOX was originally developed by Dr. Marian V. Iordache for Matlab. SPNBOX for C is a conversion of the original Matlab functions into C, designed for use with the rest of ACTS. It was converted by Stephen Camp.

The SPNBOX files are of three kinds: support files, functions used by the rest of the SPNBOX tools; the SPNBOX functions themselves, those which actually perform supervisory control; test files, used for creating demonstration executables, and the scripts that provide them with problems.

In addition, the SPNBOX tools make use of the third-party LPSOLVE Linear Programming library. SPNBOX's use of LPSOLVE is discussed in detail in this documentation. LPSOLVE itself has its own here.

This documentation provides information about the files and functions primarily from a developer's perspective.

#### Index

- SPNBOX Functions
  - General Information and Coding Conventions
  - Building SPNBOX
  - Original SPNBOX for Matlab Manual
- Support Files
  - Deallocation Functions (deallocation.c)
  - Extended Matrix Manipulation (extendedmatrix.c)
  - LP Solve Library (liblpsolve55.a)
  - Matrix Arithmetic (matrixmath.c)
  - Dynamic Memory Management (MemoryManager.c)
- Test Files
  - General Information and Coding Conventions
  - Building Test Routines
  - High-Level I/O Routines (StructuredIO.c)
  - Third-Party Memory Debugging Library (memwatch.c)