Aspect-orienterad (AO) programmering har framgått som ett lovande paradigm för att förbättra modulariteten genom att tillhandahålla mekanismer för att fånga och utföra övergripande problem i programvaruapplikationer. Bland annat, AO tillåter utvecklare att gradvis ändra beteendet hos ett basprogram, genom att införa aspekter som genomför tvärgående problem har effekter på olika punkter genom ett program. Därför, trots den rena separationen av problem i aspekt-orienterade system, är det fortfarande svårt att förutsäga effekten av en viss aspekt på detta basprogram. När en aspekt väl är vävd, uppnår den fortfarande vad den var avsedd för? Bryter det mot basprogramegenskaper som bör bevaras? Stör det andra aspekters egenskaper? Dessa frågor tar upp det välkända interaktionsproblem som uppstått inom ramen för AO-paradigmet. I denna artikel behandlas interaktionsproblem i samband med formell analys och verifiering av AO-systemmodeller. För att vara mer exakt, detta arbete behandlar AO modeller skrivna i Aspect-UML (vår UML profil). Aspect-UML är inte beroende av några AO-språkspecifika funktioner och är inte heller förknippat med någon specifik utvecklingsprocess. Detta dokument förklarar först hur Aspect-UML modeller kan översättas till legering, ett enkelt strukturellt första-order logik modellering språk som kan analyseras formellt. Med tanke på denna översättning visar den sedan hur legeringens modellanalysator kan användas för att verifiera aspektinteraktioner av en Aspect-UML-modell.
Arbetet inom Ref fokuserar på interaktionsproblemet inom ramen för den aspektorienterade programplaneringen.
Design-level Detection of Interactions in Aspect- UML models using Alloy
{'venue': 'Journal of Object Technology', 'journal': 'Journal of Object Technology', 'mag_field_of_study': ['Computer Science']}