Carlos José Pereira de Lucena

dblp:l/CarlosJosePereiradeLucena · also Carlos J. P. Lucena, Carlos Lucena · DBLP profile ↗
← Back
119ranked-venue papers
7as first author
4since 2021 · last 2025
0000-0001-9669-2352ORCID · conflict

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 89 · 6 first-author · 4 since 2021Artificial intelligence and machine learning · 34Applied, interdisciplinary, general and emerging computing · 15 · 1 since 2021Databases, data management, data science and information retrieval · 13 · 1 first-authorHuman-computer interaction and ubiquitous computing · 6Theory of computation · 3 · 1 first-authorGraphics, computer vision, multimedia, augmented reality and games · 1
YearPublicationVenuePosition
2025 On the Use of GPT to Reveal Common Questions in Developers' Discussions
abstract
Open software development platforms, such as GitHub, foster developers’ collaboration in coding tasks through pull requests (PR). PRs serve as a mechanism for code contributions and structured discussions. These discussions often involve developers exchanging messages that contain questions. Despite the importance of questions, existing studies have not gathered insights on what are recurring types of questions in GitHub PR discussions. In this paper, we address this gap by leveraging the well-established 5W2H framework, which consists of seven questions classes. Our goal is to analyze the distribution of these question types within GitHub PRs and assess whether language models, specifically GPT-3.5 and GPT-4o, can accurately classify them. We conducted our study using a dataset derived from nine GitHub projects from the Netflix and Google ecosystems. Our findings reveal that both GPT-3.5 and GPT-4o perform well in identifying What and Who classes, which were the most frequently occurring question types in developers’ discussions. However, both models struggled with less common categories, failing to detect How Much, and showing inconsistencies in classifying Where, When, Why, and How. These findings suggest that improving classification accuracy may require incorporating domain-specific context and refining prompt engineering techniques.
Camila T. Ramalho, Alessandro F. Garcia 0001, Juliana Alves Pereira, Wesley K. G. Assunção, Daniel Coutinho, Caio Barbosa, Carlos José Pereira de Lucena, Rodrigo Ito
COMPSAC7
2024 On the Usefulness of Automatically Generated Microservice Architectures
abstract
The modernization of monolithic legacy systems with microservices has been a trend in recent years. As part of this modernization, identifying microservice candidates starting from legacy code is challenging, as maintainers may consider many criteria simultaneously. Multi-objective search-based approaches represent a promising state-of-the-art solution to support this decision-making process. However, the rationale to adopt each microservice candidate automatically identified by these approaches is poorly investigated in industrial cases. Furthermore, studies with these approaches have not carefully investigated how maintainers reason and make decisions when designing microservice architectures from legacy systems. To address this gap, we conducted an on-site case study with maintainers of an industrial legacy system to investigate the usefulness of automatically generated microservice architectures. We analyze design decisions pointed out by the maintainers when reasoning about microservice candidates using several criteria at the same time. Our study is the first to assess a search-based approach involving actual maintainers conceiving microservice architectures in an industrial setting. Therefore, firstly, we considered individual evaluation of microservice candidates to understand the rationale for identifying a service. Secondly, we conducted a focus group study with maintainers with the goal of investigating design decisions at an architectural level. The results show that:(i)the automated approach is able to identify useful microservices;(ii)the criteria observed by previous studies are, in fact, considered by maintainers; and(iii)the maintainer profiles, i.e., the preferred granularity for microservice, highly affect design decisions. Finally, we observed the maintainers needed little effort in adjusting the automatically identified microservices to make them adoptable. In addition to indicating a promising potential of search-based approaches to generate microservice architectures, our findings highlight the need for:(i)interactive and/or customizable approaches that enable maintainers to include their preferences during the search process, and(ii)flexible or automated selection of criteria that fits the scenario in which the modernization is taking place.
Thelma Elita Colanzi, Wesley K. G. Assunção, Alessandro F. Garcia 0001, Juliana Alves Pereira, Marcos Kalinowski, Rafael Maiani de Mello, Maria Julia de Lima, Carlos José Pereira de Lucena
IEEE Trans. Software Eng.9
2022 Analysis of a many-objective optimization approach for identifying microservices from legacy systems
Wesley K. G. Assunção, Thelma Elita Colanzi, Alessandro F. Garcia 0001, Juliana Alves Pereira, Maria Julia de Lima, Carlos José Pereira de Lucena
Empir. Softw. Eng.7
2021 A Multi-Criteria Strategy for Redesigning Legacy Features as Microservices: An Industrial Case Study
abstract
Microservices are small and autonomous services that communicate through lightweight protocols. Companies have often been adopting microservices to incrementally redesign legacy systems as part of a modernization process. Microservices promote better reuse and customization of existing features while increasing business capabilities, if appropriate design decisions are made. There are some partially-automated approaches supporting the re-design of legacy features into microservices. However, they fail in covering two key aspects: (i) provide an architectural design of the features being redesigned, and (ii) simultaneously support relevant criteria, e.g., feature modularization and decrease of network communication overhead. Also, these two aspects tend to be poorly discussed along industrial case studies. To fulfill these gaps, we propose a redesign strategy to support the re-engineering of features legacy code as microservices. This strategy covers key possibly-conflicting criteria on microservice-based architectures. We employ search-based optimization to deal with such conflicting criteria. The output of the strategy is a set of redesign candidates of legacy features as microservices. We reflect upon the benefits and drawbacks of the proposed strategy through an industrial case study. In particular, we perform an in-depth analysis of the resulting microservice candidates, and a discussion about their potential for customization and reuse. The reflections/discussions are also supported by observations of developers involved in the process.
Wesley K. G. Assunção, Thelma Elita Colanzi, Juliana Alves Pereira, Alessandro F. Garcia 0001, Maria Julia de Lima, Carlos José Pereira de Lucena
SANER7
2020 A Reference Model for IoT Embodied Agents Controlled by Neural Networks
abstract
Embodied agents is a term used to denote intelligent agents, which are a component of devices belonging to the Internet of Things (IoT) domain. Each agent is provided with sensors and actuators to interact with the environment, and with a `controller' that usually contains an artificial neural network (ANN). In previous publications, we introduced three software approaches to design, implement and test IoT embodied agents. In this paper, we propose a reference model based on statecharts that offers abstractions tailored to the development of IoT applications. The model represents embodied agents that are controlled by neural networks. Our model includes the ANN training process, represented as a reconfiguration step such as changing agent features or neural net connections. Our contributions include the identification of the main characteristics of IoT embodied agents, a reference model specification based on statecharts, and an illustrative application of the model to support autonomous street lights. The proposal aims to support the design and implementation of IoT applications by providing high-level design abstractions and models, thus enabling the designer to have a uniform approach to conceiving, designing and explaining such applications.
Nathalia Moraes do Nascimento, Paulo S. C. Alencar, Donald D. Cowan, Carlos José Pereira de Lucena
IEEE BigData4
2020 On the Performance and Adoption of Search-Based Microservice Identification with toMicroservices
abstract
The expensive maintenance of legacy systems leads companies to migrate such systems to microservice architectures. This migration requires the identification of system's legacy parts to become microservices. However, the successful identification of microservices, which are promising to be adoptable in practice, requires the simultaneous satisfaction of many criteria, such as coupling, cohesion, reuse and communication overhead. Search-based microservice identification has been recently investigated to address this problem. However, state-of-the-art search-based approaches are limited as they only consider one or two criteria (namely cohesion and coupling), possibly not fulfilling the practical needs of developers. To overcome these limitations, we propose toMicroservices, a many-objective search-based approach that considers five criteria, the most cited by practitioners in recent studies. Our approach was evaluated in a real-life industrial legacy system undergoing a microservice migration process. The performance of toMicroservices was quantitatively compared to a baseline. We also gathered qualitative evidence based on developers' perceptions, who judged the adoptability of the recommended microservices. The results show that our approach is both: (i) very similar to the most recent proposed approach on optimizing the traditional criteria of coupling and cohesion, but (ii) much better when taking into account all the five criteria. Finally, most of the microservice candidates were considered adoptable by practitioners.
Alessandro F. Garcia 0001, Thelma Elita Colanzi, Wesley K. G. Assunção, Juliana Alves Pereira, Baldoino Fonseca dos Santos Neto, Márcio Ribeiro 0001, Maria Julia de Lima, Carlos José Pereira de Lucena
ICSME9
2020 When Are Smells Indicators of Architectural Refactoring Opportunities: A Study of 50 Software Projects
abstract
Refactoring is a widely adopted practice for improving code comprehension and for removing severe structural problems in a project. When refactorings affect the system architecture, they are called architectural refactorings. Unfortunately, developers usually do not know when and how they should apply refactorings to remove architectural problems. Nevertheless, they might be more susceptible to applying architectural refactoring if they rely on code smells and code refactoring -- two concepts that they usually deal with through their routine programming activities. To investigate if smells can serve as indicators of architectural refactoring opportunities, we conducted a retrospective study over the commit history of 50 software projects. We analyzed 52,667 refactored elements to investigate if they had architectural problems that could have been indicated by automatically-detected smells. We considered purely structural refactorings to identify elements that were likely to have architectural problems. We found that the proportion of refactored elements without smells is much lower than those refactored with smells. By analyzing the latter, we concluded that smells can be used as indicators of architectural refactoring opportunities when the affected source code is deteriorated, i.e., the code hosting two or more smells. For example, when God Class or Complex Class appear together with other smells, they are indicators of architectural refactoring opportunities. In general, smells that often co-occurred with other smells (67.53%) are indicators of architectural refactoring opportunities in most cases (88.53% of refactored elements). Our study also enables us to derive a catalog with patterns of smells that indicate refactoring opportunities to remove specific types of architectural problems. These patterns can guide developers and make them more susceptible to apply architectural refactorings.
Leonardo da Silva Sousa, Willian Nalepa Oizumi, Alessandro F. Garcia 0001, Anderson Oliveira, Diego Cedrim, Carlos José Pereira de Lucena
ICPC6
2020 Collaborative or individual identification of code smells? On the effectiveness of novice and professional developers
Roberto Oliveira 0003, Rafael Maiani de Mello, Eduardo Fernandes, Alessandro F. Garcia 0001, Carlos José Pereira de Lucena
Inf. Softw. Technol.5
2019 Open-Source Innovation in Practice: A Lean-Based Development Process Leveraging Open-Source Big Data Tools
abstract
Innovation depends on the exploitation of market potential with products that are aligned with customer needs. However, building innovative products is becoming gradually more challenging because of increased market volatility, uncertainty, complexity and ambiguity. In our Innovation Lab, inside an e-Procurement Company, we encountered several challenges when implementing an innovation process to develop an initial unstructured data processing Minimum Viable Product (MVP) based on opensource big data tools: (i) raising and prioritizing user demands; (ii) deciding about adequate tools; and (iii) understanding how to promptly set up a viable product. In this paper, we share our open-source innovation experience in bringing novel solutions to an oil company's suppliers. In general, we present and discuss how we have been applying our innovation process to create MVPs, and which technical decision helped us accelerate the MVP development in the presence of a large-scale, unstructured database and open-source big data tools. Overall, we believe the proposed lean-based development process can help practitioners and researchers who want to understand and improve their knowledge about lean products, how to build MVPs, and advance open-source innovation involving big data tools.
Silvio Alonso, Marx L. Viana, Elder Cirilo, Paulo S. C. Alencar, Carlos José Pereira de Lucena
IEEE BigData5
2019 Using Governance and Adaptive Normative Multiagent Systems for Dynamic Vehicle Platoon Formation
abstract
Autonomous vehicles (AVs) are vehicles able to sense their environments and guide themselves with little or no human input. AVs have the potential to provide a wide variety of benefits to road traffic, such as improving traffic flow, alleviating traffic congestion and reducing car accidents. However, there are scenarios where AVs require governance systems capable of performing collaborative actions in order to keep traffic flowing smoothly and safely. This paradigm shift will support moving from isolated to collaborative autonomous vehicles. Our goal is to create a collaborative governance-based autonomous vehicle approach using adaptive normative multiagent systems to reduce congestion time. With this collaborative perspective in mind, steps should be taken for AVs to improve their collective mobility while not undermining the `social' goals of vehicle platoons and be able to provide benefits such as reduced congestion, increased travel choice and equity, and reduced pollutant emissions.
Lauro Caetano, Marx L. Viana, Elder Cirilo, Paulo S. C. Alencar, Carlos José Pereira de Lucena
IEEE BigData5
2018 Toward Human-in-the-Loop Collaboration Between Software Engineers and Machine Learning Algorithms
abstract
Several papers have recently contained reports on applying machine learning (ML) to the automation of software engineering (SE) tasks, such as project management, modeling and development. However, there appear to be no approaches comparing how software engineers fare against machine-learning algorithms as applied to specific software development tasks. Such a comparison is essential to gain insight into which tasks are better performed by humans and which by machine learning and how cooperative work or human-in-the-loop processes can be implemented more effectively. In this paper, we present an empirical study that compares how software engineers and machine-learning algorithms perform and reuse tasks. The empirical study involves the synthesis of the control structure of an autonomous streetlight application.
Nathalia Moraes do Nascimento, Paulo S. C. Alencar, Carlos José Pereira de Lucena, Donald D. Cowan
IEEE BigData3
2018 An IoT Analytics Embodied Agent Model based on Context-Aware Machine Learning
abstract
Agent-based Internet of Things (IoT) applications have recently emerged as applications that can involve sensors, wireless devices, machines and software that can exchange data and be accessed remotely. Such applications have been proposed in several domains including health care, smart cities and agriculture. However, despite their increased adoption, deploying these applications in specific settings has been very challenging because of the complex static and dynamic variability of the physical devices such as sensors and actuators, the software application behavior and the environment in which the application is embedded. In this paper, we propose a modeling approach for IoT analytics based on learning embodied agents (i.e. situated agents). The approach involves: (i) a variability model of IoT embodied agents; (ii) feedback evaluative machine learning; and (iii) reconfiguration of a group of agents in accordance with environmental context. The proposed approach advances the state of the art in that it facilitates the development of Agent-based IoT applications by explicitly capturing their complex and dynamic variabilities and supporting their self-configuration based on an context-aware and machine learning-based approach.
Nathalia Moraes do Nascimento, Paulo S. C. Alencar, Carlos José Pereira de Lucena, Donald D. Cowan
IEEE BigData3
2018 Governance in Adaptive Normative Multiagent Systems for the Internet of Smart Things: Challenges and Future Directions
abstract
The rapidly changing environments in which companies operate to support the Internet of Things (IoT) and Autonomous Vehicles is challenging traditional Multi-agent System (MAS) approaches. The requirements of these highly dynamic environments gave rise to Adaptive Normative MAS approaches. At the same time, governance is an essential and challenging feature that still needs to be addressed in adaptive normative MAS. Indeed, governance of individual and societal agent behavior in Adaptive Normative MASs is still a vague concept that has not been properly investigated, modeled and implemented. However, governance is fundamental for solving problems involving MAS coordination, organizations and institutions. In this paper, we present our ongoing research towards understanding and improving governance in Adaptive Normative MASs. We also discuss challenges and future directions that will facilitate the development of domain-specific smart IoT systems with governance features.
Marx L. Viana, Lauro Caetano, Francisco J. P. Cunha, Paulo S. C. Alencar, Carlos José Pereira de Lucena
IEEE BigData5
2018 An Architecture for Autonomous Normative BDI Agents based on Personality Traits to Solve Normative Conflicts
Paulo Henrique Cardoso Alves, Marx L. Viana, Carlos José Pereira de Lucena
ICAART (1)3
2018 Identifying design problems in the source code: a grounded theory
abstract
The prevalence of design problems may cause re-engineering or even discontinuation of the system. Due to missing, informal or outdated design documentation, developers often have to rely on the source code to identify design problems. Therefore, developers have to analyze different symptoms that manifest in several code elements, which may quickly turn into a complex task. Although researchers have been investigating techniques to help developers in identifying design problems, there is little knowledge on how developers actually proceed to identify design problems. In order to tackle this problem, we conducted a multi-trial industrial experiment with professionals from 5 software companies to build a grounded theory. The resulting theory offers explanations on how developers identify design problems in practice. For instance, it reveals the characteristics of symptoms that developers consider helpful. Moreover, developers often combine different types of symptoms to identify a single design problem. This knowledge serves as a basis to further understand the phenomena and advance towards more effective identification techniques.
Leonardo da Silva Sousa, Anderson Oliveira, Willian Nalepa Oizumi, Simone D. J. Barbosa, Alessandro F. Garcia 0001, Jaejoon Lee, Marcos Kalinowski, Rafael Maiani de Mello, Baldoino Fonseca dos Santos Neto, Roberto Oliveira 0003, Carlos José Pereira de Lucena, Rodrigo B. de Paes
ICSE11
2018 Understanding Normative BDI Agents Behavior
abstract
Testing the autonomy of, and the interaction between, the agents in Multiagent Systems (MAS) is the frontal challenge of traditional software testing approaches.When we study MAS governed by norms -mechanisms created to restrain the behavior of agents -this challenge increases even further.However, agents are autonomous and it is not guaranteed that they will fulfill all norms.Given the fuzzy notion of "test", especially in the context of MAS, in addition to the difficulties of dealing adequately with normative constraints, the overall understanding of how to handle the creation of tests for normative MAS is still vague.This paper proposes a testing tool to build and run MAS test scenarios and it relies on the use of aspect-oriented techniques to monitor the behavior of autonomous agents.We demonstrated our tool with a simulation of a traffic intersection scenario, based on the Brazilian Transit Code.Our experience shows that the tool can be used to build test scenarios that can achieve high fault detection effectiveness.
Francisco J. P. Cunha, Marx L. Viana, Tassio Ferenzini Martins Sirqueira, Marcio Rosemberg, Carlos José Pereira de Lucena
SEKE5
2018 An Agent-based Software Framework for Machine Learning Tuning
abstract
Nowadays, the challenge of knowledge discovery is to mine massive amounts of data available online.The most widely used approaches to tackle that challenge are based on machine learning techniques.In spite of being very powerful, those techniques require their parameters to be calibrated in order to generate models with better quality.Such calibration processes are time-consuming and rely on the skills of machine learning experts.Within this context, this research presents a framework based on software agents for automating the calibration of machine learning models.This approach integrates concepts from Agent Oriented Software Engineering (AOSE) and Machine Learning (ML).As a proof of concept, we first train a model for the IRIS dataset and then we show how our approach improves the quality of new models generated by our framework.
Jefry Sastre Perez, Marx L. Viana, Carlos José Pereira de Lucena
SEKE3
2018 Understanding vulnerabilities in plugin-based web systems: an exploratory study of wordpress
abstract
A common software product line strategy involves plugin-based web systems that support simple and quick incorporation of custom behaviors. As a result, they have been widely adopted to create web-based applications. Indeed, the popularity of ecosystems that support plugin-based development (e.g., WordPress) is largely due to the number of customization options available as community-contributed plugins. However, plugin-related vulnerabilities tend to be recurrent, exploitable and hard to be detected and may lead to severe consequences for the customized product. Hence, there is a need to further understand such vulnerabilities to enable preventing relevant security threats. Therefore, we conducted an exploratory study to characterize vulnerabilities caused by plugins in web-based systems. To this end, we went over WordPress vulnerability bulletins cataloged by the National Vulnerability Database as well as associated patches maintained by the WordPress plugins repository. We identified the main types of vulnerabilities caused by plugins as well as their impact and the size of the patch to fix the vulnerability. Moreover, we identified the most common security-related topics discussed among WordPress developers. We observed that, while plugin-related vulnerabilities may have severe consequences and might remain unnoticed for years before being fixed, they can commonly be mitigated with small and localized changes to the source code. The characterization helps to provide an understanding on how typical plugin-based vulnerabilities manifest themselves in practice. Such information can be helpful to steer future research on plugin-based vulnerability detection and prevention.
Oslien Mesa, Reginaldo Vieira, Marx L. Viana, Vinicius H. S. Durelli, Elder Cirilo, Marcos Kalinowski, Carlos José Pereira de Lucena
SPLC7
2017 Working Towards a BDI‑Agent Based on Personality Traits to Improve Normative Conflicts Solution
abstract
Norms exist to avoid and solve conflicts, make agreements, reduce complexity, and in general to achieve a desirable social order.However, norms eventually can be conflicting -for example, when there is a norm that prohibits an agent to perform a particular action and another norm that obligates the same agent to perform the same action at the same period of time.The agent' decision about which norms to fulfill can be defined based on rewards, punishments and agent goals.Sometimes, this balance will not be enough to allow the agent to make the best decision.In this context, this paper introduces an approach that considers the agent's personality traits in order to improve the solving process of normative conflicts.
Paulo Henrique Cardoso Alves, Marx L. Viana, Carlos José Pereira de Lucena
SEKE3
2017 Generating Software Agents for Data Mining: An Example for the Health Data Area
abstract
Data mining has been a hot topic that attracts both database and machine learning researchers.Due to the constant growth of data volume there is an increasing need to obtain knowledge from these large data sets that are very difficult to handle and process with traditional methods.Software agents can play a significant role performing data mining processes in ways that are more efficient.For instance, they can work to perform selection, extraction, preprocessing and integration of data as well as parallel, distributed, or multisource mining.This paper proposes a framework based on multi-agent systems to apply data mining techniques to health data sets.For a first usage scenario, we use a data set for hypothyroidism and run two mining processes in parallel.
Reinier Morejon, Marx L. Viana, Carlos José Pereira de Lucena
SEKE3
2017 A Publish-Subscribe based Architecture for Testing Multiagent Systems
abstract
Multiagent systems (MASs) have been applied to several application domains, such as e-commerce, unmanned vehicles, and many others.In addition, a set of different techniques has been integrated into multiagent applications.However, few of these applications have been commercially deployed and few of these techniques have been fully exploited by industrial applications.One reason is the lack of procedures guaranteeing that multiagent systems would behave as desired.Most of the existing test approaches only test agents as single individuals and do not provide ways of inspecting the behavior of an agent as part of a group, and the behavior of the whole group of agents.Accordingly, we modeled and developed a publishsubscribe-based architecture to facilitate the implementation of systems to test MASs at the agent and group levels.To illustrate and evaluate the use of the proposed architecture, we developed an MAS-based application and performed functional and performance ad-hoc tests.
Nathalia Moraes do Nascimento, Carlos Juliano M. Viana, Arndt von Staa, Carlos José Pereira de Lucena
SEKE4
2017 A Software Framework for Data Provenance
abstract
Data provenance refers to the historical record of the derivation of the data, allowing the reproduction of experiments, interpretation of results and identification of problems through the analysis of the processes that originated the data.Data provenance contributes to the evaluation of experiments.This paper presents a framework for data provenance using the W3C provenance data model, called PROV-DM.Such framework aims at contributing to, and facilitating, the collection, storage and retrieval of provenance data through a modeling and storage layer based on PROV-DM, yet is compatible with other representations of PROV such as PROV-O.To demonstrate the utilization of the framework, it was used in an IoT application that performs the gas classification to identify diseases.
Tassio Ferenzini Martins Sirqueira, Marx L. Viana, Nathalia Moraes do Nascimento, Carlos José Pereira de Lucena
SEKE4
2017 Practical Reasoning in an Argumentation-based Decision BDI Agent: a Case Study for Participatory Management of Protected Areas
abstract
This paper describes the implementation of an argumentation system used for participatory management of environmental protected areas, more precisely to model the decision of a park manager artificial agent.This implementation is based on a BDI agent architecture, namely the Jason/AgentSpeak framework/language.After introducing the principles of BDI architecture and of argumentation systems, we will detail how we model arguments within the BDI (Belief-Desire-Intention) architecture.Then, we present the argumentation-based model of deliberation and decision by the park manager agent as a case study.We show how our argument-based approach allows to model various cognitive profiles of park managers (more conservationist or more sensitive to social issues), through different knowledge bases.We show examples of decisions produced by the park manager agent and examples of traces of arguments used during deliberation, which could be a base for explaining decisions.Before concluding, we point out future directions, such as using argumentation as a basis for negotiation between various agents.
Pedro Elkind Velmovitsky, Jean-Pierre Briot, Marx L. Viana, Carlos José Pereira de Lucena
SEKE4
2017 An Approach to Generate Software Agents for Health Data Mining
abstract
Data mining is a hot topic that attracts researchers of different areas, such as database, machine learning, and agent-oriented software engineering. As a consequence of the growth of data volume, there is an increasing need to obtain knowledge from these large datasets that are very difficult to handle and process with traditional methods. Software agents can play a significant role performing data mining processes in ways that are more efficient. For instance, they can work to perform selection, extraction, preprocessing, and integration of data as well as parallel, distributed, or multisource mining. This paper proposes a framework based on multiagent systems to apply data mining techniques to health datasets. Last but not least, the usage scenarios that we use are datasets for hypothyroidism and diabetes and we run two different mining processes in parallel in each database.
Reinier Morejon, Marx L. Viana, Carlos José Pereira de Lucena
Int. J. Softw. Eng. Knowl. Eng.3
2017 FIoT: An agent-based framework for self-adaptive and self-organizing applications based on the Internet of Things
Nathalia Moraes do Nascimento, Carlos José Pereira de Lucena
Inf. Sci.2
2016 A Multi-Agent Architecture for Quantified Fruits: Design and Experience
abstract
International audience
Jean-Pierre Briot, Nathalia Moraes do Nascimento, Carlos José Pereira de Lucena
SEKE3
2015 Contrasting exception handling code across languages: An experience report involving 50 open source projects
abstract
Exception handling mechanisms have been introduced into programming languages in an effort to help deal with runtime irregularities. These mechanisms aim to improve code reliability by providing constructs for sectioning code into exception scopes (e.g. Java try blocks) and exception handlers (e.g. Java catch blocks). Whilst exception handling mechanisms have been the focus of much research over the past years, empirical studies have only focused on characterising exception handling code of Java and C# programs. There exists little empirical evidence on how exception handling mechanisms are used to develop software with other programming languages. Moreover, to date there exists no empirical study which has examined the structure of exception scopes across software projects. We address these shortcomings by examining the commonalities and differences of both exception scopes and handlers implemented with a wider range of languages. To this end, we analysed 50 software projects, containing code developed in C++, JavaScript, PHP, Java and C#. More than 9 million lines of code and over 20,000 exceptional code blocks were analysed. Our findings revealed significant differences in the frequency, structure and length of exception scopes and exception handlers across languages. This finding suggests that certain exception handling mechanisms are less explored by programmers using certain programming languages. However, regardless of language, exception handlers remained simplistic and in general only ever one handler was associated with each scope. Finally, our analysis confirms the existing belief that developers often pay little attention to developing exception scoping and handling behaviour.
Benjamin Jakobus, Eiji Adachi Barbosa, Alessandro F. Garcia 0001, Carlos José Pereira de Lucena
ISSRE4
2015 JSAN: A Framework to Implement Normative Agents
abstract
Norms have become a promising mechanism to ensure that open multi-agent systems (MASs) produce a desirable social outcome.MASs can be defined as societies in which autonomous agents work to achieve both societal and individual goals.Norms regulate the behavior of agents by defining permissions, obligations and prohibitions, as well as encouraging and discouraging the fulfillment of norms through rewards and punishments mechanisms.Once the priority of software agent is the satisfaction of its own desires and goals, each agent must evaluate the effects associated to the fulfillment or violation of one or more norms before choosing which one should be complied.This paper introduces a framework for normative MASs simulation that provides mechanisms for understanding the impact of norms on an agent and the society to which an agent belongs.
Marx L. Viana, Paulo S. C. Alencar, Everton Guimarães, Francisco J. P. Cunha, Donald D. Cowan, Carlos José Pereira de Lucena
SEKE6
2015 Decision making with natural language based preferences and psychology-inspired heuristics
Ingrid Nunes, Simon Miles, Michael Luck, Simone D. J. Barbosa, Carlos José Pereira de Lucena
Eng. Appl. Artif. Intell.5
2015 AutoRefactoring: A platform to build refactoring agents
Baldoino Fonseca dos Santos Neto, Márcio Ribeiro 0001, Viviane Torres da Silva, Christiano Braga, Carlos José Pereira de Lucena, Evandro de Barros Costa
Expert Syst. Appl.5
2015 Natural Language-based Representation of User Preferences
abstract
Preferences have been widely studied in several areas including computer science, as they play an important role in many computational tasks, such as decision making support, providing recommendations and personalizing applications. Although many approaches consider particular preference representation models to be used as input for algorithms to address these tasks, there is a need for identifying a model that provides adequate constructions for users to express their preferences. In this paper, we propose a preference meta-model that provides various preference constructs, which include end-user expressions. We start by describing an exploratory study of how people express their preferences in natural language, which provides the basis for the meta-model. After describing the meta-model, we evaluate it with two user studies in different domains. The results of this evaluation indicate that the preference statements that can be expressed with the meta-model are adequate for allowing users to indicate their preferences to a computational system.
Ingrid Nunes, Simone D. J. Barbosa, Donald D. Cowan, Simon Miles, Michael Luck, Carlos José Pereira de Lucena
Interact. Comput.6
2015 Evaluating the effort of composing design models: a controlled experiment
Kleinner Farias, Alessandro F. Garcia 0001, Jon Whittle 0001, Christina von Flach G. Chavez, Carlos José Pereira de Lucena
Softw. Syst. Model.5
2014 Pattern-based Explanation for Automated Decisions
abstract
Explanations play an essential role in decision support and recommender systems as they are directly associated with the acceptance of those systems and the choices they make. Although approaches have been proposed to explain automated decisions based on multi-attribute decision models, there is a lack of evidence that they produce the explanations users need. In response, in this paper we propose an explanation generation technique, which follows user-derived explanation patterns. It receives as input a multi-attribute decision model, which is used together with user-centric principles to make a decision to which an explanation is generated. The technique includes algorithms that select relevant attributes and produce an explanation that justifies an automated choice. An evaluation with a user study demonstrates the effectiveness of our approach.
Ingrid Nunes, Simon Miles, Michael Luck, Simone D. J. Barbosa, Carlos José Pereira de Lucena
ECAI5
2014 Semantic-based Repository of Agent Components
Merlin Parra Jiménez, Andrew Diniz da Costa, Carlos José Pereira de Lucena
SEKE3
2014 Effects of stability on model composition effort: an exploratory study
abstract
Model composition plays a central role in many software engineering activities, e.g., evolving design models to add new features. To support these activities, developers usually rely on model composition heuristics. The problem is that the models to-be-composed usually conflict with each other in several ways and such composition heuristics might be unable to properly deal with all emerging conflicts. Hence, the composed model may bear some syntactic and semantic inconsistencies that should be resolved. As a result, the production of the intended model is an error-prone and effort-consuming task. It is often the case that developers end up examining all parts of the output composed model instead of prioritizing the most critical ones, i.e., those that are likely to be inconsistent with the intended model. Unfortunately, little is known about indicators that help developers (1) to identify which model is more likely to exhibit inconsistencies, and (2) to understand which composed models require more effort to be invested. It is often claimed that software systems remaining stable over time tends to have a lower number of defects and require less effort to be fixed than unstable systems. However, little is known about the effects of software stability in the context of model evolution when supported by composition heuristics. This paper, therefore, presents an exploratory study analyzing stability as an indicator of inconsistency rate and resolution effort on model composition activities. Our findings are derived from 180 compositions performed to evolve design models of three software product lines. Our initial results, supported by statistical tests, also indicate which types of changes led to lower inconsistency rate and lower resolution effort.
Kleinner Farias, Alessandro F. Garcia 0001, Carlos José Pereira de Lucena
Softw. Syst. Model.3
2014 Heuristic expansion of feature mappings in evolving program families
abstract
SUMMARY Establishing explicit mappings between features and their implementation elements in code is one of the critical factors to maintain and evolve software systems successfully. This is especially important when developers have to evolve program families, which have evolved from one single core system to similar but different systems to accommodate various requirements from customers. Many techniques and tools have emerged to assist developers in the feature mapping activity. However, existing techniques and tools for feature mapping are limited as they operate on a single program version individually. Additionally, existing approaches are limited to recover features on demand, that is, developers have to run the tools for each family member version individually. In this paper, we propose a cohesive suite of five mapping heuristics addressing those two limitations. These heuristics explore the evolution history of the family members in order to expand feature mappings in evolving program families. The expansion refers to the action of automatically generating the feature mappings for each family member version by systematically considering its previous change history. The mapping expansion starts from seed mappings and continually tracks the features of the program family, thus eliminating the need of on demand algorithms. Additionally, we present the MapHist tool that provides support to the application of the proposed heuristics. We evaluate the accuracy of our heuristics through two evolving program families from our industrial partners. Copyright © 2013 John Wiley & Sons, Ltd.
Camila Nunes, Alessandro F. Garcia 0001, Carlos José Pereira de Lucena, Jaejoon Lee
Softw. Pract. Exp.3
2013 Configurable Software Product Lines - Supporting Heterogeneous Configuration Knowledge
Elder Cirilo, Uirá Kulesza, Alessandro F. Garcia 0001, Donald D. Cowan, Paulo S. C. Alencar, Carlos José Pereira de Lucena
ICSR6
2013 Analyzing the Effort of Composing Design Models of Large-Scale Software in Industrial Case Studies
Kleinner Farias, Alessandro F. Garcia 0001, Jon Whittle 0001, Carlos José Pereira de Lucena
MoDELS4
2013 RSA-MBT: a test tool for generating test artifacts based on models
abstract
Model-Based Testing (MBT) has attracted the attention of many industries and, hence, it has provided several approaches reported in the literature. The Software Engineering Lab (LES) at the Pontifical Catholic University of Rio de Janeiro has worked extensively on coordinating and carrying out tests of large-scale software systems developed (for web and desktop) for different domains (e.g. petroleum, e-commerce, etc). Based on this experience, an LES test group created a new test modeling language called UML Testing Profile for Coordination (UTP-C) to model relevant test data. However, to use the advantages of the new modeling, an appropriate test-modeling tool became necessary. Thus, this paper presents the RSA-MBT, a new plug-in developed for the Rational Software Architecture (RSA) tool, to generate a set of test artifacts from UTP-C diagrams.
Andrew Diniz da Costa, Ricardo Venieris, Gustavo R. de Carvalho, Carlos José Pereira de Lucena
ESEC/SIGSOFT FSE4
2013 The crosscutting impact of the AOSD Brazilian research community
Uirá Kulesza, Sérgio Soares, Christina von Flach G. Chavez, Fernando Castor Filho, Paulo Borba, Carlos José Pereira de Lucena, Paulo César Masiero, Cláudio Sant'Anna, Fabiano Cutigi Ferrari, Vander Alves, Roberta Coelho, Eduardo Figueiredo 0001, Paulo F. Pires, Flávia Coimbra Delicato, Eduardo Piveta, Carla T. L. L. Silva, Valter Vieira de Camargo, Rosana T. V. Braga, Julio César Sampaio do Prado Leite, Otávio Augusto Lazzarini Lemos, Nabor das Chagas Mendonça, Thaís Vasconcelos Batista, Rodrigo Bonifácio, Nélio Cacho, Lyrene Fernandes da Silva, Arndt von Staa, Fábio Fagundes Silveira, Marco Túlio Valente, Fernanda M. R. Alencar, Jaelson Brelaz de Castro, Ricardo Argenton Ramos, Rosângela A. D. Penteado, Cecília M. F. Rubira
J. Syst. Softw.6
2013 Contributions to the emergence and consolidation of Agent-oriented Software Engineering
Carlos José Pereira de Lucena, Ingrid Nunes
J. Syst. Softw.1
2012 Evaluating the Impact of Aspects on Inconsistency Detection Effort: A Controlled Experiment
Kleinner Farias, Alessandro F. Garcia 0001, Carlos José Pereira de Lucena
MoDELS3
2012 Evaluating the Effort of Composing Design Models: A Controlled Experiment
Kleinner Farias, Alessandro F. Garcia 0001, Jon Whittle 0001, Christina von Flach G. Chavez, Carlos José Pereira de Lucena
MoDELS5
2012 History-sensitive heuristics for recovery of features in code of evolving program families
abstract
A program family might degenerate due to unplanned changes in its implementation, thus hindering the maintenance of family members. This degeneration is often induced by feature code that is changed individually in each member without considering other family members. Hence, as a program family evolves over time, it might no longer be possible to distinguish between common and variable features. One of the imminent activities to address this problem is the history-sensitive recovery of program family's features in the code. This recovery process encompasses the analysis of the evolution history of each family member in order to classify the implementation elements according to their variability nature. In this context, this paper proposes history-sensitive heuristics for the recovery of features in code of degenerate program families. Once the analysis of the family history is carried out, the feature elements are structured as Java project packages; they are intended to separate those elements in terms of their variability degree. The proposed heuristics are supported by a prototype tool called RecFeat. We evaluated the accuracy of the heuristics in the context of 33 versions of 2 industry program families. They presented encouraging results regarding recall measures that ranged from 85% to 100%; whereas the precision measures ranged from 71% to 99%.
Camila Nunes, Alessandro F. Garcia 0001, Carlos José Pereira de Lucena, Jaejoon Lee
SPLC (1)3
2012 Investigating Explanations to Justify Choice
Ingrid Nunes, Simon Miles, Michael Luck, Carlos José Pereira de Lucena
UMAP4
2012 Community Association Map - Processing Inter-community Relationships
Dárlinton Barbosa Feres Carvalho, Hugo Fuks, Carlos José Pereira de Lucena
WEBIST3
2012 Automating the product derivation process of multi-agent systems product lines
Elder Cirilo, Ingrid Nunes, Uirá Kulesza, Carlos José Pereira de Lucena
J. Syst. Softw.4
2012 Applying and evaluating concern-sensitive design heuristics
Eduardo Figueiredo 0001, Cláudio Sant'Anna, Alessandro F. Garcia 0001, Carlos José Pereira de Lucena
J. Syst. Softw.4
2011 NBDI: An Architecture for Goal-oriented Normative Agents
Baldoino Fonseca dos Santos Neto, Viviane Torres da Silva, Carlos José Pereira de Lucena
ICAART (1)3
2011 Intentional Mobile Agents in Ubiquitous Systems
Milene Serrano, Carlos José Pereira de Lucena
ICAART (2)2
2011 Unveiling and taming liabilities of aspects in the presence of exceptions: A static analysis based approach
Roberta Coelho, Arndt von Staa, Uirá Kulesza, Awais Rashid, Carlos José Pereira de Lucena
Inf. Sci.5
2010 History-sensitive recovery of product line features
abstract
Since software product lines (SPLs) increasingly have to satisfy additional requirements, their designs might degenerate over time. The degeneration is caused by various reasons. For instance, the features suddenly start to be realized and they evolved in inconsistent ways across multiple products. In an extreme case, the SPL code is fully or partially replicated and individually changed across several evolving products. In order to regain control of the SPL assets, a key activity is the design recovery of features from existing applications. However, existing techniques for feature analysis are not effective as they tend to explicitly rely on a single project history. They do not take into consideration change histories of features across multiple evolving products of a SPL. This research proposes a novel technique for history-sensitive feature recovery while repairing degenerated SPL designs. Our technique is ought to encompass a set of heuristics for facilitating SPL design recovery. We aim at investigating to what extent exploiting multi-product change histories allow accurate identification of: (i) code elements that contribute to each feature realization; and (ii) variability properties of the feature code. The empirical evaluation of our technique will be based on two industry case studies.
Camila Nunes, Alessandro F. Garcia 0001, Carlos José Pereira de Lucena
ICSM3
2010 A Web-Based Framework for Collaborative Innovation
Donald D. Cowan, Paulo S. C. Alencar, Fred McGarry, Carlos José Pereira de Lucena, Ingrid Nunes
ISoLA (1)4
2010 Increasing Users' Trust on Personal Assistance Software Using a Domain-Neutral High-Level User Model
Ingrid Nunes, Simone D. J. Barbosa, Carlos José Pereira de Lucena
ISoLA (1)3
2010 Improving Test Models for Large Scale Industrial Systems: An Inquisitive Study
Andrew Diniz da Costa, Viviane Torres da Silva, Alessandro F. Garcia 0001, Carlos José Pereira de Lucena
MoDELS (1)4
2010 An End-user Domain-specific Model to Drive Dynamic User Agents Adaptations
Ingrid Nunes, Simone D. J. Barbosa, Carlos José Pereira de Lucena
SEKE3
2010 An Approach for Developing Component-Based Groupware Product Lines Using the Groupware Workbench
Bruno Gadelha, Elder Cirilo, Marco Aurélio Gerosa, Hugo Fuks, Carlos José Pereira de Lucena
SPLC6
2010 Asset-Mapping Approaches to Web-Based Collaborative Innovation
abstract
Twenty-first century global change is challenging our use and management of all resources. For a community to adapt and yet maintain and even enhance its economy and quality of life, there is a need for collaborative innovation (CI) and related action among concerned members of the community. This paper outlines the concepts of an approach to CI based on dynamic asset-mapping and its support through a web-based technological framework. Based on real-world experience with the framework, it is clear that CI takes many forms and that it is not possible to build a single set of tools to support CI. Rather a framework and a set of meta-tools is needed which can be used to build tailored systems to fit specific situations that arise when collaboration is to occur.
Donald D. Cowan, Paulo S. C. Alencar, Fred McGarry, Carlos José Pereira de Lucena, Ingrid Nunes
Web Intelligence4
2009 Towards the use of collaborative virtual environments to crew unmanned oil platforms
abstract
This paper presents a human-centered vision of unmanned but crewed platforms, combining an onshore collaborative hybrid environment and an intelligent offshore oilfield. Computer science plays a major role in this vision since digital environments are paramount for the job. We discuss the importance of research in the fields of computer graphics, virtual reality and computer supported cooperative work in this context and present the basic technologies needed to accomplish the task. We instantiate our vision appointing the results of some initial experiments using virtual reality in submarine installation operations.
Hugo Fuks, Alberto Barbosa Raposo, Simone D. J. Barbosa, Heloisa Moura, Andreia Soares, Márcio Cunha, Marcelo Gattass, Carlos José Pereira de Lucena
CSCWD8
2009 Modeling of Open Normative Multiagent Systems
Carolina Howard Felicíssimo, Carlos José Pereira de Lucena, Jean-Pierre Briot
ICAART2
2009 JAAF-S: A Framework to Implement Autonomic Agents Able to Deal with Web Services
Baldoino Fonseca dos Santos Neto, Andrew Diniz da Costa, Carlos José Pereira de Lucena, Viviane Torres da Silva, Manoel T. de A. Netto
ICSOFT (1)3
2009 Building Service-Oriented User Agents Using a Software Product Line Approach
Ingrid Nunes, Carlos José Pereira de Lucena, Donald D. Cowan, Paulo S. C. Alencar
ICSR2
2009 A Multi-environment Multi-agent Simulation Framework for Self-organizing Systems
Maíra Gatti de Bayser, Carlos José Pereira de Lucena
MABS2
2009 JAAF: A Framework to Implement Self-adaptive Agents
Baldoino Fonseca dos Santos Neto, Andrew Diniz da Costa, Manoel T. de A. Netto, Viviane Torres da Silva, Carlos José Pereira de Lucena
SEKE5
2009 An event-driven high level model for the specification of laws in open multi-agent systems
Rodrigo B. de Paes, Carlos José Pereira de Lucena, Gustavo R. de Carvalho, Donald D. Cowan
J. Syst. Softw.2
2009 Evaluating the recovery-oriented approach through the systematic development of real complex applications
abstract
Abstract Recovery‐oriented software is built with the perspective that hardware or software failures and operation mistakes are facts to be coped with, as they are problems that cannot be fully solved while developing real complex applications. Consequently, any software will always have a non‐zero chance of failure. Some of these failures may be caused by defects that may be removed or encapsulated. From the point of view of removing or encapsulating defects, a failure is considered to be trivial, when (i) the required effort to identify and eliminate or encapsulate the causing defect is small, (ii) the risk of making mistakes in these steps is also small and (iii) the consequences of the failure are tolerable. It is highly important to design systems in such a way that most (ideally all) of the failures are trivial. Such systems are called ‘debuggable systems’. In this study, we present the results of systematic applying techniques that focus on creating debuggable software for real embedded applications. Copyright © 2008 John Wiley & Sons, Ltd.
João Alfredo Pinto de Magalhães, Arndt von Staa, Carlos José Pereira de Lucena
Softw. Pract. Exp.3
2008 Inter- and intra-relationships between communication coordination and cooperation in the scope of the 3C Collaboration Model
abstract
Based on the 3C collaboration model, this article descries the mapping of a variety of collaboration forms onto inter-relationships between communication, coordination and cooperation. In order to investigate how to provide computational support for these three functional collaboration dimensions the analysis shifts from the inter-relationships between these three dimensions to their intra-relationships. Finally, Gestalt psychology principles are used to discuss the suitability of the approach to human perception.
Hugo Fuks, Alberto Barbosa Raposo, Marco Aurélio Gerosa, Mariano Gomes Pimentel, Denise Filippo, Carlos José Pereira de Lucena
CSCWD6
2008 Assessing the Impact of Aspects on Exception Flows: An Exploratory Study
Roberta Coelho, Awais Rashid, Alessandro F. Garcia 0001, Fabiano Cutigi Ferrari, Nélio Cacho, Uirá Kulesza, Arndt von Staa, Carlos José Pereira de Lucena
ECOOP8
2008 Integrating Component and Product Lines Technologies
Elder Cirilo, Uirá Kulesza, Roberta Coelho, Carlos José Pereira de Lucena, Arndt von Staa
ICSR4
2008 Documenting and Modeling Multi-agent Systems Product Lines
Ingrid Nunes, Uirá Kulesza, Camila Nunes, Carlos José Pereira de Lucena
SEKE4
2008 An aspect-oriented software architecture for code mobility
abstract
Abstract Mobile agents have come forward as a technique for tackling the complexity of open distributed applications. However, the pervasive nature of code mobility implies that it cannot be modularized using only object‐oriented (OO) concepts. In fact, developers frequently evidence the presence of mobility scattering in their system's modules. Despite these problems, they usually rely on OO application programming interfaces (APIs) offered by the mobility platforms. Such classical API‐oriented designs suffer a number of architectural restrictions, and there is a pressing need for empowering developers with an architectural framework supporting a flexible incorporation of code mobility in the agent applications. This work presents an aspect‐oriented software architecture, called ArchM, ensuring that code mobility has an enhanced modularization and variability in agent systems, and is straightforwardly introduced in otherwise stationary agents. It addresses OO APIs' restrictions and is independent of specific platforms and applications. An ArchM implementation also overcomes fine‐grained problems related to mobility tangling and scattering at the implementation level. The usefulness and usability of ArchM are assessed within the context of two case studies and through its composition with two mobility platforms. Copyright © 2008 John Wiley & Sons, Ltd.
Cidiane Lobato, Alessandro F. Garcia 0001, Alexander B. Romanovsky, Carlos José Pereira de Lucena
Softw. Pract. Exp.4
2007 On the Modularity of Software Architectures: A Concern-Driven Measurement Framework
Cláudio Sant'Anna, Eduardo Figueiredo 0001, Alessandro F. Garcia 0001, Carlos José Pereira de Lucena
ECSA4
2007 JAT: A Test Automation Framework for Multi-Agent Systems
abstract
Automated tests have been widely used as a supporting mechanism during software development and maintenance activities. It improves the confidence on software releases as it seeks to uncover regression bugs, and serves as a live documentation which is very useful when evolving systems. Concerning multi agent systems (MASs), some characteristics such as agent autonomy and asynchronous message-based interaction bring a degree of non-determinism which presents new testing challenges. This paper proposes JAT, a framework for building and running MASs test scenarios, which relies on the use of aspect-oriented techniques to monitor the autonomous agents during tests and control the test input of asynchronous test cases. The tool has been developed on top of JADE, a widely used agent platform implemented in Java. We have used JAT on testing 3 different MASs. Our experience shows that JAT can be used to build test scenarios which can achieve high fault-detection effectiveness.
Roberta Coelho, Elder Cirilo, Uirá Kulesza, Arndt von Staa, Awais Rashid, Carlos José Pereira de Lucena
ICSM6
2007 RDL: A language for framework instantiation representation
Toacy Cavalcante de Oliveira, Paulo S. C. Alencar, Carlos José Pereira de Lucena, Donald D. Cowan
J. Syst. Softw.3
2006 Refactoring product lines
abstract
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.
Vander Alves, Rohit Gheyi, Tiago Massoni, Uirá Kulesza, Paulo Borba, Carlos José Pereira de Lucena
GPCE6
2006 Fifth workshop on software engineering for large-scale multi-agent systems (SELMAS)
abstract
Software is becoming present in every aspect of our lives, pushing us inevitably towards a world of ambient computing systems. Multi-agent systems (MAS) are a prominent technology which facilitates modeling and development of large-scale distributed systems. In recent years, software engineering research has focused on methodologies and techniques for improving MAS design and implementation. However, making large MAS dependable is still an open issue. The Fifth Workshop on Software Engineering for Large-Scale Multi-Agent Systems (SELMAS 2006) aims to bring together academic, industrial and commercial communities interested in agent-oriented software engineering topics to discuss the different technologies being defined and used in the development of dependable MAS.
Ricardo Choren, Ho-fung Leung, Alessandro F. Garcia 0001, Carlos José Pereira de Lucena, Holger Giese, Alexander B. Romanovsky
ICSE4
2006 Quantifying the Effects of Aspect-Oriented Programming: A Maintenance Study
abstract
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
Uirá Kulesza, Cláudio Sant'Anna, Alessandro F. Garcia 0001, Roberta Coelho, Arndt von Staa, Carlos José Pereira de Lucena
ICSM6
2006 Improving Extensibility of Object-Oriented Frameworks with Aspect-Oriented Programming
Uirá Kulesza, Vander Alves, Alessandro F. Garcia 0001, Carlos José Pereira de Lucena, Paulo Borba
ICSR4
2006 Customizing Aspect-Oriented Variabilities using Generative Techniques
Uirá Kulesza, Carlos José Pereira de Lucena, Paulo S. C. Alencar, Alessandro F. Garcia 0001
SEKE2
2006 A combined specification language and development framework for agent-based application engineering
Alberto Sardinha, Ricardo Choren, Viviane Torres da Silva, Ruy Milidiú, Carlos José Pereira de Lucena
J. Syst. Softw.5
2005 Towards an engineering approach for groupware development: learning from the AulaNet LMS development
abstract
This paper presents the AulaNet learning management system, its architecture and the collaboration model that guided its development and that was refined during this process. A case study of an online course indicates the necessity to have an architectural support for collaboration aspects and a collaboration-based engineering approach to groupware development. This approach, groupware engineering, is based on software engineering and on concepts originated in the field of CSCW.
Marco Aurélio Gerosa, Mariano Gomes Pimentel, Alberto Barbosa Raposo, Hugo Fuks, Carlos José Pereira de Lucena
CSCWD (1)5
2005 Software engineering for large-scale multi-agent systems - SELMAS'05
abstract
is becoming present in every aspect of our lives, pushing us inevitably towards a world of distributed, context-aware computing systems. SELMAS'05, Software Everywhere - Context-Aware Agents, builds on the success of precedent SELMAS workshops, but with a special emphasis on the impact of the agent technology in the development of large context-aware systems. SELMAS has a track record of bringing together researchers and practitioners with a variety of perspectives in order to engage in lively discussion and debate.
Alessandro F. Garcia 0001, Ricardo Choren, Carlos José Pereira de Lucena, Alexander B. Romanovsky, Tom Holvoet, Paolo Giorgini
ICSE3
2005 Multi-Agent System Design Verification Using Knowledge-based Reasoning
Anarosa A. F. Brandão, Viviane Torres da Silva, Carlos José Pereira de Lucena
SEKE3
2005 Applying the 3C model to groupware development
abstract
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.
Hugo Fuks, Alberto Barbosa Raposo, Marco Aurélio Gerosa, Carlos José Pereira de Lucena
Int. J. Cooperative Inf. Syst.4
2005 Modeling Multi-agent systems with ANote
Ricardo Choren, Carlos José Pereira de Lucena
Softw. Syst. Model.2
2004 Software Engineering for Large-Scale Multi-agent Systems - SELMAS'04
abstract
The development of multiagent systems (MAS) is not a trivial task. In addition, with the advances in Internet technologies, MAS are undergoing a transition from closed to open architectures composed of a huge number of autonomous agents, which operate and move across different environments. In fact, openness introduces additional complexity to the system modeling, design and implementation. It also impacts on most quality attributes of MAS, including scalability, interoperability, reliability and adaptability. This paper brings together researchers and practitioners to discuss the current state and future direction of research in software engineering for open MAS. A particular interest is to understand those issues in the agent technology that make it difficult and/or improve the production of large open systems.
Ricardo Choren, Alessandro F. Garcia 0001, Carlos José Pereira de Lucena, Martin L. Griss, David Chenho Kung, Naftaly H. Minsky, Alexander B. Romanovsky
ICSE3
2004 Analyzing Discourse Structure to Coordinate Educational Forums
Marco Aurélio Gerosa, Mariano Gomes Pimentel, Hugo Fuks, Carlos José Pereira de Lucena
Intelligent Tutoring Systems4
2004 From a Conceptual Framework for Agents and Objects to a Multi-Agent System Modeling Language
Viviane Torres da Silva, Carlos José Pereira de Lucena
Auton. Agents Multi Agent Syst.2
2004 A framework instantiation approach based on the Features Model
Ivan Mathias Filho, Toacy Cavalcante de Oliveira, Carlos José Pereira de Lucena
J. Syst. Softw.3
2004 Agents in object-oriented software engineering
abstract
Abstract Software engineers of multi‐agent systems (MASs) are faced with different concerns such as autonomy, adaptation, interaction, collaboration, learning, and mobility, which are essentially different from classical concerns addressed in object‐oriented software engineering. MAS developers, however, have relied mostly on object‐oriented design techniques and programming languages, such as Java. This often leads to a poor separation of MAS concerns and in turn to the production of MASs that are difficult to maintain and reuse. This paper discusses software engineering approaches for MASs, and presents a new method for integrating agents into object‐oriented software engineering from an early stage of design. The proposed approach encourages the separate handling of MAS concerns, and provides a disciplined scheme for their composition. Our proposal explores the benefits of aspect‐oriented software development for the incorporation of agents into object‐oriented systems. We also illustrate our aspect‐oriented approach through the Portalware multi‐agent system, a Web‐based environment for the development of e‐commerce portals. Copyright © 2004 John Wiley & Sons, Ltd.
Alessandro F. Garcia 0001, Carlos José Pereira de Lucena, Donald D. Cowan
Softw. Pract. Exp.2
2004 Software Process Representation and Analysis for Framework Instantiation
abstract
Object-oriented frameworks are currently regarded as a promising technology for reusing designs and implementations. However, developers find there is still a steep learning curve when extracting the design rationale and understanding the framework documentation during framework instantiation. Thus, instantiation is a costly process in terms of time, people, and other resources. These problems raise a number of questions including: "How can we raise the level of abstraction in which the framework instantiation is expressed, reasoned about and implemented?" "How can the same high-level design abstractions that were used to develop the framework be used during framework instantiation instead of using source code as is done currently?" "How can we define extended design abstractions that can allow framework instantiation to be explicitly represented and validated?" We present an approach to framework instantiation based on software processes that addresses these issues. Our main goal is to represent the framework design models in an explicit and declarative way, and support changes to this design based on explicit instantiation tasks based on software processes while maintaining system integrity, invariants, and general constraints. In this way, the framework instantiation can be performed in a valid and controlled way.
Toacy Cavalcante de Oliveira, Paulo S. C. Alencar, Ivan Mathias Filho, Carlos José Pereira de Lucena, Donald D. Cowan
IEEE Trans. Software Eng.4
2004 Response to Jiau et al.'s Comments
abstract
The consistency problems in UML models and related software processes can be very complex. First, although UML supports a modeling process that should yield inter and intraconsistent models, the meaning of the UML dependencies and their specializations is not precisely defined and, for this reason, many inconsistencies may appear in their models and processes. Precise definitions would form a basis for methods to detect and analyze consistency problems related to UML dependencies and relationships, as well as problems related to software processes described in UML. In addition, we are using the UML object constraint language (OCL) to describe constraints related to the framework instantiation process. OCL is recognized as a limited language in some aspects for expressing well-formedness rules. We have presented a method (T.C. Oliveira et al., 2004) that works in the case of consistent rules and consistent instantiation processes.
Toacy Cavalcante de Oliveira, Paulo S. C. Alencar, Ivan Mathias Filho, Carlos José Pereira de Lucena, Donald D. Cowan
IEEE Trans. Software Eng.4
2003 Software Engineering for Large-Scale Multi-Agent Systems - SELMAS'2003
abstract
Objects and agents are abstractions that exhibit Points of similarity, but the development of multi-agent systems (MASs) poses other challenges to Software Engineering since software agents are inherently more complex entities. In addition, a large MAS needs to satisfy multiple stringent requirements such as reliability, trustability, security, interoperability, scalability, reusability, and maintainability. This workshop brings together researchers and practitioners to discuss the current state of the art and the future research directions in software engineering for large-scale MASs. A particular interest is to understand those issues in the agent technology that make it difficult and/or improve the production of complex distributed systems.
Carlos José Pereira de Lucena, Alberto Sardinha, Alessandro F. Garcia 0001, Alexander B. Romanovsky, Jaelson Brelaz de Castro, Paulo S. C. Alencar, Donald D. Cowan
ICSE1
2003 A Component-Based Model for Building Reliable Multi-Agent Systems
abstract
In this article, we describe a specification model that seeks to couple formal specification methods and agent-oriented software engineering techniques. The objective is to allow faster formal development of flexible and reusable multiagent systems (MAS) with strict requirements of quality and reliability. The specification model is specifically tailored to support highly dynamic and evolutive characteristics of MAS. The agents are formally specified and instantiated by a framework and reuse is achieved by transforming the framework structural model into multiple agents. Agent flexibility, and adaptation capacity is ensured through the use of design patterns and properties such as: encapsulation, high-cohesion, low-coupling and through the definition of a formal XML model. The specification model represented in XML can be transformed into a code block that needs few adjustments, granting the system a high flexibility and trustworthiness. The purpose is to reduce time, effort and costs associated with MAS design and development with high quality requirements and reliability.
Aluizio Haendchen Filho, Arndt von Staa, Carlos José Pereira de Lucena
SEW3
2002 Software engineering for large-scale multi-agent systems: SELMAS'2002
abstract
Objects and agents are abstractions that exhibit points of similarity, but the development of agent-based software poses other challenges to software engineering since software agents are inherently more complex entities. In addition, a large-scale multi-agent system needs to satisfy multiple stringent requirements such as reliability, security, interoperability, scalability, reusability, and maintainability. This workshop brought together researchers and practitioners to discuss the current state and future direction of research in software engineering for large-scale multi-agent systems. A particular interest was to understand those issues in the agent technology that difficult and/or improve the production of large-scale distributed systems.
Carlos José Pereira de Lucena, Alessandro F. Garcia 0001, Andrea Omicini, Jaelson Brelaz de Castro, Franco Zambonelli
ICSE1
2002 Taming access control security: extending capabilities using the views relationship
abstract
Abstract The ‘views’ relationship indicates how an object‐oriented design can be clearly separated into objects and their corresponding interface. This paper uses the concept of ‘views’ in order to achieve full separation between the application and the security policy in the design and implementation. The result is achieved by providing a model for capabilities using ‘views’ that is richer than the traditional capability model. In addition, a distributed access control model is shown to be effective through the use of Secure Object Communication Channels (SOCCs) to allow for secure connections at the abstract object level. This security is applicable in the e‐commerce application domain, bringing security directly to the application abstraction level. Copyright © 2002 John Wiley & Sons, Ltd.
Marcus E. Markiewicz, Carlos José Pereira de Lucena, Donald D. Cowan
Softw. Pract. Exp.2
2002 A Logical Theory of Interfaces and Objects
abstract
This paper motivates and describes a logic-based approach to specifying and reasoning about interfaces and objects that focuses on separation of concerns issues. The approach is based on the abstract design view (ADV), a software design model for object-oriented systems. The model was originally introduced to characterize, in an informal and practical setting, a clear separation between objects, which we called abstract design objects and their interfaces (ADVs). The objects capture the basic concern, while the interfaces capture special concerns such as user interface, control, timing, and distribution. First, we analyze the ADV design model in order to precisely characterize the interfaces, their associated objects, and the relationship between them. Then, we present one possible approach to formalizing interfaces, objects, and the "views-a" relationship. The central mathematical tools used for this purpose are temporal logic and some tools from the category theory. The formal approach is illustrated by examples that show how the interface and related objects and the views-a relationship can be used in object-oriented specifications. We also show how the theory enables the designer to perform relevant analysis activities while modeling with separation of concerns in mind. The theory can be used to derive dynamic and structural properties of the interface objects and the views-a relationship. In particular, we can use the theory to derive global properties of interfaces that capture special concerns from the local properties of their related objects.
Paulo S. C. Alencar, Donald D. Cowan, Carlos José Pereira de Lucena
IEEE Trans. Software Eng.3
2001 Process Reuse Architecture
Soeli T. Fiorini, Julio César Sampaio do Prado Leite, Carlos José Pereira de Lucena
CAiSE3
2001 Using UML-F to enhance framework development: a case study in the local search heuristics domain
Marcus Fontoura, Carlos José Pereira de Lucena, Alexandre A. Andreatta, Sergio E. R. de Carvalho, Celso C. Ribeiro
J. Syst. Softw.2
2000 Using viewpoints to derive object-oriented frameworks: a case study in the web-based education domain
Marcus Fontoura, Sérgio Crespo C. S. Pinto, Carlos José Pereira de Lucena, Paulo S. C. Alencar, Donald D. Cowan
J. Syst. Softw.3
2000 V-Market: A framework for agent e-commerce systems
Pedro S. Ripper, Marcus Fontoura, Ayrton Maia Neto, Carlos José Pereira de Lucena
World Wide Web4
1999 A Pattern-Based Approach to Structural Design Composition
abstract
This paper describes an approach to component-based software engineering based on a formal description of design patterns. The architectural design information, captured by design patterns, is made explicit and represented in a declarative way, being packaged into tangible artifacts as building block design components in the development process. These design component descriptions can be instantiated, adapted, assembled, implemented, and maintained. Furthermore, we can use these representations to reason about properties related to the combination of design components. We illustrate the utility of our approach through a case study involving various design patterns.
Paulo S. C. Alencar, Donald D. Cowan, Jing Dong 0005, Carlos José Pereira de Lucena
COMPSAC4
1999 The Spider Environment
abstract
Visual composition is an interactive development of different applications by the direct manipulation of reusable components. We believe that the visual composition approach deals directly with the complexity of large software systems, making their development easier, more flexible, and easier to be understood. This is accomplished by implementing abstraction, reuse and visualization concepts. The developer becomes a component builder and no longer creates large applications that are hard to maintain and enhance. The user will have the freedom to choose the components he needs to build an application, and to mix and match components from different developers until the desired functionality is achieved. The visual Spider environment allows the creation of different kinds of applications. Copyright © 1999 John Wiley & Sons, Ltd.
Leonardo de Moura 0001, Carlos José Pereira de Lucena, Arndt von Staa
Softw. Pract. Exp.2
1997 Viewpoints as an evolutionary approach to software system maintenance
abstract
We describe a black box approach to software system evolution where viewpoints are used to alter a design without modifying the original system. A viewpoint is a model, possibly incomplete, of a domain from a given perspective. We discuss the views-an operator and its semantics, and then apply the concepts to the NACHOS file system as a case study. We believe the approach can be applied to existing object oriented software systems, and serve as a guide for developing systems which are more easily maintained. This case study is an example of an application of a more general transformational approach to software design and implementation
Paulo S. C. Alencar, Donald D. Cowan, Torsten Nelson, Carlos José Pereira de Lucena
ICSM4
1996 A Logical Framework for Evolving Software Systems
abstract
Abstract In this paper we present a logical framework for evolving software systems in which the critical aspects of large-scale software systems maintenance are treated by an approach which considers that configuration management is essentially concerned with the management of system changes. The basis of this framework is a formal description of transitions that might be made in the soft-ware change process, the purpose of the formalism is to allow deductions to be made about the validity of such transitions. A generalised formal description of software system architectures from the viewpoint of evolving software systems is also provided in the paper. Reasoning about functional aspects of these descriptions is achieved through the interaction of a theorem prover for the proposed metalogic formalism and a theorem prover for reasoning about sequential programs. In our approach the alterations of software descriptions can be viewed as programming-in-the-large transformations which are stated by means of the descriptive/prescriptive (deontic) features of actions.
Paulo S. C. Alencar, Carlos José Pereira de Lucena
Formal Aspects Comput.2
1996 IUP/LED: A Portable User Interface Development Tool
abstract
To be added when journal hard copy located (also figct,tabct & refct) (not provided by typesetter)
C. H. Levy, Luiz Henrique de Figueiredo, Marcelo Gattass, Carlos José Pereira de Lucena, Donald D. Cowan
Softw. Pract. Exp.4
1995 A Formal Description of Evolving Software Systems Architectures
Carlos José Pereira de Lucena, Paulo S. C. Alencar
Sci. Comput. Program.1
1995 Abstract Data Views: An Interface Specification Concept to Enhance Design for Reuse
abstract
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 ADV's 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.>
Donald D. Cowan, Carlos José Pereira de Lucena
IEEE Trans. Software Eng.2
1994 Enhancing Code for Readability and Comprehension Using SGML
abstract
Reading and understanding programs is a key activity in software reengineering, development, and maintenance. The ability of people to understand programs is directly related to the ease with which the source code and documentation can be read. Thus, enhancements to the style of presentation should heighten this comprehensibility. We describe methods that use markup languages such as SGML to embed information about the syntax and semantics of a program in the program code, and then show how these can be used to enhance its presentation style. We also briefly discuss the extension of these markup language concepts to text databases, and indicate how they can support various structural views of the code through browsing techniques associated with database queries.>
Donald D. Cowan, Daniel M. Germán, Carlos José Pereira de Lucena, Arndt von Staa
ICSM3
1993 Application Integration: Constructing Composite Applications from Interactive Components
abstract
Abstract Creating new applications by integrating user interface and application components is a relatively new idea which is currently of wide interest. A significant part of this problem is clearly defining the separation between user interface and application components. This paper proposes a new design methodology based on the concept of an abstract data view (ADV), a structuring method which cleanly defines this separation. A number of examples of composite interactive documents, ones which could contain several different user interfaces with entities such as text, calculations, drawings and possibly even multi‐media presentations, illustrate the ADV concept. These examples lead naturally to the introduction of the concept ofhole, a user interface area in a composite interactive document which is managed by an external program, and uses ADVs. Prototypes of a number of systems supporting ADVs and holes are currently running in our laboratory.
Donald D. Cowan, Terry M. Stepien, Roberto Ierusalimschy, Carlos José Pereira de Lucena
Softw. Pract. Exp.4
1989 PUC: a knowledge based environment for planned user communication
abstract
PUC (planned user communication) requirements are based on the view that the ideal environment for designing a personalized interface is one which involves the collaboration of the user and an interface designer who knows about the application. The approach used in the design of PUC was to incorporate the interface designer into the environment and invite the user to produce his/her own interface with its assistance. The aim of the approach is to allow the end user to plan his/her future interaction with an application while learning about it.>
Pula Ypiranga dos Guaranys, Carlos José Pereira de Lucena
COMPSAC2
1984 The Data Transform Programming Metho: An Example for File Processing Problems
Carlos José Pereira de Lucena, R. C. B. Martins, Paulo A. S. Veloso, Donald D. Cowan
ICSE1
1983 Message Oriented Programming - A Resource Based Methodology
Paulo Roberto Freire Cunha, Carlos José Pereira de Lucena, T. S. E. Maibaum
Comput. Lang.2
1980 A Data-directed Approach to Program Construction
abstract
Abstract The present paper discusses a method of program construction based on the specification of the data types. The input and output data types and the mapping between them are specified at a high level of abstraction and this non‐procedural specification is used to develop a program schema. The data type and mapping specifications are modified to include a concrete representation of the data and these are used to expand the program schema into a program. A graphical representation for data and program specifications is also introduced and it is shown how this can simplify the techniques and be very useful in program construction. The method is illustrated by developing two programs—the line justifier program described by Gries and the bubblesort.
Donald D. Cowan, J. Wesley Graham, James W. Welch, Carlos José Pereira de Lucena
Softw. Pract. Exp.4
1979 An Approach for Data Type Specification and Its Use in Program Verification
Tarcisio H. C. Pequeno, Carlos José Pereira de Lucena
Inf. Process. Lett.2
1979 Program Derivation Using Data Types: A Case Study
abstract
The present paper discusses some issues in program synthesis by relating the idea of systematic program derivation with the concepts of data type and correctness of data representation. The notion of an incomplete definition of a data type at a high level of abstraction is introduced. The ideas are illustrated through an example previously discussed in the literature by D. Gries.
Carlos José Pereira de Lucena, Tarcisio H. C. Pequeno
IEEE Trans. Software Eng.1
1978 Design and Implementation of Data Abstraction Definition Facility
abstract
Abstract This paper describes the Implementation model of a data definition facility for abstract data types, implemented as an extension to PL/1. The facility is based on a modified version of the cluster mechanism for the implementation of types. The proposed version tries to address the issues of efficiency and portability in connection with the goal of systematic programming.
Daniel Schwabe 0001, Carlos José Pereira de Lucena
Softw. Pract. Exp.2
1977 Pointers and Data Abstractions in High Level Languages - I: Language Proposals
Daniel M. Berry, Z. Erlich, Carlos José Pereira de Lucena
Comput. Lang.3
1976 Toward a System's Environment for Computer Assisted Programming
Carlos José Pereira de Lucena, Donald D. Cowan
Inf. Process. Lett.1