STREAM project page for Linear Road Benchmark


This page contains information about the Linear Road Benchmark relevant to the STREAM project. More information about the Linear Road Benchmark, including the motivation and specification, can be found here. Currently, this page contains the specification of the benchmark expressed in CQL (Continuous Query Language), a declarative language for continuous queries over streams, developed as part of the STREAM project. The CQL specification makes some minor assumptions in places where the original specification is unclear or imprecise. These assumptions are indicated at the relevant places.


The input to the benchmark contains four "live" streams and some "historical" data. The input streams are described below. Currently, the format of historical data, which is required to answer the adhoc queries above, is not specified. We have presently modeled the historical data using an additional input stream; this modeling will be changed when the complete specification of historical data is provided.

Benchmark Specification

The CQL specification of the benchmark is divided into six parts:
  1. Toll notification.
  2. Toll computation for segments.
  3. Accident detection and notification.
  4. Negative toll generation.
  5. Accounting.
  6. Adhoc query answering.
Instead of presenting the output streams as monolithic queries over the input streams, we use several intermediate streams and relations (see the CQL Technical Report for the definition of the two basic data types in CQL, namely, streams and relations) in the output specification.

Toll Notification

Toll Computation for Segments

The toll for each segment depends on the average speed and volume of the cars in the segment, and on the presence of accidents in downstream segments.

Accident Detection and Notification

An accident has occurred if a car reports the same location four consecutive times. When an accident is detected by the system, all the cars in 5 upstream segments have to be notified of the accident. Further, 10 upstream segments remain affected for upto 20 minutes after the accident is cleared, and are not tolled.

Negative Toll Generation

Negative tolls are provided to cars on two occasions. First, if a car exits on a segment, the toll for the segment is waived; we model this waiver as a negative toll. Second, if a car exits on any of the five segments upstream of an accident segment, a negative toll of $X is credited to the car's account.


Adhoc Query Answering

Last modified: May 11, 2003. Please send comments and questions to