# Robust-first Computing Wiki

### Site Tools

people:trent_small:city_planner

# City Planner

Here is an overview of a trainable traffic system, which will be the focus for my research this semester.

## Elements

* Element_City_Street

• Seed element.
• Has a Direction.
• Reproduces in this direction if no street.
• Builds sidewalks perpendicular to this direction.
• Chance to build a City Intersection.

* Element_City_Intersection

• Has a bitfield, representing roads in the 8 directions, assigned randomly upon creation.
• Creates roads in these given directions.
• Waits for a vehicle, then moves it the correct direction.

* Element_City_Sidewalk

• Used as a border for buildings.
• Once enough are created, creates an City Building in the enclosed empty space.
• Three states:
• NO_NEIGHBORING_SIDWALKS
• MOORE_NEIGHBORING_SIDEWALKS
• EW_NEIGHBORING_SIDEWALKS (Can randomly create buildings)
• Remembers small number (Queue) of City Vehicles which have passed by. This aides heavily in routing.
• If the same car runs by this sidewalk twice, some penalty is incurred to aide in routing. This avoids loops.

* Element_City_Building

• Three states:
• RESIDENTIAL
• COMMERCIAL
• INDUSTRIAL
• Finite size, determined (randomly or fixed)
• ID number, determined randomly under (randomly or fixed) celing value.
• If buildings collide and are of different type:
• INDUSTRIAL + RESIDENTIAL = RESIDENTIAL
• INDUSTRIAL + COMMERCIAL = COMMERCIAL
• COMMERCIAL + RESIDENTIAL = COMMERCIAL
• After established for many AEPS and borders a sidewalk, creates a City Vehicle on the Street with different ID than building.

* Element_City_Vehicle

• Can be either:
• CAR (low value / high occurrence, any building to any other building)
• TRUCK (medium value / medium occurrence, INDUSTRIAL to COMMERCIAL)
• AMBULANCE (high value / low occurrence, COMMERCIAL to RESIDENTIAL)
• Target building type.
• ID number. Tries to find corresponding ID in target building, then is consumed.
• Unique (16 bits?) ID number for routing help.
• Events alive (16 bits?) If alive longer without finding building, runs out of gas. Else, is scored.
• If vehicles collide, one jumps over another. This is complicated enough without wrecks. I believe traffic jams will be rare.
• Upon reaching an intersection, will stop and have the intersection move it to the correct direction.
Starting TLS failed