\section{Hardware Model} The target architecture of the work in this thesis are \emph{heterogeneous shared-memory many-core computers}. There is no universally accepted definition of \emph{many-core} yet, but normally it is assumed to mean "more cores than multi-core", usually tens or hundreds of cores. Scientific workflows feature a very high-level and abstract view of the underlying hardware. The abstract part of a workflow specification should ideally be completely devoid of any hard-ware specific details. \emph{Atomic activities} are an abstract representation of any kind of computational work, and the corresponding activity implementations which make up the concrete part of a workflow specification are supposed to be interchangeable without any preference for a specific implementation or specific hardware. Therefore, in the context of this work we use a very relaxed definition of the term \emph{many-cores} and assume it refers to a single computer featuring tens or hundreds of computational resources which can independently process computational work.