Embedded systems are computer systems that perform dedicated functions while being parts of a larger system. Our research targets primarily heterogeneous many-core System on a Chip (SoC) platforms where communication happens via the network-on-chip. These SoCs should be designed to meet aggressive performance requirements, while coping with limited battery capacity, thermal design power, and real-time constraints. Over the years, we have considered deterministic, probabilistic, and statistical physics-inspired design paradigms. Lately, our research targets machine learning approaches (e.g., imitation and reinforcement learning) for performance and energy optimization and resource management in heterogeneous SoC platforms.