Activity: Extending the Airport Model

Discrete-Event Modeling Activities

Author

Manuel D. Rossetti, PhD P.E.

We extend the model together: the instructor types the code, and you type along. Before each run, write down a prediction; then run and check it.

The situation. The airport checkpoint of the previous activity, with two extensions:

  1. Paperwork. A passenger who fails inspection goes to check-in and spends a time uniformly distributed between 10 and 15 minutes getting paperwork in order (stream 5). The passenger then rejoins the inspection line, and always passes the second time.
  2. X-ray. A passenger who passes inspection, the first time or after paperwork, goes to a single X-ray machine, which takes an exponential time with a mean of 2 minutes (stream 4), and then leaves security.

Estimate, for 30 days of 10 hours each: the officer’s utilization, the average number waiting for inspection and the average wait, the probability of waiting 5 minutes or more for inspection, the average number of passengers processed per day, and the average time spent in security.

Setup. Get the starter file AirportExtended.kt from the code/ folder beside this activity, and put it in src/main/kotlin/student/activities. It holds the previous activity’s model, renamed; the changes, marked TODO, are what we write.

1. Model the changes

  1. Redraw the activity diagram with the two extensions.

  2. What new random variables, responses, and events does the model need?

  3. A passenger who comes back from paperwork must pass. Why does that force us to give passengers an attribute, and what is it?

2. Predict

  1. Every passenger who fails comes back once. Predict the officer’s utilization, and the X-ray machine’s.

  2. What does your answer for the X-ray machine suggest about the X-ray line over a 10-hour day? Which station will hold passengers longest?

3. Code along

  1. TODO 1 and TODO 2. We add the new random variables and the X-ray’s responses. Why do we no longer need the cleared and denied counters?

  2. TODO 3. We add a Passenger class. Where is its attribute set, and where is it changed?

  3. TODO 4. We route the passengers and write the new events. How does a passenger get back into the inspection line after paperwork?

4. Run and compare

  1. Run the model. How do the officer’s and the X-ray’s utilizations compare with your predictions? Why is the X-ray’s less than your prediction?

  2. Where do passengers spend most of their time in security?

  3. Compare the passengers processed per day with the previous activity’s cleared passengers per day. Why are there more?