@conference {PachecoCunha:12a,
	title = {Multifocal: A Strategic Bidirectional Transformation Language for XML Schemas},
	booktitle = {Proceedings of the 5th International Conference on Model Transformation - ICMT},
	series = {LNCS},
	volume = {7307},
	year = {2012},
	month = {May},
	pages = {89{\textendash}104},
	publisher = {Springer-Verlag},
	organization = {Springer-Verlag},
	address = {Prague, Czech Republic},
	abstract = {<p>Lenses are one of the most popular approaches to define bidirectional transformations between data models. However, writing a lens transformation typically implies describing the concrete steps that convert values in a source schema to values in a target schema. In contrast, many XML-based languages allow writing structure-shy programs that manipulate only specific parts of XML documents without having to specify the behavior for the remaining structure. In this paper, we propose a structure-shy bidirectional two-level transformation language for XML Schemas, that describes generic type-level transformations over schema representations coupled with value-level bidirectional lenses for document migration. When applying these two-level programs to particular schemas, we employ an existing algebraic rewrite system to optimize the automatically-generated lens transformations, and compile them into Haskell bidirectional executables. We discuss particular examples involving the generic evolution of recursive XML Schemas, and compare their performance gains over non-optimized definitions.</p>
},
	attachments = {https://haslab.uminho.pt/sites/default/files/alcino/files/icmt12.pdf},
	author = {Alcino Cunha and Hugo Pacheco}
}