Coupled transformation of data models, instances, queries, and constraints (part II)

Coupled transformation occurs when multiple software artifacts must be transformed in such a way that they remain consistent with each other. For instance, when a database schema is adapted in the context of system maintenance, the persistent data residing in the system's database needs to be migrated to conform to the adapted schema. Also, the queries embedded in the application code must be adapted to take the schema changes into account. This scenario is an example of "format evolution", a form of coupled transformation where a data structure is transformed in small, infrequent steps and the corresponding data instances and queries must be adapted accordingly. Data mappings are another example of coupled transformations. In an XML-to-relational mapping, for example, a hierarchical XML Schema is mapped to a relational SQL schema and the XML documents are converted into relational data and vice versa. Data mappings are not evolutionary, but rather involve fully automatic translation of entire data structures, carried out during system operation. The 2LT project is aimed at providing a formal basis for coupled transformation. This formal basis is found in data refinement theory, point-free program calculation, and strategic term rewriting. We formalize the coupled transformation of a data type by an algebra of information-preserving data refinement steps, each witnessed by appropriate data conversion functions. Refinement steps are modeled by so-called two-level rewrite rules on type expressions that synthesize conversion functions between redex and reduct while rewriting. Strategy combinators are used to composed two-level rewrite rules into complete rewrite systems. Point-free program calculation is applied to optimized synthesize conversion function, to migrate queries, and to normalize data type constraints. In this talk, an overview will be given over the 2LT project, including the tool support that was developed to support coupled transformation of XML and SQL.  

hosted by