[Excerpt from: Sousa, P.; Ramos, C. and Neves, J. (1999), Manufacturing Entities with Incomplete Information. Proceedings of the 2nd International Workshop on Intelligent Manufacturing Systems (IMS-Europe'99), pp. 185-193. Leuven, Belgium, 22-24 September 1999]
Following is a brief description of the system architecture for the dynamic scheduling of manufacturing orders (a very detailed description is given in (Sousa and Ramos, 1998)). It uses a scheduling procedure adapted from a centralized method described in (Ramos et al., 1995), and an adaptation of the Contract Net Protocol (Davis and Smith, 1983).
The user interacts with the system via a special agent called Task Manager that is responsible for launching new Task Agents. For the scheduling of operations, a Task Agent will negotiate with Resource Agents, and establishes a contract. The Resource Agents will then use constraint propagation in order to guarantee the relationships among the different operations that aim at the same task (Figure 1).

Figure 4 - System Operation
A first implementation (Silva et al., 1998) of this system was used to test a framework for Holonic Manufacturing Systems. In that work a C++ framework was built with classes representing agents' generic behavior and application specific classes were used for particular agents (e.g. a resource, or a specific resource). Another approach is described next.
The prototype application (Figure 2) was built using SICStus Prolog for the agent's part of the system, and Visual Basic for the user interface.

Figure 5 - The Prototypes GUI
At this stage, communication is done using SICStus's implementation of the Linda coordination technology (Bjornson et al., 1998) that handles all aspects of communications, by implementing a shared tuple-space (i.e., there are no directed communications between agents). The use of the Linda greatly improved the prototype's development, but it may become a severe bottleneck (Nwana et al., 1996), since it introduces a centralized element into the system.
Since the development is at an early stage, the prototype is very simple, and has been used mainly to test the correctness of the distributed version of the scheduling procedure. At this moment, Task Agents always choose the earliest time interval available from the several solutions bided by resources, and only consider the first resource bid for each operation (i.e., it does not take advantage of different production paths).
Exchanged messages between task and resources are Prolog clauses written to and read from the Linda tuple-space. Each clause has identifiers indicating the origin and the destination agent, as well as a tag that makes possible to each party to identify related messages.
Bjornson, R.; Carriero, N.; Gelernter, D. and Leichter, J. (1998) Linda, the Portable Parallel. Technical Report 520, Yale University Department of Computer Science, January 1988.
Davis, R. and Smith, R. (1983). Negotiation as a metaphor for distributed problem solving. Artificial Intelligence, vol. 20, n. 1, pp. 63-109.
Nwana, H.; Lee, L. and Jennings, N. (1996) Coordination in software agent systems. BT Technology Journal, 14(4), pp. 79-88. October.
Ramos, C.; Almeida, A. and Vale, Z. (1995). Scheduling Manufacturing Tasks considering Due Dates: a new method based on Behaviours and Agendas. International. Conference on Industrial and Engineering Applications of Artificial Intelligence and Expert Systems; Melbourne, Australia.
Silva, N.; Sousa, P. and Ramos, C. (1998) A Holonic Manufacturing System Implementation. Proceedings of the Advanced Summer Institute (ASI'98). Bremen, Germany, 14-17 July 1998.
Sousa, P. and Ramos, C. (1998). A Dynamic Scheduling Agent for Manufacturing Orders. Journal of Intelligent Manufacturing - special issue on agent based manufacturing, vol. 9 n. 2, pp. 107-112. Chapman & Hall. ISSN 0956-5515.
![]()
(c) 1999, Paulo Sousa
comments
Created: October 8th, 1999
Last updated: October 8th 1999