Abstract-Två programmering paradigm får uppmärksamhet i överlappande områden av programvara produktlinjer (SPL) och inkrementell mjukvaruutveckling (ISD). Feature-orienterad programmering (FOP) syftar till storskalig kompositions-programmering och funktionsmodulalitet i SPL med hjälp av ISD. Aspect-orienterad programmering (AOP) fokuserar på modularisering av övergripande problem i komplex programvara. Även om funktionsmoduler, de viktigaste abstraktionsmekanismerna i FOP, fungerar bra i genomförandet av storskaliga programvarubyggstenar, de är oförmögna att modularisera vissa typer av övergripande problem. Denna svaghet är exakt styrkan i aspekter, de viktigaste abstraktionsmekanismerna i AOP. Vi bidrar med en systematisk utvärdering och jämförelse av FOP och AOP. Det visar att aspekter och funktionsmoduler är kompletterande tekniker. Följaktligen föreslår vi symbios av FOP och AOP och aspektuella funktionsmoduler (AFM), en programmeringsteknik som integrerar funktionsmoduler och aspekter. Vi tillhandahåller en uppsättning verktyg som stöder genomförandet av AFMs på toppen av Java och C++. Vi tillämpar AFMs för en icke-trivial fallstudie som visar deras praktiska tillämplighet och för att motivera våra designval.
Mer nyligen, Apel et al. I REF introduceras begreppet "aspectual feature module" (AFM), som utgör ett förslag till symbios av "Funktionsorienterad programmering" och "Aspect-oriented Programmering".
Aspectual Feature Modules
{'venue': 'IEEE Transactions on Software Engineering', 'journal': 'IEEE Transactions on Software Engineering', 'mag_field_of_study': ['Computer Science']}