Monografias em Ciência da Computação

2004

ABSTRACTS

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 bib-di@inf.puc-rio.br

Last update: 27/DECEMBER/2004

INDEX


[MCC01/04]
FUKS, H.; RAPOSO, A.B.; GEROSA, M.A.; LUCENA, C.J.P. Applying the 3C model to groupware engineering.  33 p. Eng. E-mail:  hugo@inf.puc-rio.br

Abstract: This paper introduces an approach based on the 3C collaboration model (communication, coordination and cooperation) to the development of collaborative systems. This approach is denominated Groupware Engineering, which is based on Software Engineering, enhanced by concepts originated from the field of Computer Supported Cooperative Work - CSCW and related areas. The 3C model is studied by means of a detailed analysis of each one of its three elements, accompanied by a case study of a learningware together with the methodology of a web-based course, both designed based on the model. Moreover, the paper describes a component based system architecture following this 3C approach.

[MCC02/04]
PESSOA, A.A. Planning the transportation of multiple commodities in bidirectional pipeline networks.  20 p. Eng. E-mail: bib-di@inf.puc-rio.br

Abstract: PTP is a combinatorial model for oil pipeline transportation. It uses a directed graph G and a set of product batches, where each batch has a corresponding destination node. The graph G has an associated initial state where each arc contains a non-empty sequence of batches and each node contains a (possibly empty) set of batches. A valid movement is to shift the batches of a given arc  a=(i,j) in such a way that one batch from the node i is inserted in the beginning of the arc a and another batch, removed from the end of the arc a, is inserted in j.  The goal is to reach a state where all batches from a given subset are stored at their destinations. For the general PTP, deciding whether or not a feasible plan exists is proved to be NP-hard. In this paper, we propose the CBPTP, a new variation of PTP. In this variation, arc contents may be shifted in both directions. Moreover, product batches have no destination nodes assigned. Instead, we assign a commodity to each batch. In this case, the node demands that may be satisfied by any batches of the corresponding commodities. For the general CBPTP, we reduce the instance feasibility to the problem of finding a perfect matching in a bipartite graph. Moreover, we give a polynomial algorithm for constructing feasible plans for the CBPTP, when they exist.

[MCC03/04]
LEMOS, M.; SEIBEL, L.F.B.; CASANOVA, M.A. Functional requirements of biosequence annotation systems.  21 p. Eng. E-mail: casanova@inf.puc-rio.br

Abstract: One of the most important tasks of genome projects is the interpretation of experimental data in order to derive biological knowledge from the data. To achieve this goal, researchers typically search external data source, execute analysis programs on the biosequences, analyze existing annotations and add new annotations to register their interpretation of the data. This paper first summarizes selected tools and techniques used in Bioinformatics. Then, it lists functional requirements for biosequence annotation systems. It proceeds to describe the functionality and the data model of BioNotes, a tool that meets these requirements. Next, it outlines how the tool will support workflow-like composition of analysis programs. Finally, it compares BioNotes with other annotation systems. BioNotes is under development at the Catholic  University of Rio de Janeiro and in use at Oswaldo Cruz Institute and at RioGene.

[MCC04/04]
MOURA, A.L.; RODRIGUEZ, N.; IERUSALIMSCHY, R. Coroutines in Lua. 13 p. Eng. E-mail: noemi@inf.puc-rio.br

Abstract: After a period of oblivion, a renewal of interest in coroutines is being observed. However, most current implementations of coroutine mechanisms are restricted, and motivated by particular uses. The convenience of providing true coroutines as a general control abstraction is disregarded. This paper presents and discusses the coroutine facilities provided by the language Lua, a full implementation of the concept of asymmetric coroutines. It also shows that this simple but powerful construct supports easy and succint implementations of useful control behaviors such as generators, backtracking and cooperative multitasking.

[MCC05/04]
ROSSETTO, S.; RODRIGUEZ, N.; IERUSALIMSCHY, R. Abstrações para o desenvolvimento de aplicações distribuídas em ambientes com mobilidade. 14 p. Port. E-mail: noemi@inf.puc-rio.br

Abstract: In this paper, we discuss adequate abstractions and mechanisms for developing distributed applications in mobile environments. We argue that coordination and event orientation are important technologies for these environments. To show that these technologies can be used in conjunction with well-known, conventional programming models, we describe a system with synchronous and asynchronous remote procedure call that we implemented over an event-oriented tuple space. To implement synchronous calls in an asynchronous environment, we used the coroutine provided by the Lua programming language.

[MCC06/04]
SILVA, V.T.; LUCENA, C.J.P. Modeling multi-agent systems.  11 p. Eng. E-mail: lucena@inf.puc-rio.br

Abstract: Different methodologies, languages and platforms for multi-agent systems propose very distinct and varied sets of abstraction. In this context, there is a need for creating a conceptual framework that defines the frequently used multi-agent system abstractions, their relationships and their behavior. As it is the case with any new software engineering paradigm, the successful and widespread deployment of multi-agent systems require modeling languages, among other agent-based software technologies, that explore the use of agent-related abstractions and promote the traceability from the design models to code. This paper contemplates the definition of a multi-agent system conceptual framework called TAO and of a multi-agent system modeling language called MAS-ML. Our goals are to describe the structural and dynamic aspects of the abstractions commonly used in multi-agent systems by defining a conceptual framework, to propose a modeling language that describes structural and dynamic diagrams to model such aspects and to present the traceability from the structural models into code.

[MCC07/04]
SARDINHA, J.A.R.P.; GARCIA, A.F.; LUCENA, C.J.P.; MILIDIU, R.L. On the incorporation of learning in open multi-agent systems: a systematic approach.  17 p. Eng. E-mail: lucena@inf.puc-rio.br

Abstract: The development of large scale multi-agent systems (MASs) requires the introduction and structuring of the learning property throughout the design and implementation stages. In open systems and complex environments, agents have to reason and adapt through machine learning techniques in order to perform their goals. In this paper, we present a methodology to introduce learning techniques into software agents. To assist the design phase, we present a design pattern that guides the design of the learning property. The methodology and pattern are used in     the construction of an open MAS for the Trading Agent Competition environment in order to illustrate the suitability of our approach.

[MCC08/04]
SILVA, V.T.; LUCENA, C.J.P. Extending UML to model multi-agent systems. 12 p. Eng. E-mail: lucena@inf.puc-rio.br

Abstract: Multi-agent systems (MASs) and object-oriented systems (OOSs) differ in many respects. Traditionally, OOSs are composed of objects whose properties are attributes and methods and interact through method calling. MASs are composed not only of objects but of different elements (such as agents, organizations and others) that have different properties and interact in different ways. MASs require modeling languages, among other agent-based software technologies, that are able to explore the use of agent-related abstractions. Modeling languages should represent the structural (or static) and dynamic aspects of MASs by expressing the characteristics of all its essential entities. Structural aspects comprise the definition of the entities, their properties and their relationships. The   dynamic aspects are characterized by the internal execution of the entities and by the interactions between the entities. In this paper we propose to extend the UML modeling language in order to model the structural and dynamic
aspects of MASs.

[MCC09/04]
PAES, R.B.; ALMEIDA, H.O.; LUCENA, C.J.P.; ALENCAR, P.S.C. Enforcing interaction protocols in multi-agent systems.  16 p. Eng. E-mail: lucena@inf.puc-rio.br

Abstract: Numerous multi-agent approaches have been used to develop large and complex systems in many application areas. Interactions among agents, which are commonly ruled by interaction protocols that ensure the correct system execution, constitute one of the main features of these approaches. However, in open, dynamic, and heterogeneous systems, where there are no guarantees about the trustfulness of the agents, mechanisms should be provided to ensure protocol fulfillment. In this paper we propose a conceptual framework and its implementation to enforce secure interaction protocols in multi-agent systems. We use the organization law abstraction as a generalization of other concepts found in the literature, such as constraints, policies, norms and protocols. Finally, the proposed conceptual framework allows laws to be defined as declarative specifications.

[MCC10/04]
LONGO, H.; ARAGÃO, M.V.P.; UCHOA, E. Solving capacitated arc routing problems using a transformation to the CVRP.  12 p. Eng. E-mail: poggi@inf.puc-rio.br

Abstract: A well known transformation by Pearn, Assad and Golden reduces a Capacitated Arc Routing Problem (CARP) into an equivalent Capacitated Vehicle Routing Problem (CVRP). However, that transformation is regarded as     unpractical, since an original instance with r required edges is turned into a CVRP over a complete graph with 3r + 1 vertices. We propose a similar transformation that reduces this graph to 2r + 1 vertices, with the additional restriction that r edges are already fixed to 1. Using a recent branch-and-cut-and-price algorithm for the CVRP, we observed that it yields an effective way of attacking the CARP, being significantly better than the exact methods created specifically for that problem. Computational experiments obtained improved lower bounds for almost all open instances from the literature. Several such instances could be solved to optimality.

[MCC11/04]
SILVA, R.J.M.; RAPOSO, A.B.; GATTASS, M. Grafo de cena e realidade virtual.  52 p. Port. E-mail: mgattass@tecgraf.puc-rio.br

Abstract: Several applications in the field of Virtual Reality (VR) are using scene graphs to represent the virtual environment, since the optimizations offered by these libraries increase the frame rates of the visualization. The increase in the frame rates enhances the immersion sensation, a fundamental characteristic of a VR environment. This text presents a study about the scene graph concept, higlighting the OpenGL Performer and the OpenSceneGraph. Some of the main concepts and tools of VR are also described, as well as their relations with scene graphs.

[MCC12/04]
SARDINHA, J.A.R.P.; CHOREN, R.; MILIDIÚ, R.L.; LUCENA, J.C.P. Engineering machine learning techniques into multi-agent systems. 28 p. Eng. E-mail: milidiu@inf.puc-rio.br

Abstract: Agent technology is a Distributed Artificial Intelligence (DAI) approach to implement autonomous entities driven by beliefs, goals, capabilities, plans and agency properties: adaptation, interaction, learning, etc. Software agents are the focus of considerable research by the artificial intelligence community, but there is still much to be done in the field of Software Engineering in order to systematically create large scale multi-agent systems. In this paper, we present an object-oriented framework for building a distributed multi-agent system. We explore in this framework the intersection of DAI with machine learning techniques, and propose a methodology for introducing intelligence in a multi-agent system. A multi-agent system created for the Trading Agent Competition is presented as a case study. Our engineering approach provides a performance gain of 97,3% due to the introduction of machine learning techniques.

[MCC13/04]
SANTOS, A.C.; LUCENA, A.; RIBEIRO, C.C. Solving diameter constrained minimum spanning tree problems in dense graphs.  10 p. Eng. E-mail: celso@inf.puc-rio.br

Abstract: In this study, a lifting procedure is applied to some existing formulations of the Diameter Constrained Minimum Spanning Tree Problem. This problem typically models network design applications where all vertices must communicate with each other at minimum cost, while meeting or surpassing a given quality requirement. An    alternative formulation is also proposed for instances of the problem where the diameter of feasible spanning trees can not exceed given odd numbers. This formulation dominated their counterparts in this study, in terms of the computation time required to obtain proven optimal solutions. First ever computational results are presented here for complete graph instances of the problem. Sparse graph instances as large as those found in the literature were solved to proven optimality for the case where diameters can not exceed given odd numbers. For these applications, the corresponding computation times are competitive with those found in the literature.

[MCC14/04]
RIBEIRO, C.C.; URRUTIA, S.A. An application of integer programming to playoff elimination in football championships.  11 p. Eng. E-mail: celso@inf.puc-rio.br

Abstract: Football is the most followed and practiced sport in Brazil, with a major economic importance. Thousands of jobs depend directly from the activity of the football teams. The Brazilian national football championship is followed by millions of people, who attend the games in the stades, follow radio and TV transmissions, and check newspapers, radio, TV, and, more recently, the Internet in search of  information about the performance and chances of their favorite teams. Teams which are not qualified to the playoffs loose a lot of money and are even forced to dismantle their structure. We comment and compare the complexity of playoff elimination in football and baseball championships. We present two integer programming models which are able to detect in advance when a team is already qualified to or eliminated from the playoffs. Results from these models can be used not only to guide teams and fans, but are also very useful to identify and correct wrong statements made by the press and team administrators. The application and the use of both models in the context of the 2002 edition of the Brazilian national football championship are discussed.

[MCC15/04]
MOURA, A.L.; IERUSALIMSCHY, R. Revisiting coroutines.  31 p. Eng. E-mail: roberto@inf.puc-rio.br

Abstract: This paper defends the revival of coroutines as a general control abstraction. After proposing a new classification of coroutines, we introduce the concept of full asymmetric coroutines and provide a precise definition for it through an operational semantics. We then demonstrate that full coroutines have an expressive power equivalent to one-shot continuations and one-shot partial continuations. We also show that full asymmetric coroutines and one-shot partial continuations have many similarities, and therefore present comparable benefits. Nevertheless, coroutines are easier implemented and understood, specially in the realm of procedural languages. Finally, we provide a collection of programming examples that illustrate the use of full asymmetric coroutines to support direct and concise implementation of several useful control behaviors, including cooperative multitasking.

[MCC16/04]
VIEIRA, C.E.C.; SOUZA, R.C.; RIBEIRO, C.C. Um estudo comparativo entre três geradores de números aleatórios.  33 p. Port. E-mail: celso@inf.puc-rio.br

Abstract: The objective of this work is to compare three random number generators used by the research group on Heuristic and Parallelism for Optimizatiom/Bioinformatics Problems of the Informatics' Department of PUC-Rio. The random number generators are used in probabilistic algorithms, such that Simulated Annealing, Genetics Algorithms and GRASP. Therefore, the use of a consistent random number generator method is highly recommended. Firstly, the three random number generators are presented. Secondly, theoretical and statistical tests used to analyze generators are discussed. Practical questions, such as algorithm efficiency, portability, facility of implementation are also used to analyze generators. Based on the tests results and many criteria used in the analysis, the best generator for the research group is pointed out.

[MCC17/04]
SANT'ANNA, C.N.; GARCIA, A.F.; KULESZA, U.; LUCENA, C.J.P.; STAA, A.v. Design patterns as aspects: a quantitative assessment.  17 p. Eng. E-mail: lucena@inf.puc-rio.br

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

[MCC18/04]
RENTERIA, R.P.; MILIDIÚ, R.L. PLS based regression algorithms and their use in multi-agent systems.  11 p. Eng. E-mail: milidiu@inf.puc-rio.br

Abstract: We present new algorithms aimed at prediction, based on traditional techniques such as partial least-squares and principal component analysis regression. Along, some experiments are reported showing the possible use of these techniques as an AI engine in a multi-agent system.

[MCC19/04]
BARUQUE, L.B.; MELO, R.N. Towards a reference model for e-learning governance.  12 p. Eng. E-mail: rubens@inf.puc-rio.br

Abstract: It is increasingly recognized that e-learning is crucial to the success of organizations. In an era where the intellectual capital is considered to be the most valuable asset of a company, surprisingly not too much attention is given to the risks and threatens faced by e-learning endeavours. The ultimate goal of e-learning is to enable the business by delivering the knowledge, skills and attitudes (SKA) that the business needs in a cost-effective way. The critical role that e-learning is playing calls for a specific focus on governing it. To this end, we are launching the term e-Learning Governance (a new concept). e-Learning Governance can be defined as the responsibilities and practices carried out with a view to providing strategic direction to an institution's e-learning initiatives, ensuring that established objectives are achieved and risks managed properly, as well as that resources allocated are used responsibly. We need to go beyond methodologies for developing e-learning modules and extend the governance principles to all stages of e-learning. What we need is a Reference Model, independent of technical platforms, organizational structures and pedagogical frameworks, which is proposed in this paper.  Our Reference Model conceptual framework encompasses an e-learning information architecture, processes and sub-processes and governance rules and metrics. We exemplify how the governance rules and metrics can be used to control and secure e-learning systems. Further research is being carried out in the Database Lab at PUC-Rio to specify the Reference Model in detail.

[MCC20/04]
BARUQUE, L.B.; MELO, R.N. Applying learning theory in the design of learning objects.  16 p. Eng. E-mail: rubens@inf.puc-rio.br

Abstract: Instructional System Development (ISD) is a set of procedures for systematically designing and developing instruction. A solid foundation in learning theory is an essential element in the application of ISD. One question that one might ask is if there is one best learning theory for instructional design using learning objects (LOs). Depending on the learners and situation, different learning theories may apply. We do not recommend one particular theory for the design of instruction based on LOs. We, rather, suggest the adoption of an ecletic approach to learning theory in the design of LOs. In this work, we give an overview of the ISDMELO methodology, which incorporates principles from different learning schools and give an example of its application. The proposed methodology is currently being experimented by K-12 teachers from public schools as well as instructional designers from private companies in Brazil.

[MCC21/04]
BRANDÃO, A.A.F.; ALENCAR, P.; LUCENA, C.J.P. Extending object-Z for multi-agent systems specification.  15 p. Eng. E-mail: lucena@inf.puc-rio.br

Abstract: Agent-orientation has gained increased importance in recent years with the emergence and growth of the World Wide Web, both as an area of study in itself, and as a component of other disciplines such as software engineering. As a result, this has led to an increased amount of research developing new informal and formal software engineering techniques to support agent-oriented system specification, design, validation and development. In this paper, we present a formal  notation called AgentZ that combines the model concepts and structure proposed by TAO (Taming Agents Objects), a conceptual framework that provides conceptual foundations for agents and objects, with the well known Z and Object-Z formal representation languages. AgentZ was built to provide a formal notation that allows the verification of design models, a key issue within the emerging agent-oriented Software Engineering research and, as a result, it can help to improve the quality of MAS.

[MCC22/04]
VIEIRA, C.E.C.; RIBEIRO, C.C.; SOUZA, R.C. Geradores de números aleatórios.  12 p. Port. E-mail: celso@inf.puc-rio.br

Abstract: This  works presents a short introduction to random numbers generators which are based upon specific mathematical algorithms, sequential and deterministic. These algorithms are crucial for a whole range of applications. First, we discuss the mathematical definition of random number generators and the common techniques for producing  the random sequence. Next, the desirable properties of good generators are discussed. Final remarks are made in the last Section.

[MCC23/04]
VIEIRA, C.E.C.; SEIBEL, L.F.B. Técnicas de paralelismo aplicadas a execução de fluxos de programas de bioinformática.  39 p. Port. E-mail: bib-di@inf.puc-rio.br

Abstract: One of the most important task of the genome projects is called process of annotation, which consists in the analysis and interpretation of experimental of data in order to derive biological knowledge from the data. Many systems were created to aid the researchers in the annotation process, such as BioNotes. This tool is currently used to annotate the genome of bacteria Gluconacetobacter Diazotrophicus and supports three types of annotation: imported, originating from external data source; automatics, generated by execution of biological analysis programs, and manual, created by the biologists. This paper refers to the automatic annotations, that is essential for the researchers but which spend a lot of time to  be available in the BioNotes system. This time can be reduced if parallel computing methods were used in the execution of the workflow which generates automatic annotations. The objective of this papers is to discuss these parallel computing methods and to demonstrate the viability and importance of the parallelism methods in the bioinformatics area.

[MCC24/04]
RUSSO, E.E.R.; FERNANDO, T.; RAPOSO, A.B.; GATTASS, M. Workspaces' challenges for the oil & gas exploration and production industry.  15 p. Eng. E-mail: mgattass@tecgraf.puc-rio.br

Abstract: The objective of this paper is to prospect and analyse the main challenges faced when defining and building virtual reality workspaces for Exploration & Production oil and gas activities.  Initially, we classify and describe the different challenges. Then, we present the main activities in the oil & gas industry that use this technology.

[MCC25/04]
SILVA, L.F.; LEITE, J.C.S.P.; BREITMAN, K.K. C&L: uma ferramenta de apoio a engenharia de requisitos.  24 p. Port. E-mail: julio@inf.puc-rio.br

Abstract: This paper presents an experimental tool to support requirements engineering activities. This tool, called C&L, is based on two techniques to model software requirements, scenarios and the extend lexicon of the language. C&L supports a cooperative process to edit scenarios and the lexicon. It aims to maintain the traceability between requirements and code. C&L is one of the Requirements Engineering Group's research projects at PUC-Rio.

[MCC26/04]
PONTES, A.M.; LEITÃO, C.F.; SOUZA, C.S.; BARBOSA, S.D.J.; QUENTAL, V.S.T.D.B. Estudo do impacto do design e das formas de uso sobre a recuperação de informações em foruns de discussão online.  13 p. Port. E-mail: clarisse@inf.puc-rio.br

Abstract: This paper presents the results of a case of study in which we verified that consistent information retrieval on discussion forum systems is strongly influenced by certain design decisions (made by the designer), as well as by the various ways how users use the tools. We verified that design features included specifically in view of information retrieval can be declined by some users, which may certainly influence the desired retrieval  consistency in a negative way. The foundation of our study relies on Semiotic Engineering concepts, as well as methods and concepts from Linguistic, like as Conversation Analysis.

[MCC27/04]
PAOLIELLO, C.M.; FURTADO, A.L. Sistemas de informação para comércio eletrônico.  45 p. Port. E-mail: furtado@inf.puc-rio.br

Abstract: The purpose of the present work is to survey the main features of information systems oriented to the area of e-commerce. The main business requirements are analyzed, and also how e-commerce technologies can contribute to successful comercial sites. Processes related to product sales are examined from a technological viewpoint. In addition, technologies used for the infra-structure of an e-commerce site are reviewed (servers, network architecture, communication links, databases, security, etc). The final part of the work gives a case study, concerning sites for selling books via Internet (Amazon.com), highlighting the experience gained in various business areas, the main problems encountered and the solutions adopted in practice.

[MCC28/04]
BARUQUE, C.B.; MELO, R.N. Developing digital libraries using data warehousing and data mining techniques.  11 p. Eng. E-mail: rubens@inf.puc-rio.br

Abstract: We propose a manner to the development of Digital Libraries (DL), using Data Warehousing (DWing) and Data Mining (Dmining) Techniques. This DL will be a component of an e-learning environment and will assist the students in a specified course. This will help them in their studies and researches, once the Web will be already filtered by the data mining techniques on the subject they need to study. We propose components of the data warehousing architecture on which data mining techniques can be applied. The Data Warehouse will be like a Central Library and the Data Marts (portions of the Data Warehouse separated by a certain criteria - the course, for example) like Departament Libraries. The retrieval of the DL documents by students will be made through OLAP (On-Line Analytical Processing) techniques based on the DL catalog, which is modeled multidimensionally and based on the Dublin Core metadata elements. A discussion of the DL automatic refreshing based on information collected on the students' interactions is also presented.

[MCC29/04]
CHOREN, R.; GARCIA, A.; LUCENA, C.J.P. Software Engineering for Large-scale Multi-agent Systems - SELMAS 2004: workshop report.  18 p. Eng. E-mail: lucena@inf.puc-rio.br

Abstract: This paper is intended to sum up the results of the Third International Workshop on Software Engineering for Large-Scale Multi-Agent Systems (SELMAS 2004) held in Edinburgh, Scotland, May 24-25, 2004, as part of the International Conference on Software Engineering (ICSE 2004). The main purpose of this workshop was to share and pool the collective experience of people, both academics and practitioners, who are actively working on software engineering for large-scale multi-agent systems. The call for papers elicited some 24 submissions, of which 14 papers were accepted for presentation. A set of selected workshop and invited papers are to appear in a Lecture Notes in Computer Science (LNCS, Springer) volume. The workshop consisted of an opening presentation, two keynote talks, four technical sessions of paper presentations, and two panels. During the workshop we informally reviewed ongoing and previous work and debated a number of important issues. The SELMAS 2004 website can be found at <http://www.teccomm.les.inf.puc-rio.br/memas2004>. We begin by presenting an overview of our goals and the workshop structure, and then focus on the workshop technical program.

[MCC30/04]
LEAL, M.A.; IERUSALIMSCHY, R. The weak-reference interface. 15 p. Eng. E-mail: roberto@inf.puc-rio.br

Abstract: Weak references are a powerful programming language abstraction. Among other uses, they can be employed as a finalization with the advantage of circunventing several difficulties associated with regular finalizers.  Nevertheless, weak references are still modestly known by programmers in general, and have received erratic support by garbage-collected language implementations.  In the paper, we examine weak references' most common and relevant applications, present a survey on how the abstraction is supported by actual programming languages, and discuss weak reference semantics and implementation alternatives.

[MCC31/04]
ALBARELLO, A.B.; LUCENA, C.J.P. fGrin: um framework baseado em sistemas multiagentes para formação de grupos de interesse a partir de uma base semântica. 9 p. Port. E-mail: lucena@inf.puc-rio.br 

Abstract: The current growing use of technology exercises great influence on the behavior of the society. That is partially due to the application of new organizational strategies which assist people and institutions on the development of their activities. A tendency which can be currently observable is associated with the benefits that occur when people with the same interest are joined together for the accomplishment of a common task. This article presents fGrin, an application instantiated from a framework based as multi-agents systems whose purpose is forming groups of interest based on a semantic database.

[MCC32/04]
SILVA, V.T. ; CORTÉS, M.I. ; LUCENA, C.J.P An object-oriented framework for implementing agent societies. 37 p. Eng. E-mail: lucena@inf.puc-rio.br

Abstract: The goal of multi-agent system architectures and frameworks is to provide reusable agent-oriented classes that can be extended and customized in order to implement domain specific systems. This paper proposes an object-oriented framework for implementing agent societies. Agent societies are multi-agent systems in which it is required or important to represent agent playing roles in organizations. By using the framework, it is possible to implement several agents; each playing different roles in different organizations. The framework contemplates agents, roles, organizations and environments as first-order entities. For each entity, a detailed lifecycle is prescribed by describing the execution states and the events that cause the (allowed) transition of the entity from one state to another. Based on graphic representations of the lifecycle models, the computational models of each entity could be explored. The computational models define the behavior of the entities associated with each state described in the lifecycle models. As a consequence, both the structural and the dynamic aspects of the ASF (Agents Society Framework) framework are presented in the paper.

[MCC33/04]
BARBOSA, C.M.A. ; LEITÃO, C.F. ; de SOUZA, C.S. ; PREECE, J. An online community framework-based analysis of an existing online community. 35 p. Eng. E-mail: clarisse@inf.puc-rio.br

Abstract: An important requirement for developing successful online communities is to understand the impacts of software design on their evolution. This requirement motivated the development of the Online Community Framework (OCF), a theoretically-based analytic tool for helping designers understand and produce computer technology to support social activity online. This paper reports the first extensive use of OCF to analyse in detail a long-standing and successful Brazilian online health support community, the Multiple Sclerosis Sufferers Society. The paper discusses OCF's performance as an epistemic tool and proposes a number of issues for future research.

[MCC34/04]
RUBINSZTEJN, H. ; ENDLER, M. ; SACRAMENTO, V. ; GONÇALVES, K. ; NASCIMENTO, F. Support for contex-aware collaboration. 11 p. Eng. E-mail: endler@inf.puc-rio.br

Abstract:This paper describes a middleware architecture with its location inference service (LIS), and an application for contex-aware mobile collaboration which is based on this architecture. The architecture, named Mobile Collaboration Architecture - MoCA comprises client server APIs, a set of core services for registering applications, monitoring and inferring the execution context of mobile devices, in particular their location. This architecture is suited for the development of new kinds of collaborative applications in which the context information (connectivity, location) plays a central role in defining both the group of collaborators, and the communication mode.

[MCC35/04]
LIFSCHITZ, S. ; MILANÉS, A.Y.; SALLES, M.A.V. Estado da arte em auto-sintonia de SGBD relacionais. 52 p. Port. E-mail: sergio@inf.puc-rio.br

Abstract: Database tuning is the activity of adjusting parameters, configurations and data structures of a database system to the needs of a given workload. In general, most performance adjustments are done on DBMSs by specialized DBAs. This situation motivates the development of self-tuning database systems, that is, systems that adjust themselves without human intervention in order to obtain more performance to their applications. This report presents a study of database systems self-tuning. We classify the existing proposals in two major research fronts: local self-tuning and global self-tuning. The goal of local self-tuning work is to enhance system performance taking into consideration a specific aspect of the system, such as physical design or memory use. Global self-tuning work, on the other hand, tries to consider the trade-offs involved in tuning different aspects of the system. This report also presents an overview of commercial systems that bring self-tuning features.

[MCC36/04]
SARDINHA, J.A.R.P. ; MILIDIÚ, R.L. ; LUCENA, C.J.P. ; PARANHOS, P.M. A methodology for building trading agents in electronic markets. 11 p. Eng. E-mail: milidiu@inf.puc-rio.br

Abstract: In this paper we present a methodology that guides the development of a multi-agent system for trading in electronic markets. Our approach uses a strategy of decomposing a complex trading problem into sub-problems, and defines agent roles that tackle these sub-problems. We also present an incremental development process for building asynchronous and distributed agents, which enable effortlessly the combination of intelligent agent strategies. This creates a highly adaptable system for unknown situations that is easy to scale up. We use the Trading Agent Competition (TAC) environment as a case study to illustrate the suitability of our approach.

[MCC37/04]
SARDINHA, J.A.R.P. ; MILIDIÚ, R.L. ; LUCENA, C.J.P. ; PARANHOS, P.M. ; CUNHA, P.M. An agent based architecture for highly competitive electronic markets. 13 p. Eng. E-mail: milidiu@inf.puc-rio.br

Abstract: In this paper we present a multi-agent architecture for trading in electronic markets with asynchronous and related auctions. This architecture enables the development of a multi-agent system for a highly competitive environment, where all participants are competing for a limited number of goods. We define intelligent agent roles that tackle sub problems of trading, and present a solution for combining these results in a distributed environment. The agents' typical tasks are price prediction, bid planning, good allocations, negotiation, among others. We use the Trading Agent Competition (TAC) environment as a case study to illustrate the suitability of our approach. We also present LearnAgents, a multi-agent system based on our architecture that achieved the third place in the 2004 TAC Classic competition.

[MCC38/04]
LEITE, M. ; LUCENA, C.J.P. ; RODRIGUES, L.F. ; MAGALHÃES, J. Applying a circuit-based component model to a distributed OO application. 18 p. Eng. E-mail: lucena@inf.puc-rio.br

Abstract: In this paper, we motivate and propose a novel component- oriented model, called Object Circuits (OCs), by applying it to a typical Web application: Webclipper. The former aims to take component-orientation to another level, by incorporating ideas from a field that is component-oriented by excellence: electronic circuits. The latter is an application for clipping news, i.e. the process of gathering, formatting and distributing content matching the interest of a group of users. Webclipper has been originally modeled and developed using traditional OO design. It is a real world, distributed OO application with enough complexity and generality to be useful for evaluating our approach. Furthermore, we have chosen an application that is not intuitively associable to OCs to illustrate its true generality. We have ported the application to our paradigm and the results are presented in the paper.

[MCC39/04]
DE MARIA, B.A.; SILVA, V.T.; LUCENA, C.J.P. Usando MDA no desenvolvimento de sistemas multi-agentes. 15 p. Port. E-mail: lucena@inf.puc-rio.br

Abstract: A great number of methodologies, frameworks and languages are being proposed to support the development of multi-agents systems (MAS). In this paper, we propose the use of MDA in the development of this kind of systems. MDA specifies a structured software development process in modeling stages. In PIM stage, where platform independent models are specified, we propose the use of MAS-ML modeling language for MAS. In PSM stage, where platform specific models are specified, we propose the use of UML modeling language. The MAS-ML models defined on PIM stage are transformed in UML models at PSM stage, based on a framework to implement MAS using object orientation. In the last development stage, the application code is generated from UML models. In this work, we will detail PIM and PSM stages on the development process of MAS and the transformations to generate source code.

[MCC40/04]
MACÊDO, J.A.F.; PICOUET, P. A performance analysis framework for database management systems. 21 p. Eng. E-mail: bib-di@inf.puc-rio.br

Abstract: Performance evaluation of DBMS is a major issue since it is generally difficult to model experimental and performance analysis results. In this paper, we propose an application framework that provides a model, a methodology and a common platform to implement database evaluation analysis tools. Inspired on a conceptual UML model, this application framework provides a much more detailed model that allows capturing the complex structure of DBMS modern software. We use a recent work about the implementation of a new data page layout to illustrate the instantiation of our framework.

[MCC41/04]
KULESZA, U.; GARCIA, A.F.; LUCENA, C.J.P.; STAA, A.v. Integrating generative and aspect-oriented technologies. 15 p. Eng. E-mail: lucena@inf.puc-rio.br

Abstract: Over the last years, two new software engineering approaches have been proposed: generative programming and aspect-oriented software development. Generative programming addresses the study and definition of methods and tools that enable the automatic production of system families from a high-level specification. Aspect-oriented software development has been proposed as a technique for improving separation of concerns in the construction of OO software and suporting improved reusability and ease of evolution. The use of aspect-oriented techniques in a definition of a generative approach can bring benefits to the modeling and generation of crosscutting features since early development stages. This paper presents our experience in the definition of an aspect-oriented generative approach. The proposed approach explores the multi-agent systems domain to enable the code generation of agent architectures.

[MCC42/04]
FURTADO, A.L. Uma introdução ao uso de programação em lógica para modelagem conceitual. 15 p. Port. E-mail: furtado@inf.puc-rio.br

Abstract: Information systems with a database component should be modelled at three levels, at least, which we denominate static, dynamic and behavioural. The static level refers to the classes of facts to be represented in the database. The dynamic level deals with the repertoire of operations, which are provided in order to achieve state transitions, by adding and/or removing facts. Taken together, these first two levels cover the object-oriented aspects of the information system being specified. The behavioural level indicates how the various agents are expected to use the system, so as to reach their goals, through the execution of authorized operations. This third level extends the especification to cover agent-oriented aspects. This work describes a method, supported by a simple tool written in Prolog, for the three-level specification of information systems. The specifications are executable, which allows the designers to run experiments before implementation. The tool includes a version of the WARPLAN plan-generation algorithm.

[MCC43/04]
GARCIA, A.F.; FIGUEIREDO, E.M.; LUCENA, C.J.P.; SANT'ANNA, C.N.; KULESZA, U.; STAA, A.v. Aspectizing design patterns: rewards and pitfalls. 21 p. Eng. Email: arndt@inf.puc-rio.br

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

[MCC44/04]
SACRAMENTO, V. ; ENDLER, M. ; RUBINSZTEJN, H.K. ; LIMA, L. ; GONCALVES, K. ; NASCIMENTO, F. ; BUENO, G.A. MoCA: a middleware for developing collaborative applications for mobile users. 7 p. Eng. E-mail: endler@inf.puc-rio.br 

Abstract: This article presents a middleware architecture for the development and deployment of context-aware collaborative applications for mobile users. The architecture, named Mobile Collaboration Architecture - MoCA comprises client and server APIs, a set of core services for registering applications, monitoring and inferring the execution context of mobile devices, and an object-oriented framework for instantiating and customizing server proxies according to the specific adaptation and context-processing requirements of the applications. MoCA facilitates the development of distributed programs which require access to individual and group context in order to adapt its behavior. The design focused on simplicity, extensibility, scalability, protocol heterogeneity and application customization.

[MCC45/04]
ASSIS, P.S.; SCHWABE, D.; BARBOSA, S.D.J. Meta-modelos para aplicações de hipermídia adaptativa e meta-adaptação.  31 p. Port. E-mail: dschwabe@inf.puc-rio.br

Abstract: The emergence of meta-adaptative systems seems to be a natural evolution process in adaptive systems. Meta-adaptive systems are able to vary the adaptation technique based on various factors. This work analyzes the main aspects related to adaptivity by proposing a reference meta-model for AH Systems. This model is a first step towards the development of a general meta-model intended to be the basis for a meta-adaptive system.

[MCC46/04]
CONDACK, J.F.S.; SCHWABE, D. AgileOOHDM.  78 p. Eng. E-mail: dschwabe@inf.puc-rio.br

Abstract: This technical report describes an initial proposal of AgileOOHDM. It is an adaptation of a traditional software engineering based method, OOHDM, considering the Agile approach, more specifically its reflexes in Extreme Programming. This initial proposal was born from a study involving conceptual models of development process, commented in this work too. It is also intended to contribute with the debate between lightweight versus heavyweight methods as the proposal matures. 

[MCC47/04]
VASCONCELOS, D.R.; HAEUSLER, H.E.; POGGI, M.; BENEVIDES, M.F. Reasoning about games via temporal logic:a model checking approach. 13 p. Eng. E-mail: hermann@inf.puc-rio.br

Abstract: This article shows how to use a subset of ¯rst-order CTL, namely Game Analysis Logic
(GAL), in order to reason about games. A model checking algorithm for GAL is presented. Standard games and solution concepts of Game Theory are described in this context. Taking into account the strong relationship between games and Multi-Agent systems(MAS),the approach described here seems to be completely suitable for MAS formal analysis. Strategic and Coalition games are modelled and formally analyzed as case studies in order to demonstrate this approach.

[MCC48/04]
SILVA, V.T.; NOYA, R.C.; LUCENA, C.J.P. Using the UML 2.0 activity diagram to model agent plans and actions. 10 p. Eng. E-mail: lucena@inf.puc-rio.br

Abstract: The behavior of an agent is defined through the specification of plans and actions. Agents have a set of plans that are selected to be executed according to their goals (and other mental state information). In this paper, we propose the use of UML 2.0 activity diagrams to model agent plans and actions. We consider a plan to be an activity. Both plans and activities are composed of actions and define the execution sequence. By using some features available in the UML 2.0 activity diagrams and defining some new ones, we demonstrate how these diagrams can be applied to model agent plans and actions.

[MCC49/04]
MILIDIÚ, R.L.; MELLO, C.G. Ramdomized Huffman codes. 9 p. Eng. E-mail: milidiu@inf.puc-rio.br

Abstract: Huffman codes have widespread use in information retrieval systems. Besides its compressing power, it also enables the implementation of both indexing and searching schema in the compressed file. In this work, we propose a randomized variant of the Huffman data compression algorithm. The algorithm results in a small loss in coding, decoding and compression performances. It uses homophonic substitution and canonical Huffman codes.

[MCC50/04]

MILIDIÚ, R.L.; MELLO, C.G. Adding security to prefix codes. 18 p. Eng. E-mail: milidiu@inf.puc-rio.br

Abstract: Data compression and ciphering are essential features when digital data is stored or transmitted over insecure channels. Prefix codes are widely used to obtain high performance data compression algorithms. Given any prefix code for the symbols of a plaintext, we propose to add security using a multiple substitution function and a key. We show that breaking the code when we are given the ciphertext, dictionary, frequencies and code lengths is a NP-Complete problem.

[MCC51/04]
COSTA, V.G.; LABER, E.S.; HAEUSLER, E.H. Some remarks on the size of boolean functions. 7 p. Eng. E-mail: laber@inf.puc-rio.br

Abstract: This report discusses some aspects regarding the size of boolean functions, their minterm and maxterm concepts and some graph properties associated to boolean functions and circuits.