< Terug naar vorige pagina

Project

Een control-theoretische aanpak voor zelf-adaptieve software systemen met formele garanties

Software engineers worden in toenemende mate geconfronteerd met onzekerheden tijdens het ontwerp van systemen. Voorbeelden hiervan zijn dynamische veranderingen in de omgeving die moeilijk te voorspellen zijn of vereisten van gebruikers die tijdens de uitvoering veranderen. Het idee van zelf-aanpassing is om dergelijke onzekerheden te behandelen tijdens de uitvoering van het systeem, wanneer de ontbrekende informatie beschikbaar wordt. Aangezien zelf-aanpassing steeds meer toegepast wordt voor systemen met kritieke vereisten is het garanderen van de vereisten een belangrijke prioriteit geworden. Het bieden van garanties met traditioneel architectuur-gebaseerde zelf-aanpassing blijkt complex te zijn. In dit proefschrift passen we principes van controle-theorie toe om zelf-aanpassing te realiseren. We presenteren eerst een systematisch overzicht van de literatuur rond controle-gebaseerde software aanpassing. Vervolgens stellen we SimCA voor, een nieuwe controle-gebaseerde aanpak voor zelf-aanpassing van software systemen die formele garanties biedt voor meerdere vereisten. SimCA ondersteunt de volgende soorten vereisten: vereisten die een variabele op een bepaalde waarde houdt (setpoint), vereisten die de waarde van een variabele onder of boven een bepaalde drempel houdt en vereisten die de waarde van een variabele optimaliseert. SimCA laat toe dat nieuwe doelen worden toegevoegd of bestaande doelen worden verwijderd tijdens de uitvoering. Om de toepasbaarheid en effectiviteit van SimCA te demonstreren vergelijken we de aanpak met andere bekende architectuur- en controle-gebaseerde aanpakken. De onderzoeksresultaten worden gevalideerd in de domeinen van onbemande onderwaterboten, service-gebaseerde systemen en Internet of Things.

Datum:2 okt 2017 →  2 okt 2021
Trefwoorden:self-adaptation, software, control theory, SimCA
Disciplines:Toegepaste wiskunde, Computerarchitectuur en -netwerken, Distributed computing, Informatiewetenschappen, Informatiesystemen, Programmeertalen, Scientific computing, Theoretische informatica, Visual computing, Andere informatie- en computerwetenschappen
Project type:PhD project