run_CoupledDEVS.jl 622 B

123456789101112131415161718192021
  1. include("../Framework/AtomicDEVS.jl")
  2. include("../Framework/CoupledDEVS.jl")
  3. include("./PolicedTrafficLight_DEVS/TrafficLight.jl")
  4. include("./PolicedTrafficLight_DEVS/PoliceAgent.jl")
  5. include("./PolicedTrafficLight_DEVS/TrafficModel.jl")
  6. using Agents
  7. using .Atomic, .Coupled, .TrafficLightModel, .PoliceModel, .City
  8. function run()
  9. # Build the structure
  10. city = build()
  11. # Compile to flat Agents.jl ABM
  12. AgentUnion = Union{TrafficLightModel.TrafficLight, PoliceModel.PoliceAgent}
  13. model = compile_devs(city, AgentUnion, (Atomic.UniversalEvent, ); logging=true)
  14. simulate_devs!(model, 30.0)
  15. end
  16. run()