Uncertainty is unavoidable in engineering design, which may result in variations in the objective functions and/or constraints. The former may degrade the designed performance while the latter can even change the feasibility of the obtained optimal solutions. Taking uncertainty into consideration, robust optimization (RO) algorithms aim to find optimal solutions that are also insensitive to uncertainty. Uncertainty may include variation in parameters and/or design variables, inaccuracy in simulation models used in design problems, and other possible errors. Most existing RO algorithms only consider uncertainty in parameters, but overlook that in simulation models by assuming that the simulation model used can always provide identical outputs to those of the real physical systems. In this paper, we propose a new RO framework using Gaussian processes, considering not only parameter uncertainty but also uncertainty in simulation models. The consideration of model uncertainty in RO could reduce the risk for the obtained robust optimal designs becoming infeasible even if the parameter uncertainty has been considered. Two test examples with different degrees of complexity are utilized to demonstrate the applicability and effectiveness of our proposed algorithm.