Detalhes do Documento

Type-safe two-level data transformation

Autor(es): Cunha, Alcino cv logo 1 ; Oliveira, José Nuno Fonseca cv logo 2 ; Visser, J. cv logo 3

Data: 2006

Identificador Persistente: http://hdl.handle.net/1822/5618

Origem: RepositóriUM - Universidade do Minho

Assunto(s): Two-level transformation; Program calculation; Refinement calculus; Strategic term rewriting; Generalized abstract datatypes; Generic programming; Coupled transformation; Format evolution; Data mappings


Descrição
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. Examples of two-level data transformations include XML schema evolution coupled with document migration, and data mappings used for interoperability and persistence. We provide a formal treatment of two-level data transformations that is type-safe in the sense that the well-formedness of the value-level transformations with respect to the type-level transformation is guarded by a strong type system. We rely on various techniques for generic functional programming to implement the formalization in Haskell. The formalization addresses various two-level transformation scenarios, covering fully automated as well as user-driven transformations, and allowing transformations that are information-preserving or not. In each case, two-level transformations are disciplined by one-step transformation rules and type-level transformations induce value-level transformations. We demonstrate an example hierarchical-relational mapping and subsequent migration of relational data induced by hierarchical format evolution.
Tipo de Documento Documento de conferência
Idioma Inglês
delicious logo  facebook logo  linkedin logo  twitter logo 
degois logo
mendeley logo


    Financiadores do RCAAP

Fundação para a Ciência e a Tecnologia Universidade do Minho   Governo Português Ministério da Educação e Ciência Programa Operacional da Sociedade do Conhecimento União Europeia