Abstract
System level design is complex. One source of this complexity is that systems are often heterogeneous: different models of computation (e.g., dataflow, FSMs) are used to describe different components of a system. Existing formal methods for concurrent systems are typically based on one particular model of computation, so it is difficult to formalize the interaction between heterogeneous components. In this paper, we develop a framework for formalizing the relationships between different models of computation.