1. Resouce Facilities
    1. Resources
      1. Resources have one or more identical resources units, for example, gas station with gas pumps
      2. Entities may hold and release the resouce units
    2. Levels
      1. Levels model the supply and consumption of a homogeneous undifferentiated “material”, for example, gas tank with gas
      2. A Level holds a non-negative number.
      3. Entities can decrease or increase the non-negative number held by the Level.
    3. Stores
      1. Stores model the production and consumption of distinguishable items, for example, spare parts inventory with spare parts
      2. A Store holds a list of items of any types
      3. Entities can insert or remove items from the list
  2. SimPy Program
    1. Import
      1. from SimPy.Simulation import *
      2. from SimPy.SimulationTrace import *
    2. Initialize global simulation variables and sets the software clock to 0.0
      1. initialize()
    3. Create and activate entities
    4. Simulation Execution
      1. simulate(until=endtime)
    5. Simulation termination
      1. no more events
      2. endtime is reached
      3. stopSimulation( )
  3. Entities
    1. Entities are objects of user defined class, for example, automobile
    2. Each entity has a standard method, Process Execution Method (PEM).
    3. Activity of an entity may be delayed, interrupted or interact with other entities
  4. Monitors
    1. Monitors record simulation events
    2. Monitors compile summary statistics
    3. Simple averages and variances, time-weighted averages, or histograms
  5. Processes
    1. Active entities
    2. inherited from SimPy's process class
  6. Similation Time
    1. A software clock
    2. now()