Modern embedded systems development, due to systems complexity and multifaceted nature, requires flexible high-level design techniques and notations. In this context, model-driven approaches are gaining popularity, both in industry as well as in academy, since they offer a high degree of abstraction and provide a common framework for the design, simulation and configuration management of complex heterogeneous systems. Moreover, a great variety of languages have been emerging as customization (or profiles) of the Unified Modeling Language (UML) for the embedded system and System-on-Chip (SoC) domains. No single modeling language or profile is adequate to cover aspects and requirements of the whole system development flow. Indeed, each of these languages owns characteristics and offers modeling primitives suitable for designing at a specific abstraction level. Therefore, possible strategies for integrating such UML profiles must be determined, in order to establish a common modeling framework able to support all steps of a system design development. This paper presents the integration of two modeling languages, the SysML and the SystemC UML profiles. The integration is based on a mapping from the SysML to the SystemC UML profile for the structural aspects, while for the behavioral aspects two main models of computation, SysML control-flow graphs and SystemC Process state machines, are proposed as complementary behavioral formalisms to be adopted in a model-driven SoC design flow at platform-independent and platform-specific description level, respectively. The integration we propose, has enabled us also to refine an already defined model-driven hardware-software co-design flow, where a gap remained moving from a platform-independent design level to a platform-specific level. The refined co-design flow starts from a SysML description at a high level of design abstraction, and proceeds through a chain of refined SystemC UML models, to lower levels of design abstraction, where the more complex last-level SystemC coding is left to automation.