Alberto Costa Neto

Learn More
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(More)
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(More)
In a previous work, we proposed a framework extension approach based on the use of a new concept, called Extension Join Points (EJPs). EJPs enable the framework systematic extension by means of variability and integration aspects. In this paper, we show how EJPs can be implemented using the mechanisms of the AspectJ language. To evaluate the usefulness of(More)
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(More)
Aspect-Oriented Programming is known as a technique for modularizing crosscutting concerns. However, constructs aimed to support crosscutting modularity might actually break class modularity. This can be mitigated by using adequate Design Rules between classes and aspects. We present a language that supports most of the Design Rules found in AO Systems,(More)
In Software Product Line (SPL) engineering [1], while focusing on exploiting the commonality within the products, adequate support must be available for customizing the SPL core in order to derive a particular SPL instance. The more diverse the domain, the harder it is to accomplish this task. This, in some cases, may outweigh the cost of developing the SPL(More)
Nowadays, organizations face with a highly competitive market, needing information and knowledge as an intelligent support for the management of their business. In this context, correct dissemination of Information and Communication Technology (ICT) may be a manner to obtain competitive advantages. For that, it is needed management practices that optimize(More)
Software Systems usually demand product customization for each client, frequently involving the creation of new components and changes to existing ones, possibly causing maintenance and evolution problems. One of the major challenges is to keep source code quality of the customized code. This is specially difficult because the revision process of the(More)