Sammanfattning I en litteraturöversikt över de senaste 20 åren av automatiserad analys av funktionsmodeller identifierades formaliseringen av analysverksamheten som den mest relevanta utmaningen inom området. Denna formalisering kan ge mycket värdefulla tillgångar för verktygsutvecklare såsom en exakt definition av analysverksamheten och, vad mer är, ett referensgenomförande, d.v.s. ett tillförlitligt, inte nödvändigtvis effektivt genomförande för att jämföra olika verktyg outputs. I den här artikeln presenterar vi FLAME-ramen som ett resultat av denna utmaning. FLAME är en formell ram som kan användas för att formellt specificera inte bara funktionsmodeller, men även andra variabilitet modellering språk (VMLs). Denna återanvändning uppnås genom sin tvåskiktade arkitektur. Det abstrakta grundskiktet är det nedre skiktet där alla VML-oberoende analysoperationer och koncept specificeras. Ovanpå grundskiktet kan en familj av karakteristiska modelllager-ett för varje VML formellt specificeras-utvecklas genom att omdefiniera vissa abstrakta typer och relationer. Verifieringen och valideringen av FLAME har följt en process där formell verifiering traditionellt har utförts genom manuellt test, men valideringen har utförts genom att integrera vår erfarenhet av metamorf testning av variabilitetsanalysverktyg, något som har visat sig vara mycket mer effektivt än manuellt utformade testfall. För att följa denna automatiserade, testbaserade valideringsmetod, har specifikationen av FLAME, skriven i Z, översatts till Prolog och 20 000 slumpmässiga tester genererades och utfördes automatiskt. Testresultat bidrog till att upptäcka vissa inkonsekvenser inte bara i den formella specifikationen, utan också i de tidigare informella definitionerna av analysverksamheten och i nuvarande analysverktyg. Efter denna process, Prolog genomförandet av FLAME används som en referensimplementation för vissa verktyg utvecklare, vissa analysoperationer har formellt specificerats för första gången med mer generisk semantik, och fler VMLs specificeras formellt med hjälp av FLAME.
FaMa formaL frAMEwork (FLAME) som föreslås av REF specificerar analysverksamhetens semantik, t.ex. en produkts giltighet, uppsättningen av alla giltiga produkter och giltigheten av en konfiguration, som kan användas inte bara för funktionsmodeller, utan också för andra variabla modellering språk.
FLAME: a formal framework for the automated analysis of software product lines validated by automated specification testing
{'venue': 'Software & Systems Modeling', 'journal': 'Software & Systems Modeling', 'mag_field_of_study': ['Computer Science']}