 
 ; MAIN
 
+(defn- log-data [{:keys [reservations cars flights rooms]}]
+  "Write `data` to log."
+  (log "reservations:" reservations)
+  (log "cars:" cars)
+  (log "flights:" flights)
+  (log "rooms:" rooms))
+
 (defn -main [& args]
   "Main function. `args` should be a list of command line arguments."
   (when-let [options (parse-args args)]

                     :n-relations    (:relations options)
                     :n-queries      (:queries options)}]
        (log "options: " options)
        options)
      nil)))


            (map #(spawn customer-behavior % data options) (range n-customers))
          done-promises
            (repeatedly n-reservations promise)]
      (log-data data)
      (doseq [[customer reservation done?]
                (zip (cycle customer-actors) reservations done-promises)]
        (send customer reservation done?))
      (doseq [done? done-promises]
        (deref done?))
      (log-data data)))
  (Thread/sleep 1000) ; XXX
  (shutdown-agents))
