FC-DI - Technical Reports
Permanent URI for this collection
The report series seeks scientific reports by members of the Department of Informatics, and include pre-print versions of journal articles, full versions of conference articles, preliminary versions of submissions to conferences and journals, etc.
Collections of articles should be submitted as Workshop Proceedings and not as Technical Report (TR).
Browse
Recent Submissions
- Manual de Instalação do Conector SQL Server 2008 para o intermediário KafkaPublication . F. Silva, Ivo; C. Teixeira, CarlosEste documento pretende auxiliar a instalação do conector SQL Server que permite obter dados do SGBD, convertê-los para JSON e publicá-los num intermediário Kafka usando o consumidor JSON Kafka-REST-Proxy [3]. O conector foi desenvolvido como parte de um sistema de integração de dados de uma multinacional de telecomunicações no âmbito de um projeto de mestrado do Departamento de Informática da Faculdade de Ciências da Universidade de Lisboa.
- Manual de Instalação do Conector MySQL v5.7.6 para o intermediário KafkaPublication . F. Silva, Ivo; C. Teixeira, CarlosEste documento pretende auxiliar a instalação do conector MySQL que permite obter dados a partir do ficheiro de registo de alterações binário, convertê-los para JSON e publicá-los num intermediário Kafka usando o consumidor JSON Kafka-REST-Proxy [13]. O conector foi desenvolvido como parte de um sistema de integração de dados de uma multinacional de telecomunicações no âmbito de um projeto de mestrado do Departamento de Informática da Faculdade de Ciências da Universidade de Lisboa.
- Sistemas de Informação do Registo Oncológico Nacional: situação atual e direções para o futuroPublication . C. Teixeira, CarlosCom o presente documento pretendeu-se identificar as condições para uma uniformização e melhoria dos Registos Oncológicos Regionais (ROR) já existentes em Portugal. A partir de uma análise preliminar dos sistemas de informação atuais, pretendeu-se identificar os principais problemas na obtenção de dados de qualidade, atualizados e relevantes para a previsão e apoio às decisões na área das Doenças Oncológicas, bem como as respetivas ações a desenvolver para a resolução desses mesmos problemas. Os ROR já existentes em Portugal concretizam neste momento um sistema de informação num estado avançado de desenvolvimento, mesmo quando comparado com outras redes em países de referência. Tal deve-se, não só pela relativa facilidade de implementação face à dimensão do país, mas principalmente, às iniciativas pioneiras de arranque desta rede, já com alguns anos, o trabalho consequente no seu melhoramento e, naturalmente, ao processo avançado de informatização nas instituições de saúde. Um dos problemas desde logo identificado, consiste na morosidade na obtenção de relatórios regulares, com estatísticas atualizadas, necessárias aos principais decisores nacionais. Embora já exista há alguns anos uma estrutura capaz de gerar estes relatórios, a mesma requer uma excessiva intervenção de meios humanos e carece de mecanismos uniformes de registo de dados e controlo da qualidade. Dada a maturidade e complexidade dos atuais ROR, não se pretendeu com este estudo analisar (e muito menos propor alterações) a constituição, organização e responsabilidades das instituições e respetivas equipas envolvidas. De igual forma, também não foi objetivo deste estudo, a análise das políticas de proteção de dados atualmente instituída por cada um dos ROR e as respetivas fontes. A versão original deste documento serviu de suporte às decisões legisladas na Portaria n.º 76-B/2014, Diário da República, 1.ª série — N.º 60 — 26 de março de 2014.
- Exploring Key-Value Stores in Multi-Writer Byzantine-Resilient Register EmulationsPublication . Tiago, Oliveira; Ricardo, Mendes; Alysson, BessaniResilient register emulation is a fundamental technique to implement dependable storage and distributed systems. In data-centric models, where servers are modeled as fail-prone base objects, classical solutions achieve resilience by using fault-tolerant quorums of read-write registers or read- modify-write objects. Recently, this model has attracted renewed interest due to the popularity of cloud storage providers (e.g., Amazon S3, Google Storage, Microsoft Azure Storage), that can be modeled as key-value stores (KVSs) and combined for providing secure and dependable multi-cloud storage services. In this paper we present three novel wait-free multi-writer multi-reader regular register emulations on top of Byzantine-prone KVSs. We implemented and evaluated these construc- tions using five existing cloud storage services and show that their performance matches or surpasses existing data-centric register emulations.
- Exploratory Apprenticeship in the Digital Age with AI ToolsPublication . Coelho, Helder; Thompsen Primo, TiagoAlong this decade, advances from Cognitive and Computing Sciences disturbed the college campus, namely via the availability of online courses (MOOCs) and tools, and also the secondary schools with e-learning environments. The technological impacts helped to democratize traditional university education and brought, to everywhere in the world, the teaching of wonderful professors through Internet (YouTube). Yet, the lectures are still alive and the old fashion pedagogy seems in good health, most of the students don´t participate fully in the process of learning. What is missing is a profound shake-up of mentalities, new initiatives to accelerate learning research and the discovery of the resilience of the whole process. Artificial Intelligence and Information and Communication Technologies (ICT´s) in general are sound proposals to open alleys till a happy solution, and in this paper we try to show some ideas about the disruption of the traditional classroom scenario due to the availability of innovative online resources and computers (tablets, smartphones, laptops).
- CINTIL DependencyBank PREMIUM Handbook: Design options for the representation of grammatical dependenciesPublication . Branco, António; Silva, João; Querido, Andreia; Carvalho, Rita
- Separating the WHEAT from the Chaff: An Empirical Design for Geo-Replicated State MachinesPublication . Sousa, João; Bessani, AlyssonState machine replication is a fundamental technique for implementing consistent fault-tolerant services. In the last years, several protocols have been proposed for improving the latency of this technique when the replicas are deployed in geographically-dispersed locations. In this work we evaluate some representative optimizations proposed in the literature by implementing them on an open-source state machine replication library and running the experiments in geographically-diverse PlanetLab nodes and Amazon EC2 regions. Interestingly, our results show that some optimizations widely used for improving the latency of geo-replicated state machines do not bring significant benefits, while others - not yet considered in this context - are very effective. Based on this evaluation, we propose WHEAT, a configurable crash and Byzantine fault-tolerant state machine replication library that uses the optimizations we observed as most effective in reducing SMR latency. WHEAT employs novel voting assignment schemes that, by using few additional spare replicas, enable the system to make progress without needing to access a majority of replicas. Our evaluation shows that a WHEAT system deployed in several Amazon EC2 regions presents a median latency up to 56% lower than a "normal" SMR protocol.
- Type-Based Verification of Message-Passing Parallel ProgramsPublication . Vasconcelos, Vasco T.; Martins, Francisco; Marques, Eduardo R. B.; López, Hugo A.; Santos, César; Yoshida, NobukoWe present a type-based approach to the verification of the communication structure of parallel programs. We model parallel imperative programs where a fixed number of processes, each equipped with its local memory, communicates via a rich diversity of primitives, including point-to-point messages, broadcast, reduce, and array scatter and gather. The paper proposes a decidable dependent type system incorporating abstractions for the various communication operators, a form of primitive recursion, and collective choice. Term types may refer to values in the programming language, including integer, floating point and arrays. The paper further introduces a core programming language for imperative, message-passing, parallel programming, and shows that the language enjoys progress.
- Protocol-based verification of MPI programsPublication . Marques, Eduardo R. B.; Martins, Francisco; Vasconcelos, Vasco T.; Santos, César; Ng, Nicholas; Yoshida, NobukoWe present a methodology for the verification of Message Passing Interface (MPI) programs written in C. The aim is to statically verify programs against protocol specifications, enforcing properties such as fidelity and absence of deadlocks. We make use of a protocol language based on a dependent type system for message-passing parallel programs. % For the verification of a program against a given protocol, the protocol is first translated into a representation read by VCC, a software verifier for the~C programming language. % The program is then annotated with specific assertions that, together with a pre-established set of contracts for MPI primitives, guide the verifier to either prove or disprove the program's conformance to the protocol. We successfully verified MPI programs in a running time that is independent of the number of processes or other input parameters. This contrasts with other techniques, notably model checking and symbolic execution, that suffer from the state-explosion problem. We experimentally evaluated our approach against TASS, a state-of-the-art tool for MPI program verification.
- Information Flow within Relational Multi-context SystemsPublication . Gaspar, Graça; Nunes, Isabel; Cruz-Filipe, LuísMulti-context systems (MCSs) are an important framework for heterogeneous combinations of systems within the Semantic Web. In this paper, we propose generic constructions to achieve specific forms of interaction in a principled way, and systematize some useful techniques to work with ontologies within an MCS. All these mechanisms are presented in the form of general-purpose design patterns. Their study also suggests new ways in which this framework can be further extended.