Funded through EPSRC Studentships.
Supervisor: Professor Mike Holcombe, Verification and Testing Group.
[see my web pages for papers and details.]
Advanced software testing.
Recent work in specification-based testing, funded by DaimlerChrysler Research Labs, Berlin and EPSRC have made significant breakthroughs. The approach is based on the use of generalised state machines (called X-machines) and statecharts to generate, automatically, the test sets. Further interest is in seeing how the refinement of the specification is reflected in the transformation of the test sets.
Architecture and Virtual Reality.
Rethinking body, memory and architecture in the age of digital tectonics
Joint project with the Department of Architecture. Funding available.
The human body plays a pivotal role in our understanding and experiencing of buildings and cities, and our most essential and memorable sense of 3-dimensionalties has its root in the body experience. The once perceived and understood body and building relation is now increasingly unsettled due to wide uses of information technology and digital media both generally and in the design of the built environment. There is presently an urgent need to better understand the current gap in the technology and in practice so that relation of body and building may be (re)discovered in meaningful ways. The proposed research is to investigate the changing relation of human body and architecture resulting from digital design processes and how human body centred sense of spatiality could be better addressed in the future development of digital tectonics.
Further details can be found in the project description. for further details.
Modelling the effect of biomechanical stimuli on cell signalling pathways .
Rod Smallwood, Eva Qwarnstrom, Mike Holcombe
Joint project between the Medical School and Computer Science. Funding available (UK only).
Work in Qwarnstrom's laboratory has focussed on regulation of the responses of Interleukin-1 (IL-1) in adherent cells such as fibroblasts (in connective tissue) and smooth muscle cells (in vessel walls). IL-1 is a central mediator of inflammation, activating a number of genes involved in inflammation and wound healing. The majority of these inflammatory pathways are induced through activation of a specific signal transduction pathway, the NF-kB pathway. The process is very sensitive to biomechanical forces resulting from changes in cell attachment or the cytoskeleton. In order to examine in detail regulation of the pathway induced by soluble mediators such as cytokines and structural regulators induced through biomechanical events, we are using single cell assays and confocal microscopy making possible continuous monitoring of molecular trafficking and interactions in live cells and in real time by GFP-based methods. Using this system we have studied the regulation of some of the main NF-kB regulating subunits and determined a couple of basic parameters such as the kinetics of key events and the limitations of the system as far as component concentrations. Perturbation of the system has been induced by using soluble mediators or by transfecting the cells with constructs containing upstream regulators in the pathway but have not directly studied the effect of biomechanical stimulation. We are now using a system which allows mechanical stimulation of live cells and that in combination with confocal microscopy, as above, allows monitoring of resulting molecular events in real time, funded by an interdiciplinary grant from the Medical Research Council and the Engineering and Physical Sciences Research Council. Signal transduction is a complex process, with multiple interacting pathways and mechanisms of translocation across the nuclear membrane. Indeed, results obtained so far demonstrate pronounced effects of biomechanical insults on trafficking/localisation and protein/protein interactions of pathway components, adding levels of complexity to a simple linear pathway activation. Complex processes typically lead to unexpected or even counter-intuitive results and are virtually impossible to analyse by cell biological experiments alone. We can explore these effects by mathematical and computational modelling of the complex system. In this project, a computational model of the signal transduction processes will be built, and the predictions of the model will be compared to experimental results. The aim will be to develop an understanding of the importance of the different stages in the signal transduction processes, to explore the effects of and sensitivity to changes at different stages, and, ultimately, to explore how inflammation can be controlled. It is essential that the modelling work is closely linked to the experimental work, and we would hope to develop an interaction between model and experiment similar to that which obtains in the physical sciences.
Computational models of intelligent agent communities. Jointly with Francis Ratnieks, Department of Animal and Plant Sciences.
Francis studies social insects, including aspects of their organisation with emphasis on bees and ants. This is an area where there is some good theory (which matches the data) relating to how these "multi-agent" systems work e.g. in areas such as task partitioning. This CASE award would be initially about 50% social insect biology and 50% computer science, with the aim of drawing on this theory to better understand how multi-agent computational systems might be configured to perform tasks which exhibit desirable, adaptable behaviours. As the research progresses the emphasis may change.
The approach taken will be one whereby a number of different computational modelling techniques will be evaluated and the most appropriate one chosen to construct a more complete analysis of the opportunities for developing interesting and useful metaphors and algorithms of possible use to computing. Among the things that social insects do well is form reliable, robust systems that can easily be added to. These properties could well be useful in human systems and perhaps we can gain some insight from the insects in how to do this. One way to do this is to model a system and find rules that produce acceptable results over a wide range of conditions and with limited information about the exact nature of the current state of the whole system. In this respect, former PhD student here Carl Anderson showed that the regulation of numbers of foragers and receivers in the honey bee by making the appropriate dance (tremble dance to recruit receivers, waggle dance to recruit foragers) worked for a wide range of thresholds between making one dance versus the other.
Anderson CA 1998 Simulation of feedbacks and regulation of recruitment dancing in honey bees. Advances in complex Systems 1: 267-282.
The basic approach will be to consider each insect as an intelligent agent, whose behaviour is specified using some suitable notation. Candidates are: X-machines, L-systems and process algebras. The model will then need to be extended to allow for the modelling of a community of agents, communicating in clearly defined ways, so that the emergent behaviour from the community can be studied. It is important that these models reflect the real behaviour of insect communities observed in the laboratory. This should lead to a greater understanding of how complex communication systems might work in a robust and effective way. Insights from how ants communicate through the laying of pheromone trails have already demonstrated that useful algorithms for packet routing in networks can be found by looking at nature.
Some area of social insect life, such as the organization of foraging trails and pheromones, that can be investigated with computational methods and is relevant to both our biological and computing aims will be considered. The problem is explored in a way that is relevant to the biology, and hopefully can be novel computationally.
Some appropriate systems would be:
1. the honey bee foraging system involving foragers and receivers, and with three dances (waggle, tremble, stop signal) regulating the relative numbers of these. Simulation could explore the functional advantages of this system, given limited information, to individual bees. Specifically, the role of the stop signal which seems to function to cause interference between waggle and tremble dancers.
2. decision making by swarms of honey bee. Here a swarm (thousands of bees) has to make a collective decision as to where to go to. Individual bees scout out new nest sites and unanimity is reached by following somple rules.
3. foraging and pheromone trails in ants. One system curently being studied in Dr. Ratniek's laboratory empirically is Pharaoh's ants (tiny ants that form trails in small boxes).
All three of these could generate, initially, simple situations to simulate and all are open to experimentation in the laboratory.
The biological problem will be generalized into a problem that can also be investigated using alternative computational techniques to see if any one technique is preferable. For example to gain insight into how we can generate a reliable system using limited-intelligence multi-agents etc. and good ways to model this. At the beginning of the PhD the student will get exposure to real social insects and work on one problem that is largely experimental, such as a study of ant foraging trails in order to get a feel for real ants and their foraging early on. Also at the beginning, the student gets exposure to the computing methods. After a year or two the student will put biological insights and computational insights, and the preliminary work above, together to generate and test novel biological predictions arising out of modelling and also the reverse--to use novel insights from social insects to build novel computational paradigms.
Foundations of software engineering science.
Software engineering seems to consist of a number of methods and techniques based on a variety of metaphors and ad hoc notations. How can we reason about these? This project takes a fundamental computational modelling approach and considers each transformation process on the journey from an informal requirement to a complete and tested implementation as a transformation of this underlying model basis. Software solutions do not exist independently of the rest of the world, they have important relationships with economics, psychology, sociology etc. We ignore these at our peril! The hope is that this research will provide the much needed scientific foundation for software engineering. See the paper on Grand Challenges for Software Engineering Research at http://www.dcs.shef.ac.uk/~wmlh/SoftwareEngineeringScience.pdf
End-user programming and Extreme programming methods.
We have developed some prototype programming environments for complete novices. The idea is that a business person or domain expert could write their own programs without knowing anything about programming. If they can understand and describe their business process using simple diagrams and create simple functions such as are found in a spreadsheet then many types of basic systems, database systems, transaction systems etc. could be built. The project will look at the fundamentals of these systems and implement a number of more sophisticated prototypes for their generation.
The project will attempt to utilise the new ideas in Extreme programming by finding a simple formal basis to this activity based around the use of Business Process Models which are functionally tested and integration through the use of a stream X-machine model which is almost automatic in an imperative programming language.
Extreme Programming (XP) is a new "lightweight" methodology designed to help small groups of programmers achieve maximum results, even on large projects with rapidly-changing requirements. XP is controversial, but many of the organizations that have tried it are experiencing remarkable success. We hope to understand the benefits and the weakness of the approach by trying to formalise it more and see whether it can be adapted to application building by end users.
Software Engineering Observatory
Software development methodologies are a source of much inconclusive research primarily because the evaluation of design notations, methodologies, management frameworks and other process aspects is difficult to do in any sort of scientific manner. It is not possible to carry out large scale comparative experiments with many different design teams using different approaches in realistic industrial scenarios. Most results are drawn from small scale internal projects involving university students. Some useful information can be obtained from these but it is limited. The projects rarely involve a real industrial client and the pressures of delivering an easily maintainable and usable product to a client organisation is invariably missing. This proposal is built round the Department's long experience - 14 years - of running industrial software projects with competing teams which provides as realistic an environment for such evaluations as is likely to be possible. Because the supervisors of these projects insist on a highly professional approach with the collection of many statistics and data it provides a unique facility for observing realistic, if relatively small scale, industrial projects. Since many of the projects operate with a number of competing teams it is realistic to carry out comparative evaluations of different methodologies involved in the production of solutions for the same external client. The Department also operates a commercial software house which can be used to experiment further with different approaches to software construction and which can be used to examine how new approaches can be introduced into a working company. The Software Engineering Observatory would be a unique, in international terms, facility which can be used to both explore different approaches to software construction and to see how successful strategies can be embedded into a commercial company.
Modelling and testing communities of Agents.
Systems that consist of a collection of autonomous software agents which cooperate, compete and interact with each other within some fairly open environment are becoming of increasing interest, their potential applications not only include internet based computing but also mobile agents in telecommunications, agents involved in distributed control applications and so on. The project will be building on the work done with colleagues in Thessaloniki, into specifying agents using X-macjhines and building models of communities of agents with a view to trying to identify emergent behaviour of such communities and to try to tackle how such systems could be tested effectively.
Computational modelling of creativity in Art
See the paper for further details.
If there are other areas that interest you please contact me to discuss a possible project.