EE382C Embedded Software Systems
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
- Synchronous/Reactive. Dataflow-ish in flavor, but better
- 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.