Monografias em Ciência da Computação



Departmento de Informática 
Pontifícia Universidade Católica do Rio de Janeiro - PUC-Rio
Rio de Janeiro - Brazil

This file contains a list of the technical reports of the Departmento de Informática, Pontifícia Universidade Católica do Janeiro - PUC-Rio, Brazil, which are published in our series Monografias em Ciência da Computação (ISSN 0103-9741), edited by Prof. Carlos Lucena. Please note that the reports not available for download are available in their print format and can be obtained via the e-mail below.
For any questions, requests or suggestions, please contact:
Rosane Castilho

Last update: 05/SEPTEMBER/2017


ROSEMBERG, M.R.; CUNHA, F.J.P.; PORTUGAL, R.; PIVATELLI, J.; SANTOS, L.T.; MOURA, A.M.; VENIERIS, R.; RIELLO, E.; OLIVIERI, B.; ALVES, P.H.C.; FERREIRA, M.G.; LEITE, J.C.S.P. Explorando o conceito de software consistente: um estudo ancorado em revisão colaborativa. 55
p. Port. E-mail:

The concept of software awareness addresses the possibility of the software to modify its behavior in order to allow its adaptation to changes occurring in the environment in which the software is running. Such adaptation would therefore be the result of a state of awareness in contrast to the conditions it meets and the desired goals. We can understand the idea as an evolution of the concept of software evolution in that evolution involves the awareness to evolve. The exploration of this concept as a non-functional requirement is a strategy that enables a concept detailing, as well as the possibility of operationalization classifications to be carried out to achieve the non-functional requirement of awareness applied to software artifacts. This work is part of a foundational study that proposes an initial mapping of a network of soft goals to represent the concept of awareness. Our primary objective is to confirm that network as foundational basis as well as to instantiate it through a set of published proposals that contribute to the awareness soft goals. The approach we adopted was based on a collaborative strategy.

SIRQUEIRA, T.F.M.; VIANA, M.L.; NASCIMENTO, N.; LUCENA, C.J.P.L. Um framework para provenieência de dados. 12
p. Port. E-mail:

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. 

ALVES, P.H.C.; VIANA, M.L.; LUCENA, C.J.P.L. Working towards a BDI agent based on personality ttaits to improve normative conflicts solution
. 13 p. Eng. E-mail:

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 in the same period of time. The agent’s 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 process for resolving normative conflicts.

MOREJÓN, R.; VIANA, M.L.; LUCENA, C.J.P.L. Generating software agents for data mining: an example for health data area
. 12 p. Eng. E-mail:

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.

VELMOVITSKY, P.E.; BRIOT, J.P.; VIANA, M.L.; LUCENA, C.J.P.L. Implementing an argumentation-based decision BDI agent: a case study for participatory management of protected areas.
12 p. Eng. E-mail:

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.

NASCIMENTO, N.M.; LUCENA, C.J.P.L. Engineering smart things based on evolved networks.
18 p. Eng. E-mail:

The goal of the Internet of Things (IoT) is to transform any thing around us, such as a trash can or a street light, into a smart thing. A smart thing has the ability of sensing, processing, communicating and/or actuating. In order to achieve the goal of a smart IoT application, such as minimizing waste transportation costs or reducing energy consumption, the smart things in the application scenario must cooperate with each other without a centralized control. Inspired by known approaches to design swarm of cooperative and autonomous robots, we modeled our smart things based on the embodied cognition concept. Each smart thing is a physical agent with a body composed of a microcontroller, sensors and actuators, and a brain that is represented by an artificial neural network. This type of agent is commonly called an embodied agent. The behavior of these embodied agents is autonomously configured through an evolutionary algorithm that is triggered according to the application performance. To illustrate, we have designed three homogeneous prototypes for Smart Street Lights based on an evolved network. This application has shown that the proposed approach results in a feasible way of modeling decentralized smart things with self-developed and cooperative capabilities.

Network traversal as an aid to plot analysis and composition. 30 p. Eng. E-mail:

We claim that by combining a chosen set of variants of the same narrative pattern into a network structure, an analysis of the pattern can be achieved that is revealing enough to provide indications on how to help non-professional writers to interactively compose new plots suitable to their tastes. To find the problems entailed by adopting this strategy, and to test the adequacy of our decisions, we developed a prototype tool and applied it to a set of four radically distinct variants of the popular Little Red Riding Hood folktale.

An architecture for autonomous normative BDI agents based on personality traits to solve normative conflicts. 15 p. Eng. E-mail:

Social norms have become one of the most promising approaches that use an informal social control to ensure a desirable social order in open multiagent systems. Normative multiagent systems offer the ability to integrate social and individual factors to provide increased levels of fidelity with respect to modeling social phenomenon such as cooperation, coordination, decision making process, organization and so on in human and artificial agent systems. 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 in the same period of time, the agent is not able to fulfill (or violate) both norms at the same time. The agent’s decision about which norms to fulfill can be defined based on rewards, punishments and agent goals. Sometimes, the analysis between these attributes will not be enough to allow the agent to make the best decision. In this context, this paper introduces an architecture that considers the agent’s personality traits in order to improve the normative conflict solving process. Our approach’s applicability and validation is demonstrated by an experiment that reinforces the importance of considering the norms both in the agent’ and society’s points of view.

A Multiagent system to train machine learning models. 14 p. Eng. E-mail:

This research presents a multiagent system to be used for training machine learning models; more precisely, to automate the training process. It also presents tools to combine, compare and propose new models that might have a good performance, using the results from previous experiments. This approach integrates concepts from Multiagent Systems (MASs), Machine Learning (ML) and more specific supervised learning techniques. As proof of concept, we first present the training model in the IRIS dataset. Then, we show how our approach allows the training of different models by using software agents. Finally, we discuss how the system enhances the training process, using the finished experiments as examples and demonstrate that the more the experiments are executed, the more accurate the proposed model becomes. Last but not least, for future work, we aim at: (i) using more accurate optimization techniques and (ii) extending the system to analyze the features of the dataset by using data science algorithms.

Checking the behavior of BDI4JADE agents using an aspect-based approach. 28 p. Eng. E-mail:

The growth and popularity of the Web has fueled the network-based software development. In this context, multiagent system (MAS) has been considered a promising approach to different areas such as security, or mission critical scenarios, monitoring of environments and people, etc., which means analyzing the choices of this type of software became crucial. However, the methodologies proposed so far by the Agent-Oriented Software Engineering (AOSE) focused their efforts mainly on developing approach to analyze, design and implement a MAS and little attention has been given to how such systems can be tested. Furthermore, with regard to tests involving agents, some issues related to the controllability and observability can difficult the checking of the agents’ behavior, for instance: (i) the agent's decision-making process; (ii) the fact of the agent's beliefs and goals are embedded inside the agent, hampering the observation and control of behavior; (iii) how deal with test coverage. This work proposes a new unit test approach for agents written in BDI4JADE, using the JAT Framework ideas and Zhang's fault model.

SIRQUEIRA, T.F.M.; VIANA, M.L.; LUCENA, C.J.P. Proveniência de dados em sistemas multiagentes
. 11 p. Port. E-mail:

Abstract: To understand data provenance it is necessary to know the reasoning behind the decisions that lead to this data. Tracking actions on a system is not trivial, especially if it involves intelligent software agents and human beings, where both can make decisions that change the behavior of the system and the results generated by it. This article discusses the data provenance in multiagent systems (MAS), showing a new perspective of the current usage stage of provenance systems, i.e., what benefits the data provenance can bring and the problems involved in the absence of information about the actions of the systems that make use of MAS. In addition, the article mentions some research opportunities that are still untapped in multiagent systems.

SIRQUEIRA, T.F.M.; VIANA, M.L.; LUCENA, C.J.P. Capturando proveniência de dados em sistemas multiagentes
. 10 p. Port. E-mail:

Abstract: the use of logs is discussed as a way to record the software information and its application in the BDI4JADE platform. During the presentation of the platform is explained the cycle of reasoning of the BDI and the functioning of the agents, where soon after it is discussed how to understand the actions and self-adaptations that agents can perform. At this point we discuss the use of log and how a provenance model may be a better approach. It is still discussed how this capture should be done, without the need to insert code in the multiagent platform and without affecting its architecture. Two codes are presented, the first one being extracted from BDI4JADE demonstrating the use of log and the other making a comparative with the use of aspects to capture the data provenance. At the end some consideration is given and the next steps of the research are presented.

ROSEMBERG, M.R.; SCHWABE, D.; POGGI, M. A hybrid block and stream cipher encryption algorithm based on colision resistant hash functions
. 12 p. Eng. E-mail:

Abstract: The Vernam Cipher, or one time pad is considered the only unbreakable encryption scheme. It consists of a XOR operation between the plain text and a random key with the same length of the plain text. Once encrypted, the ciphered message gives nothing the cryptanalyst can use to decipher the encrypted message. The major drawback of the Vernam cipher is that it is not feasible to generate and share a key that is as long as the plain text message. Aim: In this work, We propose a hybrid encryption algorithm, which combines block an stream cipher characteristics, using hashes, salts and block counters as block key generators to encrypt a variable length message. The strength of the cryptosystem depends on the strength of the hash function. Method: We belive that Collision resistant hash functions (CRHF) may be a very effecitve way to generate peseudorandom block keys which can be used in a XOR operation with the plain text. Results: In our experiments, we generated one billion keys for each hash function we tested. None of them repeated itself. Conclusions: Our experiments show the key generation algorithm mimics the behavior of the Vernam Cipher and that the block cipher key will not be repeated for a long time. The encryption and the decryption algorithms are very simple and easy to implement, both in software and in hardware.

SIRQUEIRA, T.F.M.; LUCENA, C.J.P. Capturando e analisando proveniência de dados em sistemas multiagentes
. 17 p. Eng. E-mail:

This paper presents the development of FProvW3C framework, next to a multi-agent system where the framework is responsible for collecting and storing the provenance data. We describe the data structures of the framework, following the W3C PROV model, the UML diagrams of the framework and the application developed with the use of the framework, the standards of projects used and the tests that were carried out to validate the framework and the built system. At the end the next steps and some results that have been obtained so far are presented.