Development and Analysis of Evolvable Computational Systems.
Computational systems are usually fixed by their programs and can only change when reprogrammed. However, there is increasing use of systems that may `adapt' or `evolve' according to internal requirements or change in the external environment. Several areas where these evolvable systems are important are (1) the case when the external environment is that of changing computational systems as, for example, in web applications; (2) autonomous vehicles and robotics where the external environment is a changing feature to which the device must adapt its processing; (3) automated updating and systems that adapt in usage to increase efficiency of computation.
The development and analysis of evolvable systems is challenging ? the evolutionary steps may be large-scale restructuring, extending to a whole system reconfiguration where a component structure is replaced with another. We have developed a logical framework for designing, specifying and analysing evolvable systems. See the Evolvable systems website
for more details. We are seeking PhD students to help develop this framework and its applications. Students will be expected to have some familiarity with formal logical (there will be the opportunity to take courses in this area) and also undertake programming and software design exercises. This is a joint project with Howard Barringer.