1. A method comprising: generating utilization data and performance data for a simulated multi-core system with a workload model that models one or more types of workloads based on parameters that characterize the one or more types of workloads; generating thermal data and power consumption data for the simulated multi-core system with a power model that models power consumption at a chip-level and a system-level; generating performance counter information for the simulated multi-core system with a performance model that models change of performance counters over time and at least one of the generated utilization data and the generated performance data as input to the performance model; and providing one or more of the thermal data, the performance data, the performance counter information, the utilization data, and the power consumption data as input into an executing instance of program code that generates power management simulation events based, at least in part, on one or more of the thermal data, the performance data, the performance counter information, the utilization data, and the power consumption data; wherein in response to determining that one or more of the thermal data, the performance data, the utilization data, and the power consumption data indicates a feedback loop, writing model data and notifying one or more dependent models that the model data is available for use by at least one or more of the dependent models in the feedback loop.