Performance-based and performance-driven architectural design and optimization