Summary: | Ph.D. === Information technology (IT) system development faces increasing challenges as a result of the complexity involved in the large number of interacting, distributed and concurrently executing components of systems. These components range from operating systems and virtual machines, through to the various frameworks, servers and libraries. To continue delivering on the current trend in resource requirements, hardware is increasingly parallel. The parallelisation of hardware indicates that software systems must be enabled to exploit these multicore, symmetric multiprocessing and distributed architectures as they become more mainstream. Parallelisation of IT systems adds to the number, distribution and concurrency of interacting components. In addition, dynamic self-optimising, selfhealing, self-configuring and self-protecting characteristics are required if systems are to continue operating effectively. The environment into which a system is eventually deployed is often either unknown or dynamic. An unknown environment is one where the exact details of resource availability, along with knowledge or control over concurrently executing systems, is not available beforehand. Added to this is a lack of foreknowledge surrounding the system’s environment, which may be dynamic, meaning it is likely to change during the system’s lifetime. Changes to the system’s environment include new infrastructure, different architectures, replacing old hardware and installing or upgrading software. The current approaches to overcoming unknown and dynamic environments tend to be top-down and centralised as is seen in the use of control theory by autonomic computing. There is, however, a growing realisation that centralised approaches add to the brittleness and complexity of the systems. What is needed is the self-adaptivity of an agent based approach, which is able to overcome these challenges relating to unknown and dynamic environments. Nature has dealt with the same challenges in a far more robust way by employing the principles of self-organising systems underpinning the control of complex adaptive systems. An example of nature’s solution is the self-organising system presented by the gene regulatory system coupled to cell fate and the cell cycle in multicellular organisms. Organisms are self-healing, self-protecting, self-optimising and self-configuring. They are also able, through ontogenesis, to self-adapt to their environments and grow to maximise their performance whilst still maintaining function.
|