Scalable Techniques for System-level Co-simulation and Co-estimation