Strong programming skills (e.g. Java (preferred), Python, C/C++), Good knowledge of AI basics (knowledge representation, search and reasoning, planning, etc.), Web technologies (e.g. web services, php, asp.net, angular, jquery, etc.)
Ontologies (RDF/RDFS, OWL, OWL-S, SAWSDL) and SPARQL, Experience in RDF triple stores (e.g. sesame, jena) and programming using triple store APIs, AI planning techniques (e.g. PDDL, agent-based planning, constraint satisfaction, temporal planning, etc.)
Recent advances in computer systems and in communication technologies and protocols, as well as in service-oriented (SoA) and everything as a service (EaaS) architectures, set a fertile ground for the rapid growth of the Internet of Things (IoT). The main feature of IoT is the integration of heterogeneous and multimodal sensors, processing units and action elements (actuators) in a distributed and ambient environment. Billions of devices are expected to be interconnected and integrated as (micro-) services, which can be used and re-used by developers making the building and realization of complex applications easier. IoT platforms are necessary to facilitate the communication capabilities of the developed services, along with the service discovery process, support interoperability and service composition. At a higher level, the IoT revolution will rely on multiple platforms that also need to be interoperable for the realization of the IoT vision.
Research and Development Area
IoT adopts a service-oriented architecture (SoA), where all ``things'' are exposed as web services that can be used and reused. Available services in an IoT ecosystem can be combined to construct complex applications that fulfill some new desired functionality which none of the existing services is able to provide. This procedure is known as service composition . Key steps in composing a service are the discovery of suitable services (available in a service registry) and their appropriate interconnection using an IoT-ready platform (e.g. the SYNAISTHISI platform developed at IIT, NCSR Demokritos http://synaisthisi.iit.demokritos.gr, http://iot.synaisthisi.iit.demokritos.gr), such that a functional composition is ensured where every service can be readily invoked. Discovering and interconnecting the services can be greatly enhanced by exploiting semantic descriptions of services, often provided in OWL-S or SAWSDL. The preferable way to perform service composition in the IoT context is in a completely automated fashion, where end-users simply specify their needs and a composite service is returned without further intervention (manual and semi-automatic approaches also exist in the literature).
Goals and Expected Outcome
Usually (automatic) service composition is posed as either an AI planning-based  or a graph-based  problem, where the goal is to match the outputs of services to the inputs of other services in order to produce an invokable composite service. Matching inputs to outputs constitutes the main step in fulfilling the functional requirements of a composite service. However, services may have preconditions and effects as part of their functional requirements which are often ignored by current methods. In this work, we shall follow the semantically-aware AI planning-based route to service composition and also consider preconditions and effects of services. Moreover, we will investigate non-functional requirements, such as user preferences, location, Quality of Service (QoS) (e.g. response time, throughput), price, as part of the planning problem in order to produce composite services that best fit the users’ needs. The temporal aspects of services will also be considered (e.g. a service may be unavailable at certain times), as well as the dynamic replacement of a service (e.g. when a service unexpectedly fails). This thesis gives an opportunity to the student to deal with an important problem arising in IoT, which is expected in the future to form one of the key elements of the envisioned ambient marketplace where services from different vendors and heterogeneous domains are produced, delivered and traded.
 Q. Z. Sheng, X. Qiao, A. V. Vasilakos, C. Szabo, S. Bourne, and X. Xu. Web services composition: A decade’s overview. Inf. Sciences, 280:218–238, 2014
 O. Hatzi, D. Vrakas, M. Nikolaidou, N. Bassiliades, D. Anagnostopoulos, and I. Vlahavas. An integrated approach to automated semantic web service composition through planning. IEEE Transactions on Services Computing, 5(3):319–332, 2012
 P. Rodriguez-Mier, C. Pedrinaci, M. Lama, and M. Mucientes. An integrated semantic web service discovery and composition framework. IEEE Transactions on Services Computing, PrePrints, 2015
For more information, please contact
Dr Costantine S. Spyropoulos
Director of Research
Dr Grigorios Tzortzis