Multi-Objective Design Space Exploration of Multi-Core Architectures : the MULTICUBE Approach