realizing adaptive systems
The next generation of distributed systems will require individual components to adapt to their environment. Increasingly, developers want architectures that allow the internal structures of the software that comprise their systems to change autonomously with changes in the deployment environment. This has given rise to research in reflective technologies like middleware, languages, etc. However, these technologies only get us part of the way to systems that can adapt.For a system to be truly adaptive, it must also change in support of evolving technologies and ontologies. When engineering to support these requirements, some of goals of reflective technologies can also be met without changes to middleware and languages. The Enterprise Intelligent Distributed Architecture (EIDA) is an attempt to realize these goals by creating a set of development tools that are also deployed with the system as run time servers. By completely automating the development of key components of the runtime system, the goal is to enable the adaptation of these components to changes in the environment, technology and ontology of the system.
adaptive systems reflection software evolution software engineering object-oriented technologies