Research areas: Autonomous and self-adaptive systems; Cyber Physical Systems; Embedded systems; Automated and Model-Driven Software Engineering; Real time languages and systems; Wireless Sensor Networks and Internet of Things
Background Design and Optimisation of IoT Systems (Internet of Things) An important aspect of developing any system is having an appropriate way for describing both the problem and solution domains. This is particularly critical when designing IoT systems, because they are applied to different domains such as industrial process monitoring or shopper’s behaviour prediction. Specialists in those areas know their problem quite well but are not necessarily willing to learn details about IoT technology challenges and issues. My model-based approach to IoT is based on a complete separation of concerns: one model which describes a distributed sensing and actuation application (possibly specified by a problem domain specialist) and a set of models which describe possible IoT platforms and protocols that are supposed to provide the resources for the application’s execution. The research questions that arise from such a paradigm include the definition of domain-specific modelling languages, application-platform mapping, design space exploration and platform validation.
Specific topic for PhD research: Adaptive behaviour in IoT can be achieved by orchestrating the way each individual node reacts to changes in the application’s goals, the environment or in the nodes themselves. Our approach to adaptive behaviour is to allow each node to decide which services it provides to the network, taking into account the application objectives, its perceived state of the network and its own state. The application objectives include the end-user goals with the IoT deployment, which are known a priori but could change after deployment. The state of the network and the node can include the power budget of the node, information about reachable neighbors, services provided by them, etc. Based on that information, each node can choose which services it should provide to its neighbors and, ultimately, to the end user. Such decision can be very conservative, e.g. in case it power budget is limited, aiming to extend the lifetime of the network to the detriment of its performance. On the other hand, it may decide to provide a large set of services if its contribution is critical to the success of the system. In other words, a node becomes more "egoistic" and refuses to provide one (or more) of the services it is capable to provide if it "feels" that its own "existence" is threatened by lack of power, or more "altruistic" if it "feels" that the network depends heavily on it. The research goal here is to evaluate different ways to address such trade-off: when should a node restrict access to its services? how to know which of the services should be restricted first? how to handle the mobility of nodes? are there any "bio-inspired" methods that could be used to model the egoistic vs. altruistic behaviour of each particular node? can we use hardware reconfiguration as a way to dynamically enable nodes to provide services that are needed at a given point in time?
Read more: I. Caliskanelli et al, Bioinspired Load Balancing in Large-Scale WSNs Using Pheromone Signalling, International Journal of Distributed Sensor Networks, 2013 (https://uk.sagepub.com/en-gb/eur/international-journal-of-distributed-sensor-networks/journal202573).
P. R. Ferreira, L. Brisolara, and L. S. Indrusiak, Decentralised Load Balancing in Event-Triggered WSNs Based on Ant Colony Work Division, in: 41st EUROMICRO Conference on Software Engineering and Advanced Applications (SEAA), 2015 (https://ieeexplore.ieee.org/document/7302433)
How good is research at University of York in Computer Science and Informatics?
Research output data provided by the Research Excellence Framework (REF)