http://chess.eecs.berkeley.edu/ April 13, 2010 Center for Hybrid and Embedded Software Systems Compositionality in Synchronous Data Flow Stavros Tripakis Dai Bui Bert Rodiers Edward A. Lee Marc Geilen • Model-based design for embedded software: build software starting from high-level models • Synchronous Data Flow (SDF): popular model in embedded systems, signal processing • Ptolemy II: heterogeneous modeling environment that includes hierarchical SDF models Ongoing Work •Comparing clustering algorithms •Modular performance analysis •Refolding Actor Firing Clustering Unfolding SDF Schedule Graph Greedy Backward Disjoint Clustering Preliminary Implementation Test Cases Motivation: Incremental Compilation • Large Ptolemy models => long time to compile • Incremental compilation: generate code for parts of the model independently from others => modularity References •S. Tripakis, D. Bui, B. Rodiers, and E.A. Lee. Compositionality in Synchronous Data Flow: Modular Code Generation from Hi- erarchical SDF Graphs. Technical Report UCB/EECS-2009-143, EECS Department, University of California, Berkeley, Oct 2009. •E.A. Lee and D.G. Messerschmitt. Static scheduling of synchronous data flow programs for digital signal processing. IEEE Trans. Comput., 36(1):24–35, 1987. •R. Lublinerman, C. Szegedy, and S. Tripakis. Modular code generation from synchronous block diagrams: modularity vs. code size. In Principles of Programming Languages – POPL’09, pages 78–89. ACM, January 2009. •J. Falk, J. Keinert, C. Haubelt, J. Teich, and S. Bhattacharyya. A generalized static data flow clustering algorithm for mpsoc scheduling of multimedia applications. In Embedded Software – EMSOFT’08, pages 189–198. ACM, 2008. Hierarchical SDF Graphs Problem: SDF is not Compositional • Abstracting composite SDF into atomic SDF can result to deadlocks during feedback Our Proposal: Non-Monolithic Profiles • Each actor has multiple different firing functions Context Profile Synthesis Rate Analysis Deadlock Analysis