## 2 Materials and Methods  
### Delegate-MASs  
Primary agents (the application level agents, which can represent, e.g., manufacturing or logistic resources, products, and orders), need to interact with other primary agents to ensure coordination and synchronization among them [16]. There are two types of communication that primary agents can use: direct and indirect communication. Direct communication, such as exchanging messages can lead to complex and largely unpredictable behavior of agents, given the large number of conversations in which they can be involved [16]. One of the indirect kinds of interaction is pheromone-based communication. A pheromone is a data structure that evaporates over time. In other words, the intensity of the pheromone, and thus the validity of any information it holds, decays over time. Primary agents use behavioral modules called D-MASs that reduce the agents' internal structural complexity [9]. Such D-MASs consist of mobile, lightweight agents (called ants--after their biological inspiration). Ants serve as delegates and perform specific, assigned tasks. They can gather information and disseminate pheromones in the environment, thus they can interact with remotely-located primary agents. Their behavior, memory, and processing resources are limited; thus, they are computationally efficient [17]. Ants move and execute tasks much faster than their primary agents (or agents' counterparts in the real world). In other words, they can travel through space and time into the future and find alternative behaviors for their primary agents. There are two types of primary agents. (1) The resource agent (RA) (e.g., manufacturing resources) provides services to (2) the task agent (TA) (e.g., work-in-progress instances of products). The TAs, usually considered as mobile agents, can travel through the environment and consume the services offered [16]. The RAs should maintain up-to-date information concerning how their services are allocated among the TAs. This information will the form a schedule [18]. The TAs are responsible for task control and execution. The TAs and ants can travel through the environment, which is represented by a graph also called the graph structured network (GSN) [16] which is used by the coordination mechanisms (dissemination of information and resource allocation)) [17]. A GSN is composed of vertices (nodes) and edges (segments). Nodes represent RAs and segments represent bi-directional communication links to the neighboring RAs, over which the TAs and the ants can travel and interact [19]. A GSN can be static e.g., a network of routes or dynamic, in which case changes/failures of nodes or communication links can occur [20]. However, it should be noted that there are several cases [21,22] in which the links provide services (e.g., passages). Nodes in the GSN have a specific infrastructure that stores pheromones, called the pheromone infrastructure. It may include the pheromone evaporation function and may provide an interface for primary agents and ants to deposit (i.e., drop), observe (i.e., smell), modify, or refresh pheromones. In general, there are three basic types of the D-MASs [23]. Each of them offers a different service:  
* Feasibility ants;
* Exploration ants;
* Intention ants. Feasibility ants (FAs) are deployed at the location of their RA (at the node it resides on). Their task is to roam the GSN and disseminate feasibility information about their RA. They can aggregate information (e.g., capabilities or already-allocated capacities) from other RAs with existing information. The feasibility pheromone is dropped into every node an FA encounters, and it may contain a digital road sign directed to the node from which an ant arrives [16,23,24]. The use of the FAs is more or less optional. Exploration ants (EA) are created at the location of their TA. Their task is to find a feasible routing (path) through all the necessary resources (i.e., RAs).