Service composition is a collection of services where, many smaller services are combined together to a larger service. Service composition is the problem of aggregating services in such a way that given (functional and not functional) requirements are satisfied. Typically, Web service composition is represented by a plan consisting of tasks that, at run-time, are instantiated to the actual services satisfying users’ requirements. Due to the increasing number of services available offering similar functionalities, it is hard for users to select an optimal service composition among a list of candidate services that satisfy their needs.
Service composition is comparatively old research area within computer science. Most of the early work has been done by the web services community specially focusing web service composition domain. Most popular web services composition problem is Travel Planning problem. Over the years, many researchers have proposed many different techniques to address the problem.
Let us now look at this problem from Internet of Things (IoT) point of view. Internet of Things is a network of devices (including sensors). The devices are heterogeneous and varies from each other significantly. Ideal vision (at least most of the time) is to develop IoT applications with the help of already deployed devices. Each of the devices may have different capabilities therefore may only capable of running certain type of devices.
For example, a particular IoT application may need to compose certain type of devices together to accomplish its end goal. Further, due to heterogeneity and constraints, certain services may only be able to run on certain device. Form abstract point of view, this is a very similar to the problem we have dealt in web services domain. We believe that IoT can be greatly benefitted by the techniques developed by webservices composition community and other similar communities.
IoT is a applied domain where the community composed from research scientist to software developers to hobbyist to teenager who may tinkering IoT application. As most of the work related web services composition is done by research community, knowledge seems to be stuck within the research community where it is different for developers to use the techniques developed in service composition domain. This PhD project focused on developing novel service composition techniques for Internet of Things