Build a better solution reusing community experience.
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.

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.
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.

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.




