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.
Data
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.
Code
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.
Testing
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)
testReadAccuracy
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.