<?xml version="1.0" encoding="UTF-8"?><xml><records><record><source-app name="Biblio" version="6.x">Drupal-Biblio</source-app><ref-type>47</ref-type><contributors><authors><author><style face="normal" font="default" size="100%">Alcino Cunha</style></author><author><style face="normal" font="default" size="100%">José Nuno Oliveira</style></author><author><style face="normal" font="default" size="100%">Joost Visser</style></author></authors><secondary-authors><author><style face="normal" font="default" size="100%">J. Misra</style></author><author><style face="normal" font="default" size="100%">T. Nipkow</style></author><author><style face="normal" font="default" size="100%">E. Sekerinski</style></author></secondary-authors></contributors><titles><title><style face="normal" font="default" size="100%">Type-safe Two-level Data Transformation</style></title><secondary-title><style face="normal" font="default" size="100%">Proceedings of 14th International Symposium on Formal Methods - FM</style></secondary-title><tertiary-title><style face="normal" font="default" size="100%">LNCS</style></tertiary-title></titles><dates><year><style  face="normal" font="default" size="100%">2006</style></year><pub-dates><date><style  face="normal" font="default" size="100%">August </style></date></pub-dates></dates><urls><related-urls><url><style face="normal" font="default" size="100%">https://haslab.uminho.pt/sites/default/files/alcino/files/10.1.1.106.738_1.pdf</style></url></related-urls></urls><publisher><style face="normal" font="default" size="100%">Springer-Verlag</style></publisher><pub-location><style face="normal" font="default" size="100%">Hamilton, Ontario Canada</style></pub-location><volume><style face="normal" font="default" size="100%">4085</style></volume><pages><style face="normal" font="default" size="100%">284–299</style></pages><language><style face="normal" font="default" size="100%">eng</style></language><abstract><style face="normal" font="default" size="100%">&lt;p&gt;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.&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;/p&gt;
</style></abstract></record></records></xml>