Dr. Tao Chen (陈韬)
Ph.D., M.Sc., B.Sc.

Lecturer (Assistant Professor) in Computer Science

Department of Computing and Technology, Nottingham Trent University, Clifton, Nottingham, UK. NG11 8NS

NTU Email: tao.chen [at] ntu [dot] ac [dot] uk

UoB Email: t.chen [at] cs [dot] bham [dot] ac [dot] uk

Tel: +44 (0)121 414 3734

Office: Erasmus Darwin Building, Clifton Campus



I am currently a Lecturer (Assistant Professor) in Computer Science, Department of Computing and Technology, Nottingham Trent University, UK. I am also an Honorary Research Fellow, working with Prof. Xin Yao and Dr. Rami Bahsoon, at the Centre of Excellence for Research in Computational Intelligence and Applications (CERCIA), School of Computer Science, University of Birmingham, UK. Before the current position, I worked as a Research Fellow in the School of Computer Science at the University of Birmingham, where I obtained my Ph.D. on the topic of Self-Aware and Self-Adaptive Autoscaling for Cloud-Based Services. Prior to that, I worked as an industrial Software Engnieer in London. As the lead author, my research work has been published in prestigious peer-reviewed journals such as ACM TOSEM, IEEE TSE, IEEE TSC, ACM CSUR, IEEE Computer and Elsevier INS, as well as many top conference in the field.

My other public profiles can be found at here: CV, Google Scholar, ResearchGate, DBLP, GitHub

I am always looking for highly-motivated PhD students to work on topics related to my research, please feel free to drop me an email for discussing potential research topics and funding opportunities.

News

I have broad research interests on Software Engineering, including but not limited to:

  • Performance Engineering
  • Search-Based Software Engineering
  • Self-* Software Systems
  • Services Computing
  • Cloud Computing
  • Computational Intelligence
  • I am particularly interested in the interactions between Computational Intelligence (e.g., Natural Computation and Machine Learning etc) and Software Engineering, with special focus on engineering Self-Adaptive Software Systems, which refer to the special software systems that, when operate under dynamic and uncertainty, are able to adapt its configurations, structure and behaviours according to its perceptions about its own status and the environment at runtime. My work is related to exploiting and tailoring Computational Intelligence for understanding, improving and assessing the software engineering process as well as the runtime behaviors of the developed software systems, ranging from the domain of web applications to the cloud computing paradigm. The ultimate goal of my work is to create approaches that enable intuitive and effective creation of more dependable, reliable and self-adaptive software systems. More details can be found at here.

    A full list of publications can be found at here. A more exhaustive list, including preprints, can be found at my Google Scholar profile.
    • 2012-2018: Research Theme Leader, Dynamic Adaptive Automated Software Engineering (DAASE), Grant No. EP/J017515/1, £6,834,903 funded by EPSRC.
    • 2015-2016: Co-PI, Ecology Inspired Self-Aware Autoscaling Supporting Elastic Cloud-Based Services, £8,000 funded by Ramsay Research Funding Schema, School of Computer Science, University of Birmingham.
    • 2010-2014: Researcher, Engineering Proprioception in Computing Systems (EPiCS), Grant No. FP7-ICT-2009-5, Euro 681,385 funded by the FET proactive initiative "Self-Awareness in Autonomic Systems" by the European Union 7th Framework Programme.

    Detailed of the projects and my involvements can be found at here.

    I have broad research interests on Software Engineering, including but not limited to:

  • Performance Engineering
  • Search-Based Software Engineering
  • Self-* Software Systems
  • Services Computing
  • Cloud Computing
  • Computational Intelligence
  • I am particularly interested in the interactions between Computational Intelligence (e.g., Natural Computation and Machine Learning etc) and Software Engineering, with special focus on engineering Self-Adaptive Software Systems, which refer to the special software systems that, when operate under dynamic and uncertainty, are able to adapt its configurations, structure and behaviours according to its perceptions about its own status and the environment at runtime. My work is related to exploiting and tailoring Computational Intelligence for understanding, improving and assessing the software engineering process as well as the runtime behaviors of the developed software systems, ranging from the domain of web applications to the cloud computing paradigm. The ultimate goal of my work is to create approaches that enable intuitive and effective creation of more dependable, reliable and self-adaptive software systems.

    Specifically, the themes of my research have been on the following aspects (especially at runtime) where most of the challenges are related to dealing with the dynamic and uncertainty experienced by the software systems:

    System and Software Modelling

    • How to model the correlation of non-functional attributes/QoS to the underlying control variables (i.e., software and hardware configurations) and the environment.
    • How to model large-scaled, ultra-variable self-adaptive softwre systems.
    • How to study and mitigate the performance interference (in virtualized environment) caused by contentions.
    • How to model the pay-off after adaptations under certain circumstance.

    Architecture

    • What is the optimal level and number of feedback loops.
    • What is the best degree of centrality.
    • What is the most appropriate granularity of control.
    • Which architectural pattern to use.

    Runtime Decision Making and Planning

    • How to conduct runtime reasoning about the effects of decision/adaptations on goals.
    • How to resolve the possible trade-offs between conflicting non-functional attributes.
    • How to tame environmental and requirement uncertainty when making adaptation decision.
    • How to respect the dependencies between control knobs when making adaptation decision.
    • When to change and adapt the software systems.
    • How to make decision under hyper dynamic and uncertainty.

    Quality Indicator and Benchmark for Self-Adaptive Software and SBSE

    • What indicator to use for assessing solution set of SBSE problems considering preference.
    • How to design robust quality indicator for different SBSE problems.
    • How to design generic benchmark and assessment for self-adaptive software.

    • [SABDC-17]: T. Chen and R. Bahsoon. Bridging Ecology and Cloud: Transposing Ecological Prespective to Enable Better Cloud Autoscaling, in the book of Software Architecture for Big Data and the Cloud, Elsevier, 2017.
    • [SACS-16]: T. Chen, F. Faniyi, and R. Bahsoon. Design Patterns and Primitives: Introduction of Components and Patterns for Self-Aware Computing Systems, in the book of Self-Aware Computing Systems, Springer, 2016.

    Dynamic Adaptive Automated Software Engineering (DAASE), funded by EPSRC, 2012-2018.

    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 modeling and optimization for self-adaptive software. The aim is to investigate advanced approaches to model and 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.

    Self-Aware and Self-Adaptive Autoscaling for Cloud-Based Services, Ph.D. thesis, funded by School of Computer Science at University of Birmingham, 2012-2016.

    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.

    Ecology Inspired Self-Aware Autoscaling Supporting Elastic Cloud-Based Services, funded by Ramsay Research Funding Schema from School of Computer Science at University of Birmingham, 2015.

    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 co-PI 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.

    Engineering Proprioception in Computing Systems (EPiCS), FP7-ICT-2009-5, funded by European Union 7th Framework Programme, 2010-2014.

    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.

    Least Cost Fulfilment, funded by EPSRC KTS (Knowledge Transfer Secondments), 2013.

    A company is looking to deploy their optimization system into cloud with an aim to improve performance while reducing cost. I was involved in the task for modeling performance of the cloud-based application, the models can then assisted in determining the demand of cloud resources while minimising the cost.

    • 2017-2018 Spring term: (MSc) Software Engineering II
    • 2017-2018 Spring term: (BSc) Software Design and Implementation
    • 2014-2015 Autumn term: (MSc) Software Engineering II
    • 2014-2015 Autumn term: (BSc) Fundamentals on Software Engineering
    • 2013-2014 Autumn term: (MSc) Software Engineering II
    • 2013-2014 Autumn term: (BSc) Fundamentals on Software Engineering
    • 2017-present: (PhD) Dalia Sobhy, Economic and Machine Learning Driven Self-Adaptive Architecture Diversity in IoT (co-supervised with Dr. Rami Bahsoon)
    • 2017-present: (PhD) Satish Kumar, Evolutionary Multi-Tenanted Service Composition at SaaS (co-supervised with Dr. Rami Bahsoon)
    • 2017: (MSc) Taiyang Guo, Cloud Instance Selection using Parallel K-Mean Clustering and Hadoop
    • 2016: (MSc) Marcus Chon Kit Ng, Multi Populations with Dynamic Diversity Levels for Dynamic Optimization
    • Services Transactions on Internet of Things (STIOT)
    • International Conference on Cognitive Computing, 2018
    • IEEE International Congress on Internet of Things, 2018
    • IEEE World Congress on Services, 2018
    • Student Research Competition, ACM SIGAPP Symposium On Applied Computing, 2018
    • Cooperative Systems Track, ACM SIGAPP Symposium On Applied Computing, 2017
    • IEEE World Congress on Services, 2017
    • S2 International Conference on Internet of Things, 2016
    • IEEE Services, Emerging Track: Big Data Software Engineering for Cloud, Edge Computing and Mobility, 2016
    • IEEE International Conference on Services Computing, 2015
    • European Conference on Software Architecture, 2015
    • IEEE International Conference on Services Computing, 2014
    • IEEE Transactions on Services Computing (TSC)
    • ACM Transactions on Software Engineering and Methodology (TOSEM)
    • IEEE Transactions on Evolutionary Computation (TEVC)
    • Journal of Systems and Software (JSS)
    • Information Sciences (INS)

    Room

    Erasmus Darwin Building

    Department of Computing and Technology

    College of Science and Technology

    Nottingham Trent University

    Clifton, Nottingham, UK

    NG11 8NS


    Email: tao.chen [at] ntu [dot] ac [dot] uk

    Tel: +44 (0)121 414 3734

    Room 244

    School of Computer Science

    College of Physical Sciences and Engineering

    University of Birmingham

    Edgbaston

    Birmingham, UK

    B15 2TT


    Email: t.chen [at] cs [dot] bham [dot] ac [dot] uk

    Tel: +44 (0)121 414 3734