Cookies
O website necessita de alguns cookies e outros recursos semelhantes para funcionar. Caso o permita, o INESC TEC irá utilizar cookies para recolher dados sobre as suas visitas, contribuindo, assim, para estatísticas agregadas que permitem melhorar o nosso serviço. Ver mais
Aceitar Rejeitar
  • Menu
Publicações

Publicações por CSE

2014

Writing bidirectional model transformations as intentional updates

Autores
Zan, T; Pacheco, H; Hu, Z;

Publicação
36th International Conference on Software Engineering, ICSE '14, Companion Proceedings, Hyderabad, India, May 31 - June 07, 2014

Abstract
Model synchronization plays an important role in modeldriven software development. Bidirectional model transformation approaches provide techniques for developers to specify the bidirectional relationship between source and target models, while keeping related models synchronized for free. Since models of interest are usually not in a one-to-one correspondence, this synchronization process is inherently ambiguous. Nevertheless, existing bidirectional model transformation tools focus mainly on enforcing consistency and provide developers only limited control over how models are synchronized, solving the latent ambiguity via default strategies whose behavior is unclear to developers. In this paper, we propose a novel approach in which developers write update programs that succinctly describe how a target model can be used to update a source model, such that the bidirectional behavior is fully determined. The new approach mitigates the unpredictability of existing solutions, by enabling a finer and more transparent control of what a bidirectional transformation does, and suggests a research direction for building more robust bidirectional model transformation tools. Copyright © 2014 ACM.

2014

On the Support of Versioning in Distributed Key-Value Stores

Autores
Felber, P; Pasin, M; Riviere, E; Schiavoni, V; Sutra, P; Coelho, F; Oliveira, R; Matos, M; Vilaca, R;

Publicação
2014 IEEE 33RD INTERNATIONAL SYMPOSIUM ON RELIABLE DISTRIBUTED SYSTEMS (SRDS)

Abstract
The ability to access and query data stored in multiple versions is an important asset for many applications, such as Web graph analysis, collaborative editing platforms, data forensics, or correlation mining. The storage and retrieval of versioned data requires a specific API and support from the storage layer. The choice of the data structures used to maintain versioned data has a fundamental impact on the performance of insertions and queries. The appropriate data structure also depends on the nature of the versioned data and the nature of the access patterns. In this paper we study the design and implementation space for providing versioning support on top of a distributed key-value store (KVS). We define an API for versioned data access supporting multiple writers and show that a plain KVS does not offer the necessary synchronization power for implementing this API. We leverage the support for listeners at the KVS level and propose a general construction for implementing arbitrary types of data structures for storing and querying versioned data. We explore the design space of versioned data storage ranging from a flat data structure to a distributed sharded index. The resulting system, ALEPH, is implemented on top of an industrial-grade open-source KVS, Infinispan. Our evaluation, based on real-world Wikipedia access logs, studies the performance of each versioning mechanisms in terms of load balancing, latency and storage overhead in the context of different access scenarios.

2014

pH1: A Transactional Middleware for NoSQL

Autores
Coelho, F; Cruz, F; Vilaca, R; Pereira, J; Oliveira, R;

Publicação
2014 IEEE 33RD INTERNATIONAL SYMPOSIUM ON RELIABLE DISTRIBUTED SYSTEMS (SRDS)

Abstract
NoSQL databases opt not to offer important abstractions traditionally found in relational databases in order to achieve high levels of scalability and availability: transactional guarantees and strong data consistency. In this work we propose pH1, a generic middleware layer over NoSQL databases that offers transactional guarantees with Snapshot Isolation. This is achieved in a non-intrusive manner, requiring no modifications to servers and no native support for multiple versions. Instead, the transactional context is achieved by means of a multiversion distributed cache and an external transaction certifier, exposed by extending the client's interface with transaction bracketing primitives. We validate and evaluate pH1 with Apache Cassandra and Hyperdex. First, using the YCSB benchmark, we show that the cost of providing ACID guarantees to these NoSQL databases amounts to 11% decrease in throughput. Moreover, using the transaction intensive TPC-C workload, pH1 presented an impact of 22% decrease in throughput. This contrasts with OMID, a previous proposal that takes advantage of HBase's support for multiple versions, with a throughput penalty of 76% in the same conditions

2014

Validity Checking of Putback Transformations in Bidirectional Programming

Autores
Hu, Z; Pacheco, H; Fischer, S;

Publicação
FM 2014: Formal Methods - 19th International Symposium, Singapore, May 12-16, 2014. Proceedings

Abstract

2014

BiFluX: A Bidirectional Functional Update Language for XML

Autores
Pacheco, H; Zan, T; Hu, Z;

Publicação
Proceedings of the 16th International Symposium on Principles and Practice of Declarative Programming, Kent, Canterbury, United Kingdom, September 8-10, 2014

Abstract
Different XML formats are widely used for data exchange and processing, being often necessary to mutually convert between them. Standard XML transformation languages, like XSLT or XQuery, are unsatisfactory for this purpose since they require writing a separate transformation for each direction. Existing bidirectional transformation languages mean to cover this gap, by allowing programmers to write a single program that denotes both transformations. However, they often 1) induce a more cumbersome programming style than their traditionally unidirectional relatives, to establish the link between source and target formats, and 2) offer limited configurability, by making implicit assumptions about how modifications to both formats should be translated that may not be easy to predict. This paper proposes a bidirectional XML update language called BIFLUX (BIdirectional FunctionaL Updates for XML), inspired by the FLUX XML update language. Our language adopts a novel bidirectional programming by update paradigm, where a program succinctly and precisely describes how to update a source document with a target document, in an intuitive way, such that there is a unique "inverse" source query for each update program. BIFLUX extends FLUX with bidirectional actions that describe the connection between source and target formats. We introduce a core BIFLUX language, with a clear and well-behaved bidirectional semantics and a decidable static type system based on regular expression types.

2014

Distributed database system of the New Atlas of Amphibians and Reptiles in Europe: the NA2RE project

Autores
Sillero, N; Oliveira, MA; Sousa, P; Sousa, F; Goncalves Seco, L;

Publicação
AMPHIBIA-REPTILIA

Abstract
The Societas Europaea Herpetologica (SEH) decided in 2006 through its Mapping Committee to implement the New Atlas of Amphibians and Reptiles of Europe (NA2RE: http://na2re.ismai.pt) as a chorological database system. Initially designed to be a system of distributed databases, NA2RE quickly evolved to a Spatial Data Infrastructure, a system of geographically distributed systems. Each individual system has a national focus and is implemented in an online network, accessible through standard interfaces, thus allowing for interoperable communication and sharing of spatial-temporal data amongst one another. A Web interface facilitates the access of the user to all participating data systems as if it were one single virtual integrated data-source. Upon user request, the Web interface searches all distributed data-sources for the requested data, integrating the answers in an always updated and interactive map. This infrastructure implements methods for fast actualisation of national observation records, as well as for the use of a common taxonomy and systematics. Using this approach, data duplication is avoided, national systems are maintained in their own countries, and national organisations are responsible for their own data curation and management. The database could be built with different representation levels and resolution levels of data, and filtered according to species conservation matters. We present the first prototype of NA2RE, composed of the last data compilation performed by the SEH (Sillero et al., 2014). This system is implemented using only open source software: PostgreSQL database with PostGIS extension, Geoserver, and OpenLayers.

  • 190
  • 220