Carlos José Pereira de Lucena

Learn More
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(More)
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(More)
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(More)
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(More)
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(More)
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(More)
Laws have been used to deal with theoretical and practical issues regarding notions of openness and unpredictably of open multiagent systems. In order to achieve a higher degree of predictability and confidence, practical applications of distributed agents need to describe the interaction structure of the system, and this interaction structure must be(More)
In this paper we propose a multi-agent system modeling language (MAS-ML) that extends UML (Unified Modeling Language) based on structural and dynamic properties presented in a conceptual framework (metamodel) called Taming Agents and Objects (TAO). Our focus is the adaptation according to TAO concepts of the static Class diagram and the interaction Sequence(More)