Pre-simulation elaboration of heterogeneous systems: The SystemC multi-disciplinary virtual prototyping approach