MGL-PAX documentation for clips

Table of Contents

[in package CLIP/DOC]

1 Motivation and concept

From the original manual:

We collect information from software systems for many reasons. Sometimes, the very purpose of the system is to produce information. Other times, we collect data for debugging, feedback to the user - in general, for understanding the system's behavior. Unfortunately, there seem to be few general tools available for this task. Instead, we often find ad hoc, domain-specific code, spread throughout a system, varying from component to component, despite strong similarity in the requirements for any data collection code.

Clip, the Common Lisp Instrumentation Package, standardizes data collection. It is named by analogy with the "alligator clips" that connect diagnostic equipment to electrical components. By standardizing data collection, we can more easily add and delete instrumentation from our systems. We can reuse a piece of data collection code, called a CLIP in other systems we are studying. We can use general tools to analyze the collected data. Instrumentation in a system becomes more easily used and understood, because the basic functionality of the system is separated from the functionality of the instrumentation. We designed Clip to be used for scientific experiments, in which a system is run under a number of different conditions to see whether and how the behavior changes as a function of the condition. Consequently, we view an experiment as a series of trials, varying the settings of experiment variables and collecting information. Generally speaking, an experiment comprises the following steps:

  1. Creating clips and inserting them into the system to be studied. Generally, clip measures one particular aspect of a system, but you can also define clips that combine many measurements, including other clips. Often, the clips you need will already be defined.

  2. Define the experiment, in terms of what system is to be run, any necessary initialization code, and the conditions under which it is to run (different input parameters or environmental conditions).

  3. Run a series of trials, saving the output into a Clasp format data file. This format is described in the Clasp manual section Data Manipulation Functions, although it isn't necessary to understand the file format. Clasp can read what Clip writes.

Clip can also write data files in standard tab or space delimited format used by most other statistical packages, databases and spreadsheets.

Instead of CLASP, CLIP/LOADER::LOAD-MEASUREMENTS can be used to load the data as lisp-utils frames.

2 Documented interface

2.1 The clip-1994 ASDF System

3 Loading CLASP format

3.1 The clip-1994/loader ASDF System

4 Clip classes

This is for a reference from clips.

5 New locatives

5.1 The clip-1994/doc ASDF System

6 Demos

6.1 The clip-1994/demo ASDF System

6.2 Documentation of the simple agent experiment

[in package CLIP-USER]

This example collects trial summary data about overall agent-cost and task completion-time. Collection occurs at the end of each trial and is written out to a summary file in Clasp format.

6.3 Documentation of the agent experiment

[in package CLIP-USER]

This example collects trial summary data about overall agent-cost and task completion-time. Collection occurs at the end of each trial and is written out to a summary file in Clasp format.

6.4 Documentation of the super agent experiment

[in package CLIP-USER]

This example collects trial summary data about overall agent-cost and task completion-time. Collection occurs at the end of each trial and is written out to a summary fole in Clasp format.

7 Background