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:
- 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.
- Synchronous/Reactive. Dataflow-ish in flavor, but better
at control.
- 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.
- 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.