Summer 2002 CSE 403 Glossary of Terms


A taxicab.

Cab driver
The driver of a taxicab.

Another name for cab driver.


This unintuitive moniker describes the state a customer reaches after having a cab assigned to him.  The customer starts out first in a state where no cab has been assigned (a RideRequest) and then moves to this state (a CabRideAssignment) where the customer's data will reside in the "customers" and "ridelog" tables in the database.  A CabRideAssignment is immortal in the sense that some record of it will always remain (thanks to the database) but is also a flexible entitiy as it can be updated up until the ride is over (rideHasFinished is called) though currently there is no enforcement of this rule.

Corporate Account
Agreement with a company allowing that company's employees to use Evergreen's services by charging a common bank account.

Somebody who rides in a cab. This can either mean the actual person or the object that represents that person.

CVS (Concurrent Versions System)
An open-source network-transparent version control system. This is the version control system that we are using.

This is supported by the Eclipse IDE

Data Store
Module Responsible for *data backup, *data storage (for reports, etc)

Holds employee information, customer information, ride information, fleet information

One possible way to implement the data store.

Module responsible for interface with human dispatcher, updates to model (new customer, manual dispatch, queue adjustments, etc), displays current system state, traffic updates... 

The IDE (Integrated Development Environment), available free from, that we are using in the class. We are using Version 2.0. The Java Development Toolkit (JDT) gives Eclipse IDE Java support. Eclipse must run on machine w/ JRE or JDK 1.3+.

(Acronym) Estimated Time of Arrival. In reference to the project, the expected time that the cab will arrive, represented by Java's Date class.

Autobuild system. W/ each commit to CVS, Fireman will rebuild. The status of builds can be found on the Fireman Status Page

GPS (Global Positioning System)
Lasers and transistors...

Module that represents the "real world." It is responsible for holding current state data and providing access and updates to this data. Maintains zones, waiting customers, open cabs, busy cabs, etc.. information. Initiates ride request events to Scheduler to reserve cab for waiting customers; Receives updates from dispatcher, scheduler, cab consoles; updates storage when necessary;


This unintuitive moniker describes the "limbo" state where a customer resides in before being assigned to a cab.  Essentially, the customer has requested a ride but none has been assigned to him (via the scheduler.)   RideRequest data is stored in the database in an aptly named "riderequest" table.  Upon being assigned to a cab, that data is removed and put into the "customers" and "ridelog" tables as appropriate.  Data in the "riderequest" table corresponding to the customer who has not been assigned to a cab can be updated (if necessary.)  It is mortal in the sense that it describes a temporary customer state that will transition to a permanent state (see CabRideAssignment) and lose its representation in the database (the temporary data will be deleted.)   

(Acronym) Remote Method Invocation
The RMI system allows an object running in one Java Virtual Machine (VM) to invoke methods on an object running in another Java VM. RMI provides for remote communication between programs written in the Java programming language.

Module receives cab requests, finds cab, updates model with cab reservation. It is responsible, given a customer's info, and the current state of the model,  finding an appropriate cab for that customer. 

Mr. Webster says: a detailed precise presentation of something

Better than a regular visor...

Like the Seattle Mariners, or the 1979 Denver Broncos

Geographic subdivisions of the domain in which the cabs operate.