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 Alcino Cunha

2007

Coupled schema transformation and data conversion for XML and SQL

Autores
Berdaguer, P; Cunha, A; Pacheco, H; Visser, J;

Publicação
Practical Aspects of Declarative Languages

Abstract
A two-level data transformation consists of a type-level transformation of a data format coupled with value level transformations of data instances corresponding to that format. We have implemented a system for performing two-level transformations on XML schemas and their corresponding documents, and on SQL schemas and the databases that they describe. The core of the system consists of a combinator library for composing type-changing rewrite rules that preserve structural information and referential constraints. We discuss the implementation of the system's core library, and of its SQL and XML front-ends in the functional language Haskell. We show how the system can be used to tackle various two-level transformation scenarios, such as XML schema evolution coupled with document migration, and hierarchical-relational data mappings that convert between XML documents and SQL databases.

2009

Mapping between Alloy specifications and database implementations

Autores
Cunha, A; Pacheco, H;

Publicação
SEFM 2009: SEVENTH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND FORMAL METHODS

Abstract
The emergence of lightweight formal methods tools such as Alloy improves the software design process, by encouraging developers to model and verify their systems before engaging in hideous implementation details. However, an abstract Alloy specification is far from an actual implementation, and manually refining the former into the latter is unfortunately a non-trivial task. This paper identifies a subset of the Alloy language that is equivalent to a relational database schema with the most conventional integrity constraints, namely functional and inclusion dependencies. This semantic correspondence enables both the automatic translation of Alloy specifications into relational database schemas and the reengineering of legacy databases into Alloy. The paper also discusses how to derive an object-oriented application layer to serve as interface to the underlying database.

2010

Generic Point-free Lenses

Autores
Pacheco, H; Cunha, A;

Publicação
MATHEMATICS OF PROGRAM CONSTRUCTION, PROCEEDINGS

Abstract
Lenses are one the most popular approaches to define bidirectional transformations between data models. A bidirectional transformation with view-update, denoted a lens, encompasses the definition of a forward transformation projecting concrete models into abstract views, together with a backward transformation instructing how to translate an abstract view to an update over concrete models. In this paper we show that most of the standard point-free combinators can be lifted to lenses with suitable backward semantics, allowing us to use the point-free style to define powerful bidirectional transformations by composition. We also demonstrate how to define generic lenses over arbitrary inductive data types by lifting standard recursion patterns, like folds or unfolds. To exemplify the power of this approach, we "lensify" some standard functions over naturals and lists, which are tricky to define directly "by-hand" using explicit recursion.

2011

Transformation of structure-shy programs with application to XPath queries and strategic functions

Autores
Cunha, A; Visser, J;

Publicação
SCIENCE OF COMPUTER PROGRAMMING

Abstract
Various programming languages allow the construction of structure-shy programs. Such programs are defined generically for many different datatypes and only specify specific behavior for a few relevant subtypes. Typical examples are XML query languages that allow selection of subdocuments without exhaustively specifying intermediate element tags. Other examples are languages and libraries for polytypic or strategic functional programming and for adaptive object-oriented programming. In this paper, we present an algebraic approach to transformation of declarative structure-shy programs, in particular for strategic functions and XML queries. We formulate a rich set of algebraic laws, not just for transformation of structure-shy programs, but also for their conversion into structure-sensitive programs and vice versa. We show how subsets of these laws can be used to construct effective rewrite systems for specialization, generalization, and optimization of structure-shy programs. We present a type-safe encoding of these rewrite systems in Haskell which itself uses strategic functional programming techniques. We discuss the application of these rewrite systems for XPath query optimization and for query migration in the context of schema evolution.

2012

Automatic Unbounded Verification of Alloy Specifications with Prover9

Autores
Macedo, Nuno; Cunha, Alcino;

Publicação
CoRR

Abstract

1999

Integrating agent based information outsourcing techniques on data warehousing systems

Autores
Belo, O; Cunha, A;

Publicação
Proceedings of the IEEE International Conference on Systems, Man and Cybernetics

Abstract
In the last few years, information outsourcing has been a current activity on large companies. Information as become a regular trading commodity. It is a well known fact that direct mailing companies acquire databases, or other kind of information sources, from other companies with names and addresses of potential clients. Also, enterprise managers are frequently concerned with the current status and welfare of their clients and suppliers. Commonly, they use to appeal to specialized external information providers which may, under certain conditions, provide them specific profiles about such potential commercial partners. On companies with effective means of information processing, it is very probable that such needs of information may be directly satisfied with data stored and managed in the companies' data warehouses. In this paper we propose a protocol based on economic principles that enables the automatic negotiation of information transference between data warehouse systems of different companies. The protocol was designed to be used by a community of intelligent agents responsible to ensure and support all the operational tasks related to information outsourcing among companies.

  • 11
  • 15