Itabaiana, SE
Coordenação de Aperfeiçoamento de Pessoal de Nível Superior; Programação Orientada a Aspectos é conhecida como uma técnica para modularização de interesses transversais. Entretanto, construções que visam apoiar a modularidade transversal podem quebrar a modularidade de classe. Como consequência, os desenvolvedores de classes enfrentam problemas de modificabilidade, desenvolvimento em paralelo e entendimento, po...
Modularization of crosscutting concerns is the main benefit provided by Aspect-Oriented constructs. However, current AO languages do not address class modularity adequately. In order to achieve both class and crosscutting modularity, Design Rules for AO Systems should be defined. In this work we propose a language to specify Design Rules that establish the minimum requirements to enable the parallel development...
Programação Orientada a Aspectos é conhecida como uma técnica para modularização de interesses transversais. Entretanto, construções que visam apoiar a modularidade transversal podem quebrar a modularidade de classe. Como consequência, os desenvolvedores de classes enfrentam problemas de modificabilidade, desenvolvimento em paralelo e entendimento, porque precisam estar conscientes da implementação dos aspectos...
Apart from adoption strategies, an existing Software Product Line (SPL) implemented using some variability mechanisms can be migrated to use another variability mechanism. In this paper, we present some migration strategies from one SPL implemented with conditional compilation to one using Aspect-Oriented Programming (AOP). The strategies present a variability pattern handled by the first mechanism and shows ho...
Modularization of crosscutting concerns is the main benefit provided by Aspect-Oriented constructs. However, it does not address class modularity adequately. In order to assess both class and crosscutting modularity of AO systems, we use Design Structure Matrixes (DSMs) to analyze three different versions (OO, AO, and AO using design rules) of a real software application. We observed that, in the last version, ...
Handling the various derivations of an aspect-oriented software famility architecture can be a daunting and costly task if explicit support is not systematically provided throughout early and late development artifacts. Aspectoriented software development (AOSD) has been recently explored by several research works as a technique that enables software product line customization. However, the application of AOSD ...
This position paper addresses on going work in exploring variability mechanisms for relevant artifacts in the domain of Mobile Game Software Product Lines. In particular, we show such mechanisms for images and sound and reason on the choice of such mechanism based on factors such as binding-time, performance, and reusability. Future work consists of refining a reasoning framework to encompass additional factors...
Modularization of crosscutting concerns is the main benefit provided by Aspect-Oriented constructs. In order to rigorously assess the overall impact of this kind of modularization, we use Design Structure Matrixes (DSMs) to analyze different versions (OO and AO) of a system. This is supported by the concept of semantic dependencies between classes and aspects, leading to a more faithful notion of coupling for A...
Aspect-Oriented Programming (AOP) is considered a promising approach for Software Product Line (SPL) implementation. In this paper we present the problem of dependency in inter-type method declarations as well a proposal of two new constructs to AspectJ interfaces: introduces and declares. These constructs can be used to declare and check dependency between base code and aspects in such a way to support separat...