A basic workflow element in the DPIF is a local process.
In other words, a workflow in a DPIF system corresponds to a full composition of functions, in which each variable replaced by a function corresponds to a required service.
It is important to bear in mind that in DPIF no explicit function composition takes place in any of the agents.
Therefore, an integral part of the DPIF is a cycle detection mechanism based on the cycle detection principles introduced in .
In order to effect cycle-free workflows, each DPIF agent must be aware of the outputs of other agents that influence the inputs of this agent.
In the DPIF, communication links between local processes in agents are facilitated firstly using service discovery: whenever an agent supplying some service (we will call this service the parent service, and the agent implementing it the parent, or manager agent) in a workflow requires data relating to some other service (we will call this required service the child service, and the agent implementing it the child, or contractor agent), a communication link needs to be established between the parent agent and the child agent.
We have developed a conceptual framework for service negotiation that will be used in the DPIF .
The default negotiation in DPIF is an implementation of CNET .
The DPIF approach supports efficient gathering of information by distributing the search task throughout systems of collaborating agents, i.
The service providers either request inputs via the DPIF service discovery or they have access to direct observations (e.
The requested types of information as well as the additional constraints are used by the DPIF service discovery and negotiation mechanisms which establish contacts between the DPIF agents of the requester CE2 and suitable information providers, such as expert CE1.
A key feature of DPIF agents is asynchronous, data-driven processing in complex workflows.