Nowadays, multi-core architectures become popular for embedded systems. As VLSI technology is scaling to deep sub-micron domain, an envisioned trend is that the architectures of embedded systems are moving from multiple cores to many cores. Although state-of-art multicore and future many-core architectures provide enormous potential, scaling the number of computing cores does not directly translate into high performance and power efficiency. To exploit the potential of a multi(many)-core platform under stringent time-to-market constraints, software development does not only need to tackle the still-valid classical requirements, e.g., memory constraints, programming heterogeneity, and real-time responsiveness, but also face new challenges stemming from the increasing number of computing cores, for instance, scalability of the technologies.In this thesis, we focus on the class of streaming embedded systems at system level and address three important aspects of the software construction of multi/many-core embedded systems, i. e., programming, performance, and power. To address the programmability of multi/manycore embedded systems, we present a model-of-computation based programming model which supports scalable specifications of a system in a parametrized manner. In terms of performance estimation, we present both analytic and simulation-based techniques to tackle the complex interference and correlations within multi/many-core embedded systems such that accurate estimation can be conducted. We also investigate power-efficient design and propose offline and online algorithms for dynamic power management to reduce the static power consumption under hard real-time constraints.