Den ökande komplexiteten och kostnaden för programvaruintensiva system har fått utvecklare att söka efter sätt att återanvända programvarukomponenter i utvecklingsprojekt. Ett sätt att öka återanvändningen av programvara är att utveckla en programvaruproduktlinje (SPL), som är en programvaruarkitektur som kan konfigureras om och återanvändas mellan olika projekt. I stället för att utveckla programvara från grunden för ett nytt projekt produceras en ny konfiguration av SPL. Det är dock svårt att hitta en konfiguration av ett SPL som uppfyller ett godtyckligt krav och inte bryter mot några konfigurationsbegränsningar i SPL. Befintlig forskning har fokuserat på tekniker som producerar en konfiguration av ett SPL i ett enda steg. Budgetbegränsningar eller andra begränsningar kan dock kräva konfigurationsprocesser i flera steg. Till exempel kan en flygplanstillverkare vilja producera en serie konfigurationer av ett flygplan över en period av år utan att överskrida en årlig budget för att lägga till funktioner. Detta dokument ger tre bidrag till studien av flerstegskonfiguration för SPL. För det första presenterar vi en formell modell av flera steg SPL konfiguration och kartlägga denna modell för att begränsa tillfredsställelse problem (CSPs). För det andra visar vi hur lösningar på dessa SPL-konfigurationsproblem automatiskt kan härledas med en begränsningslösare genom att kartlägga dem till CSP:er. Dessutom visar vi hur funktionsmodelländringar kan kartläggas till vår strategi i ett flerstegsscenario genom att använda funktionsmodelldrift. För det tredje presenterar vi empiriska resultat som visar att vår CSP-baserade resonemangsteknik kan skala till SPL-modeller med hundratals funktioner och flera konfigurationssteg.
I REF föreslås ett automatiserat tillvägagångssätt för att på en funktionsmodell härleda en uppsättning konfigurationer som uppfyller en rad krav i en konfigurationsprocess i flera steg.
Evolving feature model configurations in software product lines
{'venue': 'J. Syst. Softw.', 'journal': 'J. Syst. Softw.', 'mag_field_of_study': ['Computer Science']}