Design of cyber-physical systems today relies on executable models. Designers develop models, simulate them, nd defects, and improve their designs before the system is built, thus greatly reducing the design costs. However, current model-based design methods lack support for model libraries (creating and exchanging models as "black boxes"), tool interoperability (allowing models to be co-simulated by multiple tools), and multi-view modeling (allowing to combine models that "live in different worlds", for instance, a control-logic model with an energy-consumption model).