Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Carlos José Pereira de Lucena is active.

Publication


Featured researches published by Carlos José Pereira de Lucena.


aspect-oriented software development | 2005

Modularizing design patterns with aspects: a quantitative study

Alessandro Garcia; Cláudio Sant'Anna; Eduardo Figueiredo; Uirá Kulesza; Carlos José Pereira de Lucena; Arndt von Staa

Design patterns offer flexible solutions to common problems in software development. Recent studies have shown that several design patterns involve crosscutting concerns. Unfortunately, object-oriented (OO) abstractions are often not able to modularize those crosscutting concerns, which in turn decrease the system reusability and maintainability. Hence, it is important verifying whether aspect-oriented approaches support improved modularization of crosscutting concerns relative to design patterns. Ideally, quantitative studies should be performed to compare OO and aspect-oriented implementations of classical patterns with respect to important software engineering attributes, such as coupling and cohesion. This paper presents a quantitative study that compares aspect-based and OO solutions for the 23 Gang-of-Four patterns. We have used stringent software engineering attributes as the assessment criteria. We have found that most aspect-oriented solutions improve separation of pattern-related concerns, although only 4 aspect-oriented implementations have exhibited significant reuse.


generative programming and component engineering | 2006

Refactoring product lines

Vander Alves; Rohit Gheyi; Tiago Massoni; Uirá Kulesza; Paulo Borba; Carlos José Pereira de Lucena

Adoption strategies for Software Product Lines (SPL) frequently involve bootstrapping existing products into a SPL and extending an existing SPL to encompass another product. One way to do that is to use program refactorings. However, the traditional notion of refactoring does not handle appropriately feature models (FM), nor transformations involving multiple instances of the same SPL. For instance, it is not desirable to apply a refactoring into a SPL and reduce its configurability. In this paper, we extend the traditional notion of refactoring to an SPL context. Besides refactoring programs, FMs must also be refactored. We present a set of sound refactorings for FMs. We evaluate this extended refactoring definition for SPL in a real case study in the mobile games domain.


IEEE Transactions on Software Engineering | 1995

Abstract data views: an interface specification concept to enhance design for reuse

Donald D. Cowan; Carlos José Pereira de Lucena

The abstract data view (ADV) design model was originally created to specify clearly and formally the separation of the user interface from the application component of a software system, and to provide a systematic design method that is independent of specific application environments. Such a method should lead to a high degree of reuse of designs for both interface and application components. The material presented, extends the concept of ADVs to encompass the general specification of interfaces between application components in the same or different computing environments. This approach to specifying interfaces clearly separates application components from each other, since they do not need to know how they are used, or how they obtain services from other application components. Thus, application components called abstract data objects (ADOs), are designed to minimize knowledge of the environment in which they are used and should be more amenable to reuse. >


international conference on software maintenance | 2006

Quantifying the Effects of Aspect-Oriented Programming: A Maintenance Study

Uirá Kulesza; Cláudio Sant'Anna; Alessandro Garcia; Roberta Coelho; Arndt von Staa; Carlos José Pereira de Lucena

One of the main promises of aspect-oriented programming (AOP) is to promote improved modularization of crosscutting concerns, thereby enhancing the software stability in the presence of changes. This paper presents a quantitative study that assesses the positive and negative effects of AOP on typical maintenance activities of a Web information system. The study consists of a systematic comparison between the object-oriented and the aspect-oriented versions of the same application in order to assess to what extent each solution provides maintainable software decompositions. Our analysis was driven by fundamental modularity attributes, such as coupling, cohesion, conciseness, and separation of concerns. We have found that the aspect-oriented design has exhibited superior stability and reusability through the changes, as it has resulted in fewer lines of code, improved separation of concerns, weaker coupling, and lower intra-component complexity


aspect-oriented software development | 2006

Composing design patterns: a scalability study of aspect-oriented programming

Nélio Cacho; Cláudio Sant'Anna; Eduardo Figueiredo; Alessandro Garcia; Thaís Vasconcelos Batista; Carlos José Pereira de Lucena

Pattern composition has been shown as a challenge to applying design patterns in real software systems. One of the main problems is that multiple design patterns in a system are not limited to affect only the application concerns. They also crosscut each other in multiple heterogeneous ways so that their separation and composition are far from being trivial. In this context, it is of paramount importance to systematically verify whether aspect-oriented programming (AOP) supports improved composability of design patterns. This paper presents a systematic investigation on how AOP scales up to deal with modularization of pattern-specific concerns in the presence of pattern interactions. We have made both qualitative and quantitative assessments of 62 pairwise compositions taken from 3 medium-sized systems implemented in Java and AspectJ programming languages. Our analysis has also included the evaluation of compositions involving more than two patterns. The assessment was based on four fundamental software attributes, namely separation of concerns, coupling, cohesion, and conciseness.


International Journal of Cooperative Information Systems | 2005

Applying the 3C Model to Groupware Development

Hugo Fuks; Alberto Barbosa Raposo; Marco Aurélio Gerosa; Carlos José Pereira de Lucena

This paper introduces an approach based on the 3C (communication, coordination and cooperation) collaboration model to the development of collaborative systems. The 3C model is studied by means of a detailed analysis of each of its three elements, followed by a case study of a learningware application and the methodology of a web-based course, both designed based on this model. Moreover, this paper describes a component-based system architecture following this 3C approach.


Archive | 2003

Software Engineering for Large-Scale Multi-Agent Systems

Alessandro Garcia; Carlos José Pereira de Lucena; Franco Zambonelli; Andrea Omicini; Jaelson Castro

A circular tank having a generally flat bottom with a sediment well positioned at one side thereof. Feces and other sediment are brought into the well by inducing a circular movement to the water within the tank to move the sediment around the tank and into the well. The tank preferably includes a standpipe arrangement within the well which continually removes the sediment from the well. The tank is preferably situated with the bottom sloping toward the sediment well. In large tanks, jets of water are positioned adjacent the bottom to jet the sediment up the slope of the tank where the circulation of the water then moves the sediment downwardly to the sediment well. Charged air bubbles are used to produce a froath of the dissolved protein surrounding the standpipe so that waste water also removes the protein. The tank is preferably made out of fiberglass so that it has very smooth internal surfaces which do not retain the sediment. The tank is inexpensively constructed using a fiberglass coated plywood bottom that is supported on a polygonal frame located centrally of the tank with the sediment well positioned between the frame and the sidewall of the tank. Outriggers from the frame extend under the sidewalls of the tank on opposite sides of the sediment well so that the sidewalls are utilized to carry verticle load and decrease the stresses in the bottom of the tank.


Proceedings of the 2006 international workshop on Software engineering for large-scale multi-agent systems | 2006

Unit testing in multi-agent systems using mock agents and aspects

Roberta Coelho; Uirá Kulesza; Arndt von Staa; Carlos José Pereira de Lucena

In this paper, we present a unit testing approach for MASs based on the use of Mock Agents. Each Mock Agent is responsible for testing a single role of an agent under successful and exceptional scenarios. Aspect-oriented techniques are used, in our testing approach, to monitor and control the execution of asynchronous test cases. We present an implementation of our approach on top of JADE platform, and show how we extended JUnit test framework in order to execute JADE test cases.


european conference on software architecture | 2006

On the modular representation of architectural aspects

Alessandro Garcia; Christina Chavez; Thaís Vasconcelos Batista; Cláudio Sant'Anna; Uirá Kulesza; Awais Rashid; Carlos José Pereira de Lucena

An architectural aspect is a concern that cuts across architecture modularity units and cannot be effectively modularized using the given abstractions of conventional Architecture Description Languages (ADLs). Dealing with crosscutting concerns is not a trivial task since they affect each other and the base architectural decomposition in multiple heterogeneous ways. The lack of ADL support for modularly representing such aspectual heterogeneous influences leads to a number of architectural breakdowns, such as increased maintenance overhead, reduced reuse capability, and architectural erosion over the lifetime of a system. On the other hand, software architects should not be burdened with a plethora of new ADL abstractions directly derived from aspect-oriented implementation techniques. However, most aspect-oriented ADLs rely on a heavyweight approach that mirrors programming languages concepts at the architectural level. In addition, they do not naturally support heterogeneous architectural aspects and proper resolution of aspect interactions. This paper presents AspectualACME, a simple and seamless extension of the ACME ADL to support the modular representation of architectural aspects and their multiple composition forms. AspectualACME promotes a natural blending of aspects and architectural abstractions by employing a special kind of architectural connector, called Aspectual Connector, to encapsulate aspect-component connection details. We have evaluated the applicability and scalability of the AspectualACME features in the context of three case studies from different application domains.


computer supported collaborative learning | 2006

R-U-Typing-2-Me? Evolving a Chat Tool to Increase Understanding in Learning Activities.

Hugo Fuks; Mariano Pimentel; Carlos José Pereira de Lucena

Very often, when using a chat tool where more than one participant is talking simultaneously, it is difficult to follow the conversation, read all the different messages and work out who is talking to whom about what. This problem has been dubbed “Chat Confusion.” This article investigates this problem in debate sessions in an online university course. Chat Confusion has been singled out as the main limitation to using chat in educational activities. Confusion needs to be reduced for understanding to increase, making it easier to track what is being discussed during a learning activity. This study investigated the phenomena responsible for causing this confusion. A version of the Mediated Chat tool was developed for each problem identified and was subsequently tested in online courses. This article describes the Mediated Chat development process, the problems identified, and the results obtained from the case studies.

Collaboration


Dive into the Carlos José Pereira de Lucena's collaboration.

Top Co-Authors

Avatar

Alessandro Garcia

Pontifical Catholic University of Rio de Janeiro

View shared research outputs
Top Co-Authors

Avatar

Hugo Fuks

Pontifical Catholic University of Rio de Janeiro

View shared research outputs
Top Co-Authors

Avatar

Uirá Kulesza

Federal University of Rio Grande do Norte

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Ingrid Nunes

Universidade Federal do Rio Grande do Sul

View shared research outputs
Top Co-Authors

Avatar

Ricardo Choren

Instituto Militar de Engenharia

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Jean-Pierre Briot

Pontifical Catholic University of Rio de Janeiro

View shared research outputs
Top Co-Authors

Avatar

Elder Cirilo

Pontifical Catholic University of Rio de Janeiro

View shared research outputs
Researchain Logo
Decentralizing Knowledge