Självanpassning gör det möjligt för programvara att köra framgångsrikt i dynamiska, oförutsägbara och osäkra miljöer. Kontrollteori ger en bred uppsättning matematiskt baserade tekniker för att anpassa beteendet hos dynamiska system. Även om det har tillämpats på specifika problem med programvarukontroll har det visat sig svårt att definiera metoder som gör det möjligt för icke-experter att systematiskt tillämpa kontrollteknik för att skapa anpassningsbar programvara. Dessa svårigheter uppstår eftersom datorsystem vanligtvis är icke-linjära, med varierande arbetsbelastning och heterogena komponenter, vilket gör det svårt att modellera programvara som ett dynamiskt system, dvs. med hjälp av differential- eller skillnadsekvationer. I detta dokument föreslås en bred metod för att automatiskt konstruera både en ungefärlig dynamisk modell av ett programvarusystem och en lämplig styrenhet för att hantera dess icke-funktionella krav. Trots dess allmängiltighet ger denna metod formella garantier för systemets dynamiska beteende genom att kontinuerligt hålla sin modell uppdaterad för att kompensera för förändringar i utförandemiljön och effekter av den initiala approximationen. Vi tillämpar metoden på tre fallstudier, som visar dess allmängiltighet genom att ta itu med olika områden (och olika icke-funktionella krav) med samma tillvägagångssätt. Eftersom denna metod är allmänt tillämplig och helt automatiserad, kan den göra det möjligt att anta kontrollteoretiska lösningar (och deras formella egenskaper) för ett brett spektrum av programvaruanpassningsproblem.
I REF föreslår författarna en metod för att automatiskt konstruera en modell av systemet dynamiskt och syntetisera en kontinuerlig styrenhet för att genomdriva icke-funktionella krav på körtid, och justera variablerna för att uppnå målet i närvaro av oförutsägbara störningar.
Automated design of self-adaptive software with control-theoretical formal guarantees
{'venue': 'ICSE 2014', 'journal': None, 'mag_field_of_study': ['Computer Science']}