How to install and run the single-loop truck detection application.

Squeak and Smalltalk/X

You'll need Squeak and  Smalltalk/X (ST/X).  This document is prepared by testing with ST/X version 5.2.6 and Squeak 3.8.


You'll need some traffic data files to run the application over.  One from the Berkeley Highway Laboratory is here.  The other from the Freeway Service Project is here.  Extract these zips and remember where you put them.  You'll also need this one.
(You may find that the contained files are compressed as well, with a ".Z" extension - unzip these too). Verify that there is some regular numbers and characters in some of these files.


You'll need the Smalltalk/X changeset and Squeak image. Run the Squeak image and file the Smalltalk/X changeset into some Smalltalk/X image.


You can make sure the ST/X code filed in properly by running the tests.  In ST/X, open the SUnit Test Runner and run all tests in the Infopipes-Tests category.  All tests should pass.

Now make sure that the Infopipes code filed in properly.  First, you'll need to point the code at where you put the data lives.  So make changes to the following methods:

BHLDataFile class >> fileLocations
FSLDataFile class >> fileLocations

Change the directories to where you put all these files, including easy.dsl.

Run all tests in Infopipes-Traffic-Tests.  All should run except five:

testRegeneratedUpstreamPulse (in two classes)
testRegeneratedDownstreamPulse (in two classes)

These five should fail, because they are a limitation with the current implementation.

NOTE: you should probably save your image and restart ST/X at this point.  The Netpipes implementation is listening on a port, and there doesn't seem to be an easy way to stop that.  For the rest of this document, Netpipes should only be listening from the Squeak side.  You need to restart ST/X so just Squeak can listen on the port.

On the Squeak side, you may run NetpipeTest2, the only included test (note: the original Netpipe is deprecated).

Running the App

You should now be able to run the application.  Open the Squeak image and the ST/X image with everything filed in. 

On the Squeak side, DoIt to:

SystemTest truckVolumeGraph

Then, on the ST/X side, run:

SystemTest truckVolumeGraph

(Aren't I clever?)  With some luck, stuff should be graphed on the Squeak side as it is being streamed from the ST/X side.  When the app is finished, or you get bored, you should press "Proceed" on both sides to clean up the connection.

Now, of course, you can analyze traffic in the true Smalltalk spirit - without further documentation.