Cyber Physical Systems (CPS) are characterized by a tight coupling between the physical and the computational worlds. As system complexity and heterogeneity increase, it is becoming more difficult to perform design space exploration at the system level and analyses between the system architecture and control algorithms. Often, designers are expected to solve combinatorial problems over a large discrete variable space that is coupled to a continuous space, where expensive, high-fidelity simulations must be run to achieve the desired accuracy. In this thesis, I build upon a design methodology, based on the principles of Platform Based Design, to address the challenges associated with next generation CPS. The CPS design methodology is a series of three steps including: Architecture Selection, Control Synthesis and Verification/Optimization. I extend Architecture Selection to support a mixed discrete and continuous design space. The proposed approach is an iterative process, where a discrete architecture selection engine is placed in a loop with a continuous sizing engine. First, the selection engine proposes a candidate architecture to the sizing engine. Then, the sizing engine attempts to optimize continuous parameters subject to formalized design requirements, which are monitored using simulation. If the sizing engine cannot find a feasible solution, the selection engine is queried for another candidate architecture and the process repeats. I illustrate the methodology on an industrial case study, namely an aircraft Environmental Control System. Finally, I show how balance equations and conservation laws can be used to prune the discrete search space and reduce the number of simulations. In my experiments, I obtain more than an order of magnitude reduction in design runtime.