1. A method for computer aided design, the method comprising: obtaining a block-based model of a hardware realizable system; identifying an internal gateway-in and an internal gateway-out of a module of the block-based model; assigning an interface protocol for the internal gateway-in and the internal gateway-out; analyzing data type and data propagation for the module at the internal gateway-in and the internal gateway-out; transforming the internal gateway-in and the gateway-out into an input/output interface; and generating integrated code for subsequent realization of the input/output interface in hardware.