The execution environment provides for scalability where components will
execute in parallel and exploit various patterns of parallelism. Dataflow
applications are represented by reusable dataflow graphs called map
components, while the executable version is called a prepared map. Using
runtime properties the prepared map is executed in parallel with a thread
allocated to each map process. The execution environment not only
monitors threads, detects and corrects deadlocks, logs and controls
program exceptions, but also data input and output ports of the map
components are processed in parallel to take advantage of data
partitioning schemes. Port implementation supports multi-state null value
tokens to more accurately report exceptions. Data tokens are batched to
minimize synchronization and transportation overhead and thread
contention.