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. Aspect-oriented 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)
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(More)
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(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)
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)
  • 1