Model elaboration aspects of Model-Based Design are presented. It is shown how an edge detection filter can be systematically moved through different design phases. To this end, a reference algorithm can be compared to an implementation that is increasingly closer to an implementation. Automatic program synthesis allows the generation of C code or a representation in a hardware description language (HDL). The HDL emulation can then be co-simulated in the system context to study behavior of an implementation at the cycle level. This facilitates analysis of system characteristics with detailed component implementation models and mitigates the need for extensive testbench design.