EE382C Embedded Software Systems
Process Networks

Lecture

Supplemental Information

Threaded programming Process Networks

Scheduling

According to Prof. Edward A. Lee, dataflow modeling alone is perhaps not ideal for networking applications since it is awkward to specify control using pure dataflow. There are several possibilities:
  1. Dataflow and finite state machine models. A hierarchical combination of these might be a good solution. We have an experimental formalism called heterochronous dataflow that is expressive with regard to control, but decidable like SDF (and hence, in principle, amenable to synthesis). See paper by Girault, Lee, and Lee on the Ptolemy website.
  2. Synchronous/Reactive. Dataflow-ish in flavor, but better at control.
  3. Synchronous/Reactive (SR) and Process Networks (PN) models, with PN at the top level. SR provides fairly tightly coupled concurrency, which may not match your architecture well. We have done very little experimentation with SR + PN, but it seems promising. Some people advocate this sort of "globally asynchronous, locally synchronous (GALS)" approach.
  4. Timed Multitasking. Aimed at implementation using priority-driven RTOSs, but with a more deterministic model of computation than that offered by threads and semaphores, the standard RTOS-based development strategy.


Updated 01/11/06.