Managing Complexity in Heterogeneous System Specification, Simulation, and Synthesis
Heterogeneous systems can be specified using different levels of abstraction and/or semantics for the various subcomponents. For instance, a multimedia telecommunication system can be specified as a combination of an event-driven subsystem representing the packet-switched network and a dataflow subsystem modeling the signal processing components. Ptolemy supports multi-paradigm simulation in which different computational models co-exist; e.g. a dataflow system can interact with a finite-state machine component, or a hardware system can interact with software. Finally, heterogeneous systems can be synthesized using the hardware and software synthesis mechanisms reported in [2][4][7]. We have developed a mechanism to combine diverse schedulers (with different optimization objectives) for the software synthesis process [8]. This simplifies the software scheduling problem and also enables the use of specialized schedulers. This paper will focus on managing the complexity in these phases of the design process.