Many embedded systems, e.g. mobile phones, industrial controllers, include cooperation hard and software components. Because of greater complexity of heterogeneous systems, the need to reduce development and testing costs and the progress in key technologies (microelectronics, formal design methology) these systems get more popular.
This lecture deals with the aspects which hard and software components should be used, how to partition a specification in hard and software, the automatic synthesis of interface and communication structures and the verification and cosimulation.