A Simulation-based approach to Software Performance Modeling