We introduce a task model for embedded systems operating on packet streams, such as network processors. This model along with
a calculus meant for reasoning about packet streams allows a unified treatment of several problems arising in the network
packet processing domain such as packet scheduling, task scheduling and architecture/algorithm explorations in the design
of network processors. The model can take into account quality of service constraints such as data throughput and deadlines
associated with packets. To illustrate its potential, we provide two applications: (a)a new task scheduling algorithm for
network processors to support a mix of real-time and non-real-time flows, (b)a scheme for design space exploration of network
processors.