Automatic Generation of Parallel Code for Multi- and Many-core Systems with High Reliability and Performance by Utilizing Model Diagrams and C Source Code