The ADACOR (ADAptive holonic COntrol aRchitecture for distributed manufacturing systems) holonic architecture addresses the agile reaction to emergence and change, increasing the agility and flexibility of manufacturing control systems, specially those located in volatile environments characterised by the frequent occurrence of disturbances.

The focus of ADACOR architecture is the shop floor level, and specially the flexible manufacturing systems organised in job shop production type, characterised by concurrent and asynchronous processes with non-preemptive operations and alternative routings.

The proposed adaptive architecture, based in the holonic manufacturing paradigm, intends to be as decentralised as possible and as centralised as necessary, i.e. using a centralised approach when the objective is the optimisation, and a more heterarchical approach in presence of unexpected events and modifications. In these circumstances, ADACOR proposes the decomposition of manufacturing control functions into a community of autonomous and cooperative entities, taking advantage of modularity, decentralisation, agility, flexibility, robustness and scalability. The introduction of supervisor entities allows the presence of hierarchy in decentralised systems, to achieve global production optimisation. The introduction of self-organisation capabilities associated to the distributed entities, allows the dynamic evolution and re-configuration of the organisational control structure, combining the global production optimisation with the agile reaction to unexpected disturbances.

Holon Classes

ADACOR architecture groups the manufacturing holons into product, task, operational and supervisor holon classes [Leitão and Restivo, 2003]. This generalisation is based in grouping the factory components according to their functions and objectives, like in the specialisation concept from the object-oriented paradigm.

The supervisor holon is inspired in biological systems and presents different characteristics from the staff holons defined in PROSA reference architecture [Brussel et al., 1998], while the product, task and operational holons are quite similar to the PROSA product, order and resource holons.

Each product available to be produced in the factory plant is represented by a product holon that contains all knowledge related to the product and is responsible for the short-term process planning. The product holon is not the major focus of the architecture, since this work addresses the shop floor level, and it is only necessary to be the bridge between the shop floor and the planning level. In the ADACOR architecture, the product holon also contributes to the integration of all the manufacturing control functions, i.e. the planning, scheduling and plan execution.

Each production order launched to the shop floor to execute a product (or sub-product) is represented by a task holon, which is responsible to manage its execution, containing the dynamic information about the production order.

The operational holons represent the physical resources available in the shop floor, such as operators, robots and numerical control machines, managing their behaviours according to the resource goals and skills [Leitão and Restivo, 2002b]. The operational holon manages the agenda of the resource, i.e. the planned list of work orders that the manufacturing resource has to execute over the time.

The supervisor holon introduces coordination and global optimisation in decentralised control approaches and is responsible for the group formation and coordination.

[Click here to see the animation].

In normal operation, the supervisor holon supervises and regulates the activity of the holons under its domain, while when a disturbance occurs, these holons may have to find their way without the help of the supervisor holon. The supervisor holon is also responsible for the group formation, based in pre-defined clusters of holons, combining synergies, aggregating skills and offering the combined services to external entities in the manufacturing system. These groups can be formed to build a shop floor, a manufacturing cell, or a machine equipped with a set of tools, assuming the supervisor holon the control role of each group.

Adaptive Control

The ADACOR control approach is neither completely decentralised nor hierarchical, but balances between a more centralised approach to a more flat approach, passing through other intermediate forms of control [Leitão and Restivo, 2002c], thus implementing an agile and adaptive control approach, due to the adaptive and dynamic evolution of the autonomy of each ADACOR holon. [Click here to see the animation of these two basic forms of control ADACOR].

The proposed adaptive production control shares the control between supervisor and operational holons, and splits the control evolution into two alternative states: stationary state, where the system control uses coordination levels and the supervisor role to get global optimisation of the production process, and the transient state, triggered with the occurrence of disturbances and presenting a behaviour quite similar to the heterarchical approach in terms of agility and adaptability. [Click here to see the animation of the adaptive ADACOR holonic production control].

In stationary state the holons are organised in a federated architecture, with the supervisor holons representing cell controllers and/or shop floor controllers, and interacting directly with the task holons during the operation allocation process. The supervisor holon, as coordinator, elaborates optimised schedule plans that proposes to the task holons and to the operational holons within its coordination domain [Leitão and Restivo, 2002a]. The operational holons see these proposals as advices, having enough autonomy to accept or reject the proposed schedule. In this state, the autonomy factor of each operational holon is {Low}, allowing the operational holon to follow the proposals sent by the supervisor holon.

After the allocation of the manufacturing operations, the task holons interact directly with the operational holons during the execution of the operations, such as to ask for availability of space in the buffer. When an operational holon rejects one or more proposed operations, the supervisor holon must re-schedule the production plan, trying to find alternatives. The learning mechanisms allow that information related to the rejections will be used in future processes to elaborate optimised schedules.

If, for any reason, the system deviates from planned, due for example to a machine failure that provokes the destruction of the part that has been processed, the control system enters in the transient state. The transient state is characterised by the re-organisation of the holons required by the transition from the hierarchical control architecture to the heterarchical control architecture, allowing the agile reaction to disturbances of this control structure.

The operational holon which detects the disturbance tries to recover locally the failure, by analysing the symptoms and making a self-diagnosis, but if it cannot recover from the failure, it increases its the autonomy factor parameter to {High} and propagates the need for re-organisation to the other holons in the system, through the supervisor holon. According to the type of disturbance the operational holon also selects an appropriate behaviour to handle the disturbance, which includes the set of actions to execute and the estimation of parameters, such as the estimation of the disturbance recovery time. This learning mechanisms generate knowledge taht will help to forecast the impact of the disturbance in the actual plan, to maintain the system stable and to handle the reaction to disturbance.

The other holons that sense the pheromone also increase their autonomy factors according to the intensity of the pheromone and their local knowledge, re-organising themselves into a heterarchical structure. In this transitory state, the task holons interact directly with the operational holons in order to achieve an alternative schedule plan. During this state, the supervisor holons can continue elaborating and proposing work orders to the operational holons, but since these now have {High} autonomy factors, in principle they will reject the proposals.

The holons remain in the transient state during the reestablishment time, which typically is a short period of time estimated by the operational holon that detected the disturbance. When this time elapses, they verify if the pheromone odour is already dissipated or remains active. If the pheromone remains active, the operational holons stay in the transient phase during an additional reestablishment time, until the pheromone is dissipated.
When the pheromone is dissipated, each operational holon individually reduces again its autonomy factor and returns to the hierarchical control structure, entering again in the stationary state.

After the disturbance recovery, the operational holon ends the reinforcement of the pheromone, and the reestablishment and recovery times are adjusted and tuned using appropriated learning mechanisms. The other holons don't sense anymore the dissemination, reducing their autonomy factors, returning the system to the previous control structure. The supervisor holon returns to its coordination function, re-scheduling if necessary the work orders of the new local agendas to sinchronise the local and central schedules. The new re-schedule is sent to the operational holons, which have again {Low} autonomy factor, and accept the advised schedules.


Distributed manufacturing control systems, as ADACOR, are complex systems that are difficult to apprehend and to design, due to the presence of concurrent and asynchronous activities. The formal modelling of the structural and behavioural specifications of the ADACOR control system is required to simplify the understanding and to get a comprehensive view of the system functionality, playing a key role in the design of manufacturing control systems. In order to model the structure and the behaviour of the holonic manufacturing control systems, and to validate the correctness of those models, to understand and to synthesise the system specifications, it is important to have the support of a formal modelling methodology.

The modelling of the dynamic behaviour of the system requires a formal tool that captures characteristics like concurrency, asynchronous operations, deadlocks, conflicts or resource sharing, which are inherent to FMS [Silva, 1989]. Additionally, the formal modelling tool must have the capability to validate the behavioural characteristics of these event-driven systems, and also to analyse other important aspects, such as the deadlock detection and the performance analysis.

UML (Unified Modelling Language) [Rumbaugh, 1998] is a modelling tool adequate to model object-oriented systems, but doesn't support efficiently the modelling of their dynamic behaviour and the formal validation of these specifications [Leitão et al., 2003]. Additionally, UML fails to capture the autonomous and proactive behaviour of the agents, as well as the richness of their interactions [Wooldridge and Ciancarini, 2000].

On the other hand, Petri net is a formal modelling tool, both graphical and mathematical, that seems adequate to model and to analyse the behaviour of complex event-driven systems characterised as being concurrent, asynchronous, stochastic and with high distribution degree, such as flexible manufacturing systems. In comparision with UML, the Petri net formalism allows to design the control system behaviour, but also to validate and to verify the behaviour of the system, based in the mathematical foundation embedded in the Petri net formalism.

In this sense, a kind of PN tailored for production management and control modelling purposes, proposed in [Colombo, 1997], will be used to model, in a top-down approach, the dynamic behaviour of the different holon-types defined in ADACOR holonic architecture. The individual model of each ADACOR holon uses immediate and timed transitions to model the execution of activities (atomic and temporal).

The timed transitions can be exploded into a more detailed and refined level. These sub-models, according the degree of refinement, are the different software control modules of the hardware, i.e., a formal representation of the holons.

Virtual Resource

It is clear that an approach that supports cheaper and transparent interfaces for physical manufacturing resources is missing, allowing to integrate them into holonic control applications. The use of light MMS concepts combined with distributed object paradigms seems a suitable approach to make transparent the resource integration from the agent-based or holonic control system.

The ADACOR approach to transparent resource integration within holons is taking advantage of the OO-MMS mechanism for communication between any client and a Virtual Machine Device server [Leitão et al., 2003b]. The scheme is displayed in the follwoing Figure.

The server part in the proposed mechanism is the virtual resource, inspired by the VMD concept from the MMS protocol [IEC9506, 1992]. It acts as an abstract machine that represent the functionality of the real manufacturing device and its local controller, and supply primitives to be invoked remotely by the client part. The virtual resource components can be re-used for additional and new applications, since the manufacturing resources are independent from the control application.

The virtual resource is developed for each physical device according the specifications of the machine vendors and comprises a set of objects that maps the services of manufacturing resources. The use of MMS specifications in the definition of services is important in order to standardize the approach, but due to the complexity of these specifications, a sub-group of services were defined, closest as possible to the MMS specifications, in order to make things easier and lighter. These services are grouped in re-use libraries, such as the VR Support, Variable Handling, Program Handling and Events.

The second main concept in the proposed mechanism is the client-server model. The LCD device acts as a client part accessing to the real manufacturing resource by invoking remotely the primitives that represent services in physical resource.

The industrial manufacturing environments are characterized by its heterogeneity, with the distributed processing resources, i.e. computers, industrial controllers and automation devices, running in distinct platforms, such as Windows, Linux and AS400. This heterogeneity requires the use of distributed object platforms to support the interoperability between the clients (operational agents) and virtual resource components. The available technologies to support the distributed object platform are mainly the CORBA, Mocrosoft's .NET (the XML based middleware that overcomes DCOM) and RMI (Remote Method Invocation) [Barata et al, 2001].

PhD Thesis

P. Leitão (2004), "An Agile and Adaptive Holonic Architecture for Manufacturing Control", PhD Thesis, University of Porto.


More info in the following articles:

Paulo Leitão, Francisco Restivo. ADACOR: A holonic architecture for agile and adaptive manufacturing control. Computers in Industry 57(2):121–130, 2006.

Paulo Leitão, Francisco Restivo. Implementation of a Holonic Control System in a Flexible Manufacturing System. IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews) 38(5):699–709, 2008.  

Paulo Leitão, Armando W Colombo, Francisco Restivo. ADACOR: A Collaborative Production Automation and Control Architecture. IEEE Intelligent Systems 20(1):58–66, 2005.



[Barata et al, 2001] J. Barata, L.M. Camarinha-Matos, R. Boissier, P. Leitão, F. Restivo and M. Raddadi, Integrated and Distributed Manufacturing, a Multi-agent Perspective, In: Proceedings of the 3rd Workshop on European Scientific and Industrial Collaboration, 27-29 June, Enschede, Netherlands, pp. 145-156, 2001.

[Brussel et al., 1998] H. Van Brussel, J. Wyns, P. Valckenaers and L. Bongaerts, Reference Architecture for Holonic Manufacturing Systems: PROSA, Computers in Industry, 37(3), pp. 255-274, 1998.

[Colombo, 1997] A.W. Colombo and R. Carelli, Petri Nets for Designing Manufacturing Systems, In Computer-Assisted Management and Control of Manufacturing Systems, S.G. Tzafestas (ed), chapter 11, Springer-Verlag, 1997.

[IEC9506, 1992] ISO/IEC9506-1, Industrial Automation Systems - Manufacturing Message Specification, Part 1 - Service Definition, 1992.

[Leitão and Restivo, 2003] P. Leitão and F. Restivo, Identification of ADACOR Holons for Manufacturing Control, In: Proceedings of the 7th IFAC Workshop on Intelligent Manufacturing Systems, 6-8 April, Budapest, Hungary, pp. 109-114, 2003.

[Leitão et al., 2003a] P. Leitão, A.W. Colombo and F. Restivo, An Approach for the Formal Specification of Holonic Control Systems, In: Holonic and Multi-Agent Systems for Manufacturing, V. Marik and D. McFarlane and P. Valckenaers (eds), Lecture Notes in Artificial Intelligence, vol. 2744, pp. 59-70, Springer-Verlag, 2003.

[Leitão et al., 2003b] P. Leitão, R. Boissier, F. Casais and F. Restivo, Integration of Automation Resources in Holonic Manufacturing Applications, In: Holonic and Multi-Agent Systems for Manufacturing, V. Marik and D. McFarlane and P. Valckenaers (eds), Lecture Notes in Artificial Intelligence, vol. 2744, pp. 35-46, Springer-Verlag, 2003.

[Leitão and Restivo, 2002a] P. Leitão and F. Restivo, A Holonic Control Approach for Distributed Manufacturing, In: Knowledge and Technology Integration in Production and Services: Balancing Knowledge and Technology in Product and Service Life Cycle, V. Marik, L.M. Camarinha-Matos and Hamideh Afsarmanesh (eds), pp 263-270, Kluwer Academic Publishers, 2002.

[Leitão and Restivo, 2002b] P. Leitão and F. Restivo, Agent-based Holonic Production Control, In: Proceedings of the 3rd International Workshop on Industrial Applications of Holonic and Multi-Agent Systems, 2-6 September, Aix en Provence, France, IEEE Computer Society, pp. 589-593, 2002.

[Leitão and Restivo, 2002c] P. Leitão and F. Restivo, Holonic Adaptive Production Control Systems, In: Proceedings of the 28th Annual Conference of the IEEE Industrial Electronics Society, 5-8 November, Sevilla, Spain, pp. 2968-2973, 2002.

[Rumbaugh, 1998] J. Rumbaugh, I. Jacobson and G. Booch, The Unified Modelling Language Reference Manual, Addison-Wesley, 1998.

[Silva, 1989] M. Silva and R. Valette, Petri Nets and Flexible Manufacturing, In Advances in Petri Nets, Lectures Note in Computer Science, vol. 424, Springer Verlag, pp. 374-417, 1989.

[Wooldridge and Ciancarini, 2000] M. Wooldridge and P. Ciancarini, Agent-Oriented Software Engineering: The State of the Art, In Agent-Oriented Software Engineering, Paolo Ciancarini and Michael Wooldridge (eds), Lecture Notes in Computers Science, vol. 1957, Springer-Verlag, 2000.