SteerSuite User Guide

Shawn Singh

All Rights Reserved.

Abstract

This document walks through the main features of SteerSuite and how to use them. If you are new to SteerSuite, this is a good place to start. If you are already familiar with SteerSuite, it is still useful to quickly look up how to do common SteerSuite tasks. This guide assumes you have some knowledge of C++ and have an interest in steering behaviors, but no prior knowledge of steering behaviors is required.

In addition to this User Guide, there is also a Reference Manual and a Code Reference. The SteerSuite Reference Manual describes the test cases, metrics, benchmark techniques, modules, and options/controls for programs that are provided with SteerSuite. The Code Reference is doxygen-generated documentation of the SteerSuite code. To find the latest version of all these documents, visit the SteerSuite web page.

Enjoy!

Quick pointers to the relevant documentation.  The following list is for those who want to quickly jump to the relevant documentation:


Table of Contents

1. Introduction
1.1. What is SteerSuite?
1.2. What can be done with SteerSuite?
1.3. SteerSuite Features
1.4. Why SteerSuite?
1.5. Credits and Contact Information
2. Getting Started
2.1. Prerequisites
2.2. Building SteerSuite
Compiling for Unix Platforms
Compiling for Windows Platforms
2.3. Introduction to SteerSim
Running SteerSim the First Time
Basic Options and GUI Controls
Optional Configuration File
SteerSim Modules
3. SteerSim and SteerBench: Three Common Tasks
3.1. Simulating a Test Case using SteerSim
Specifying the Module Directly
A Common Mistake
Using Test Cases with Your Own Algorithm
3.2. Recording and Replaying a Simulation using SteerSim
Specifying the Modules Directly
3.3. Benchmarking a Recording using SteerBench
Interpreting Benchmark Scores
Online benchmarking
4. Programming with SteerLib
4.1. Including and Linking SteerLib
4.2. Error Handling in SteerLib
4.3. Reading a Test Case
4.4. Reading a Recording (Rec File)
4.5. Writing a Recording (Rec File)
4.6. The Spatial Database
4.7. Metrics Collectors and Benchmark Techniques
4.8. The Util Namespace
5. Advanced Features
5.1. Creating a Custom Test Cases
5.2. Creating a Benchmark Technique
5.3. Creating a SteerSim Plugin
5.4. The SteerTool utility
Authenticating a Rec File
Converting Between Big-endian and Little-endian
Querying Information of a Rec File
6. Troubleshooting tips when using SteerSuite
6.1. Problems Running SteerSim
6.2. Problems Compiling with SteerLib
A. The Steering Problem
A.1. Steering in Practice
A.2. Challenges in Steering

List of Examples

4.1. Catching exceptions to handle SteerLib errors
4.2. Using the SteerLib::TestCaseReader class to load a test case.