Abstract
An efficient and scalable approach to build and manage large enterprise systems is to compose them dynamically using agile and autonomous components. Agile components may be virtual (software), concrete (real-world and hardware systems), or combinations of these. They are constructed independently but may interact with each other through well-defined interfaces. Agile components may be hierarchically clustered to form composite components. Individual agile components are self-aware and self-reconfigurable which enable them to autonomously participate in adaptive control of large-scale enterprises. Agile components are capable of responding to internal and external changes autonomously. The development and runtime environments provide the appropriate framework for modeling, automatic analysis, scheduling and control of component reconfiguration in the complex enterprise. A pool of resource, composition and adaptation servers manages the dynamic structure and control of enterprise systems. Through the pool of replicated servers, changes in the structure and control of the enterprise may be propagated to other parts of the enterprise and enable them to react appropriately and autonomously.