Web Service Composition

Service-oriented computing promises rapid development of software application. New services can be developed by combining many interoperating, autonomous, distributed, reusable services on the Internet. Emergency earthquake services, for example, may be composed of multiple services: Google maps to show the location of patients; a hospital service showing available spaces at hospitals; and a traffic system outlining current road conditions. Someone could then use such a system to allocate patients to the best hospital within the shortest time. The fundamental challenge is to compute new value-added services by selecting and combining existing services that not only satisfy users’ functional requirements but also meet non-functional expectations, e.g., lowest price, lowest response time, and available and reliable all the time.

In the era of Big Data, the number and complexity of data-intensive services on the Internet is increasing rapidly. Traditional service composition approaches have come to a performance bottleneck, due the mass data. Data-intensive services bring new challenges because composition with data-intensive services across multiple network nodes must consider the costs of dependency checking, consistency enforcement, data transfer and storage. We will investigate the optimisation problems of data-intensive service composition and develop heuristic algorithms for solving them.

Cost-Effective Multi-Cloud Deployment of Data-intensive Software Applications

Cloud computing is a modern computing paradigm of deploying software applications. Multiple cloud platforms are available with different computing resources, different pricing schemes, different quality of providing cloud services (e.g. response times) and different interoperability requirements. Multi-cloud deployment is the vision where cloud users can dynamically use and share resources from multiple clouds simultaneously to run their applications in a cost-effective manner. While their is growing interest to adopt multi-clouds, current approaches are not mature. We will investigate the optimisation problems of multi-cloud deployment of data-intensive applications, and develop multi-objective evolutionary methods for finding cloud resources as per their demands.

Resource Allocation in Clouds

Containers are lightweight and provide the potential to reduce more energy consumption of data centers than Virtual Machines (VMs) in container-based clouds. The on-line resource allocation is the most common operation in clouds. However, the on-line Resource Allocation in Container-based clouds (RAC) is new and challenging because of its two-level architecture, i.e. the allocations of containers to VMs and the allocation of VMs to physical machines. These two allocations interact with each other, and hence cannot be made separately. In this project we develop EC-based methods to effectively solve the RAC problem (static and dynamic), considering VM overheads, VM types and an affinity constraint.

Workflow Scheduling

With the rapid development of cloud computing technology, dynamic workflow scheduling (DWS) in cloud computing has attracted increasing attention from researchers in academia and industry. Existing research works mainly manually designed heuristics. However, manually designing heuristics require human intervention and domain knowledge, which are time-consuming and may not work effectively across many different problem instances. Further, they cannot work effectively across different problem instances. To address these issues, this project we use machine learning methods, Genetic Programming Hyper Heuristic (GPHH) to automatically design heuristics for the dynamic workflow scheduling problems.

Social Network Detection

Detecting quality community structures in many complex social networks (SNs) is an important and highly active research area in academia and industry. An extensive amount of studies have been conducted to solve the community detection (CD) problem. However, there exist some limitations in terms of the quality of the community structures and the scalability of the CD algorithms. With the rapid growth of the networks, the structure of the networks tends to be more complex as several millions of individuals and relationships between individuals are formed. This project will develop innovative Evolutionary Computation (EC) and Deep Learning (DL) techniques to tackle challenging CD problems in both large static and dynamic networks efficiently and effectively.