Dr Jan Oliver Ringert and Dr Ivan Tyukin
Intelligent software is pervading the world around us. It is the driving enabler for innovations and products from autonomous vehicles, to enhanced health care, to efficient crisis response, to simple things like recommending the right movie for inspiration. However, often Artificial Intelligence (AI) does not deliver services alone but is embedded inside a larger software system.
With increasing shifts towards AI we see new challenges in the construction and evolution of software systems. AI components are often not easily adapted and changing interfaces might mean costly retraining or synthesizing of the software. This might require the augmentation or creation of new datasets and specifications.
This project will investigate how evolution can be efficiently supported for intelligent software systems. As an example, as part of the software of a self-driving car we might have an AI component that detects pedestrians, cyclists, and traffic lights. A software evolution step might change component interfaces to detecting dangers instead of the previously more detailed classification. Here the creation of new training data and costly retraining might not be necessary if we can compose the existing AI component with one that extracts dangers from classified objects.
This project will suggest suitable adaptations both on the software architecture level and on the AI level to make evolution more efficient. It is expected that this holistic view will be able to leverage techniques from software architecture and from AI that complement each other to provide timely answers to existing and emerging software evolution challenges.
The research will be evaluated in the context of autonomous vehicles in urban environments (see the school’s project DriverLeics https://ringert.blogspot.com/search/label/DriverLeics) and on a drone for search and rescue missions (another project of the school). We are building links with industrial partners in the area of autonomous driving and robotics to apply our research.
An overview of evolution of software models; and a look at software architectures and their evolution (by the first supervisor):
1. S. Maoz, J. O. Ringert: A framework for relating syntactic and semantic model differences. Software and System Modeling 17(3): 753-777 (2018) https://doi.org/10.1007/s10270-016-0552-y
2. V. Bertram, S. Maoz, J. O. Ringert, B. Rumpe, M. von Wenckstern: Component and Connector Views in Practice: An Experience Report. MoDELS 2017: 167-177 https://doi.org/10.1109/MODELS.2017.29
Techniques for adapting and correcting artificial intelligence components (by the second supervisor):
3. I. Tyukin, A.N. Gorban, S. Green, D. Prokhorov. Fast Construction of Correcting Ensembles for Legacy Artificial Intelligence Systems: Algorithms and a Case Study, Information Sciences (accepted). 2018. https://arxiv.org/abs/1810.05593.
4. I.Tyukin, A.N. Gorban, K. Sofeikov, I. Romanenko. Knowledge Transfer Between Artificial Intelligence Systems. Frontiers in Neurorobotics, 2018. doi:10.3389/fnbot.2018.00049. https://arxiv.org/abs/1709.01547