@conference {CunhaOliveiraVisser:06a, title = {Type-safe Two-level Data Transformation}, booktitle = {Proceedings of 14th International Symposium on Formal Methods - FM}, series = {LNCS}, volume = {4085}, year = {2006}, month = {August }, pages = {284{\textendash}299}, publisher = {Springer-Verlag}, organization = {Springer-Verlag}, address = {Hamilton, Ontario Canada}, 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. 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.

}, attachments = {https://haslab.uminho.pt/sites/default/files/alcino/files/10.1.1.106.738_1.pdf}, author = {Alcino Cunha and Jos{\'e} Nuno Oliveira and Joost Visser}, editor = {J. Misra and T. Nipkow and E. Sekerinski} }