JDPF Overview

:: Core Concepts

:: Computational Model

  > Parametrization

  > Execution

:: Components Examples


Computational Model

The implemented computational model has been "inspired" by Petri-Nets. Thus, the components are implemented through a collection of places, transitions and directed arcs. Data are moving through the component are embedded in objects called tokens. Places can be considered buffers of tokens.

Computational Model
Figure 1 - The Petri-Net like computational model

Each transition (block) works with data that are expressed through a specific data type. It receives data in a specific data type format and gives as output data that may be in the same data format (ex: filters) or not (ex: transformers). In JDPF, both blocks and data types are developed as plugins, thus, the library can always be extended according to the specific needs.

Delimited File Reader Component Parametrization

Before executing the component, it is necessary to parametrize the transitions (blocks). In order to do this, it is created a special token containing all the parameters for all the transitions. As shown in figure, the special token is going to be placed in the start places and from there it will propagate through the component. Each block will recognize its parameters and will configure itself.

Component Parametrization
Figure 2 - Parameters propagation through the component.

Delimited File Reader Component Execution

For executing a component, empty tokens are put in all the starting places. When a token is present in a certain place, the following transition is eligible to be activated. The empty tokens are necessary for allowing generator/s activation. Once the generator/s is activated, it will load the data and will embed them in a token that will notbe empty anymore.

Component Parametrization
Figure 3 - Empty token in the start place. It allows generator transition activation .

Component Parametrization
Figure 4 - The generator transition reads data and embeds them in a token.

Component Parametrization
Figure 5 - When the token is in the place, the split transition is ready to be activated.

Component Parametrization
Figure 6 - The split transition in this case is replicating the input data in the two output streams that will feed the two filtering transitions.

Component Parametrization
Figure 7 - The last transitions (serializers) are ready to be activated.