School of Computer Science,
University of Birmingham,
Email: t.chen [at] cs [dot] bham [dot] ac [dot] uk
Telephone: +44 (0)121 414 3734
I am currently a Research Fellow, working with Prof. Xin Yao, at the Centre of Excellence for Research in Computational Intelligence and Applications (CERCIA) in the School of Computer Science at the University of Birmingham. I obtained my Ph.D. form the University of Birmingham, on the topic of Self-Aware and Self-Adaptive Autoscaling for Cloud-Based Services, and under the supervision of Dr. Rami Bahsoon. Prior to that, I worked as a Software Engnieer in London. I also hold a M.Sc. (Distinction) on Internet Software Systems from University of Birmingham, and before that, I read for a B.Sc. (First Class) in Computer Science at Birmingham City University. My CV can be found at here.
My research has been on Software Engineering, including but not limited to, performance engineering, search-based software engineering, cloud computing and services computing. I am particularly interested in engineering Self-Adaptive Software Systems, understanding their runtime behaviours and applying them in cloud-based, service-oriented and distributed environment. Most of my work leverages Natural Computation, Machine Learning and Economic Theory to tackle the problems (please see my publications for details). Specifically, my research has been related to the following aspects (especially at runtime):
I have been involved in teaching of the following modules:
I have been involved in various research projects:
Current software development processes are expensive, laborious and error prone. They achieve adaptivity at only a glacial pace, largely through enormous human effort, forcing highly skilled engineers to waste significant time adapting many tedious implementation details. Often, the resulting software is equally inflexible, forcing users to also rely on their innate human adaptivity to find "workarounds". Yet software is one of the most inherently flexible engineering materials with which we have worked, DAASE seeks to use computational search as an overall approach to achieve the software's full potential for flexibility and adaptivity. In so-doing we will be creating new ways to develop and deploy software. This is the new approach to software engineering DAASE seeks to create. It places computational search at the heart of the processes and products it creates and embeds adaptivity into both. DAASE will also create an array of new processes, methods, techniques and tools for a new kind of software engineering, radically transforming the theory and practice of software engineering.
My role in the project lies in the theme of architecture optimization for self-adaptive software. The aim is to investigate advanced approach to optimise non-functional attributes of self-adaptive software at runtime, handling dynamics and uncertainty in the environment and given requirements, which in turn, leading to better and stable adaptations.
My Ph.D. work focuses on designing self-aware and self-adaptive autoscaling system for cloud-based services where the aim is to dynamically optimise QoS and cost of all services running in the cloud, leading to better compliance of the requirements. The main contribution is an autoscaling framework that is capable to 'learn' about its own states and the environment, and adapt itself accordingly. Through using the principle of self-awareness and the related computational intelligence, autoscaling is achieved without heavy human analysis/intervention and require very limited design time knowledge.
The thesis has addressed specific research questions related to dynamic modeling of non-functional attributes, self- adaptive architecture and trade-off decision making under uncertainty, which can attract interests in the broad category of self-adaptive software systems.
The project studies the bridging between ecology and cloud computing, aiming to improve stability and sustainability of cloud-based services, using ecological theory and models. I was the named researcher for the project, in which I was responsible for identifying the benefits of ecological principles for cloud computing; formulating and modeled the services in cloud using ecological theory and analogue; and proposing architecture for ecological cloud computing.
EPiCS is a trans-national multi-disciplinary research project which aims at laying the foundation for engineering the novel class of proprioceptive computing systems.
Proprioceptive computing systems collect and maintain information about their state and progress, which enables self-awareness by reasoning about their behaviour, and self-expression by effectively and autonomously adapting their behaviour to changing conditions. Concepts of self-awareness and self-expression are new to the domains of computing and networking; the successful transfer and development of these concepts will help create future heterogeneous and distributed systems capable of efficiently responding to a multitude of requirements with respect to functionality and flexibility, performance, resource usage and costs, reliability and safety, and security.
My role in the project was to lead the task for architecting self-aware systems using self-aware patterns; categorised the architectural primitives for self-aware systems; and finally, constructed a comprehensive methodology to assist software engineers in developing self-aware systems.
I served/serving as an editorial board member/PC member/reviwer for the following international conferences and journals: