ScienceDirect® Home Skip Main Navigation Links
You have guest access to ScienceDirect. Find out more.
 
Home
Browse
My Settings
Alerts
Help
 Quick Search
 Search tips (Opens new window)
    Clear all fields    
Electronic Notes in Theoretical Computer Science
Volume 200, Issue 3, 23 May 2008, Pages 3-23
Proceedings of the 3rd International Workshop on Automated Specification and Verification of Web Systems (WWV 2007)
 
Font Size: Decrease Font Size  Increase Font Size
 Abstract - selected
PDF (450 K)

  E-mail Article   
  Add to my Quick Links   
Bookmark and share in 2collab (opens in new window)
Request permission to reuse this article
  Cited By in Scopus (0)
 
 
 
Related Articles in ScienceDirect
View More Related Articles
 
View Record in Scopus
 
doi:10.1016/j.entcs.2008.04.090    How to Cite or Link Using DOI (Opens New Window)
Copyright © 2008 Elsevier B.V. All rights reserved.

Coupled Transformation of Schemas, Documents, Queries, and Constraints1

Joost Vissera, E-mail The Corresponding Author

aSoftware Improvement Group & CWI, Amsterdam, The Netherlands

Available online 24 May 2008.

Abstract

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, queries embedded in the application code and any declared referential constraints must be adapted to take the schema changes into account. As another example, in XML-to-relational data mapping, a hierarchical XML Schema is mapped to a relational SQL schema with appropriate referential constraints, and the XML documents and queries are converted into relational data and relational queries. 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 paper, we provide an overview of the challenges met by the 2LT project and we give a sketch of the solutions offered.

Keywords: Coupled transformation; two-level transformation; model transformation; data refinement; strategic term rewriting; format evolution; data mappings; point-free program transformation; query migration; constraint propagation

References

T. Alves, P.F. Silva, and Joost Visser. Contraint-aware schema transformation. Draft, 2008.

T.L. Alves, P.F. Silva, J. Visser and J.N. Oliveira, Strategic term rewriting and its application to a VDM-SL to SQL conversion. In: J. Fitzgerald, I.J. Hayes and A. Tarlecki, Editors FM, LNCS volume 3582, Springer (2005), pp. 399–414. View Record in Scopus | Cited By in Scopus (4)

S. Amer-Yahia, F. Du and J. Freire, A comprehensive solution to the XML-to-relational mapping problem, WIDM '04: Proc. 6th annual ACM Int workshop on Web Information and Data Management, ACM Press (2004), pp. 31–38.

F. Atanassow and J. Jeuring. Inferring type isomorphisms generically. In Mathematics of Program Construction, 7th International Conference, MPC 2004, Stirling, Scotland, UK, July 12–14, 2004, Proceedings, volume 3125, pages 32–53, 2004.

J.W. Backus, Can programming be liberated from the von Neumann style? A functional style and its algebra of programs, Commun. ACM 21 (8) (1978), pp. 613–641. View Record in Scopus | Cited By in Scopus (114)

D. Barbosa, J. Freire and A.O. Mendelzon, Designing information-preserving mapping schemes for XML, VLDB'05: Proc. 31st Int. Conf. Very Large Data Bases, VLDB Endowment (2005), pp. 109–120.

P. Berdaguer, A. Cunha, H. Pacheco and J. Visser, Coupled schema transformation and data conversion for XML and SQL. In: Michael Hanus, Editor PADL, LNCS volume 4354, Springer (2007), pp. 290–304.

R. Bird, Introduction to Functional Programming using Haskell, International Series in Computer Science, Prentice Hall (1998).

P. Bohannon et al. LegoDB: Customizing relational storage for XML documents. In Proc. 28th Int. Conf. on Very Large Data Bases, pages 1091–1094, 2002.

P. Bohannon, J. Freire, P. Roy and J. Siméon, From XML schema to relations: A cost-based approach to XML storage, ICDE '02: Proc. 18th Int. Conf. on Data Engineering, IEEE Computer Society (2002), p. 64.

E. Bouwers and R. Vis. Multidimensional software monitoring applied to erp. In Christos Makris and Joost Visser, editors, Proceedings of the Second International Workshop on Software Quality and Maintainability. To appear, 2008.

Y. Chen et al. Constraints preserving schema mapping from XML to relations. In Proc. 5th Int. Workshop Web and Databases (WebDB), pages 7–12, 2002.

A. Cleve and J.-L. Hainaut. Co-transformations in database applications evolution. In R. Lämmel, J. Saraiva, and J. Visser, editors, Generative and Transformational Techniques in Software Engineering, volume 4143 of LNCS. Springer, 2006. To appear.

A. Cleve, J. Henrard and J.-L. Hainaut, Co-transformations in information system reengineering, Electr. Notes Theor. Comput. Sci. 137 (3) (2005), pp. 5–15. Abstract | PDF (255 K) | View Record in Scopus | Cited By in Scopus (5)

A. Cunha, J.N. Oliveira and J. Visser, Type-safe two-level data transformation. In: J. Misra et al., Editors, Proc. Formal Methods 14th Int. Symp. Formal Methods Europe, LNCS volume 4085, Springer (2006), pp. 284–299.

A. Cunha and J. Sousa Pinto, Point-free program transformation, Fundam. Inform. 66 (4) (2005), pp. 315–352. View Record in Scopus | Cited By in Scopus (2)

A. Cunha, J. Sousa Pinto and J. Proença, A framework for point-free program transformation. In: A. Butterfield, C. Grelck and F. Huch, Editors, Implementation and Application of Functional Languages 17th Int. Workshop, IFL 2005, LNCS volume 4015, Springer (2006), pp. 1–18 Revised Selected Papers.

A. Cunha and J. Visser, Strongly typed rewriting for coupled software transformation, Proc. 7th Int. Workshop on Rule-Based Programming (RULE 2006), ENTCS 174 (1) (2007), pp. 17–34. Abstract | PDF (356 K) | View Record in Scopus | Cited By in Scopus (1)

A. Cunha and J. Visser, Transformation of structure-shy programs: applied to XPath queries and strategic functions. In: G. Ramalingam and Eelco Visser, Editors PEPM, ACM (2007), pp. 11–20. View Record in Scopus | Cited By in Scopus (0)

S.B. Davidson et al., Propagating XML constraints to relations, Proc. 19th Int. Conf. on Data Engineering, IEEE Computer Society (2003), p. 543.

A. van Deursen and T. Kuipers, Source-based software risk assessment, ICSM '03: Proc. Int. Conference on Software Maintenance, IEEE Computer Society, Washington, DC, USA (2003), p. 385.

J.N. Foster et al., Combinators for bi-directional tree transformations: a linguistic approach to the view update problem, POPL '05: Proc. 32nd ACM symp. on Principles of Programming Languages, ACM Press (2005), pp. 233–246.

J. Gibbons, Calculating functional programs. In: R. Backhouse et al., Editors, Algebraic and Coalgebraic Methods in the Mathematics of Program Construction, LNCS volume 2297, Springer (2002), pp. 148–203 chapter 5.

R. Hinze, A. Löh and B.C.d.S. Oliveira, “Scrap your boilerplate” reloaded, Proc. 8th Int. Symp. on Functional and Logic Programming, Lecture Notes in Computer Science volume 3945, Springer (2006), pp. 13–29.

Z. Hu, T. Yokoyama and M. Takeichi, Program optimizations and transformations in calculational form. In: R. Lämmel, J. Saraiva and J. Visser, Editors, Generative and Transformational Techniques in Software Engineering, LNCS volume 4143, Springer (2006).

T. Kuipers and J. Visser, A tool-based methodology for software portfolio monitoring. In: Mario Piattini and Manuel Serrano, Editors, Proceedings of the 1st International Workshop on Software Audit and Metrics SAM 2004, In conjunction with ICEIS 2004, Porto, Portugal, April 2004, INSTICC Press (2004), pp. 118–128.

T. Kuipers, J. Visser, and G. de Vries. Monitoring the quality of outsourced software. In J. van Hillegersberg, F. Harmsen, C. Amrit, E. Geisberger, P. Keil, and M. Kuhrmann, editors, Proceedings of the International Workshop on Tools for Managing Globally Distributed Software Development (TOMAG 2007), Enschede, The Netherlands, 2007. Center for Telematics and Information Technology (CTIT).

R. Lämmel. Coupled Software Transformations (Extended Abstract). In First International Workshop on Software Evolution Transformations, November 2004.

R. Lämmel, Transformations everywhere, Sci. Comput. Program. 52 (2004), pp. 1–8 Guest editor's introduction to special issue on program transformation. Abstract | Article | PDF (92 K) | View Record in Scopus | Cited By in Scopus (6)

R. Lämmel and W. Lohmann, Format Evolution, Proc. 7th Int. Conf. on Reverse Engineering for Information Systems, books@ocg.at volume 155, OCG (2001), pp. 113–134.

R. Lämmel and E. Meijer, Mappings make data processing go 'round. In: R. Lämmel, J. Saraiva and J. Visser, Editors, Generative and Transformational Techniques in Software Engineering, LNCS volume 4143, Springer (2006).

R. Lämmel and S. Peyton Jones, Scrap your boilerplate: a practical design pattern for generic programming, Proc. ACM SIGPLAN Workshop on Types in Language Design and Implementation (TLDI 2003), ACM SIGPLAN Notices 38 (3) (March 2003), pp. 26–37.

R. Lämmel, E. Visser and J. Visser, The Essence of Strategic Programming Available at http://www.cwi.nl/~ralf (October 8 2003).

R. Lämmel and J. Visser. Strategic polymorphism requires just two combinators! Technical Report cs.PL/0212048, arXiv, December 2002. An early version was published in the informal preproceedings IFL 2002.

R. Lämmel and J. Visser, Typed Combinators for Generic Traversal, Proc. Practical Aspects of Declarative Programming PADL 2002, LNCS volume 2257, Springer (January 2002), pp. 137–154.

D. Lee and W.W. Chu, Cpi: Constraints-preserving inlining algorithm for mapping xml dtd to relational schema, Data Knowl. Eng. 39 (1) (2001), pp. 3–25. Abstract | Article | PDF (257 K) | View Record in Scopus | Cited By in Scopus (19)

O. de Moor and G. Sittampalam, Generic program transformation. In: D. Swierstra, P. Henriques and J. Oliveira, Editors, Proc. 3rd Int. Summer School on Advanced Functional Programming, LNCS volume 1608, Springer (1999), pp. 116–149.

C. Morgan and P.H.B. Gardiner, Data refinement by calculation, Acta Informatica 27 (1990), pp. 481–503. View Record in Scopus | Cited By in Scopus (24)

J.N. Oliveira, A reification calculus for model-oriented software specification, Formal Aspects of Computing 2 (1) (April 1990), pp. 1–23.

J.N. Oliveira, Software reification using the SETS calculus. In: T. Denvir et al., Editors, Proc. of the BCS FACS 5th Refinement Workshop, Theory and Practice of Formal Software Development, Springer (1992), pp. 140–171.

J.N. Oliveira. ‘Fractal’ Types: an Attempt to Generalize Hash Table Calculation. In Workshop on Generic Programming (WGP'98), Marstrand, Sweden, June 1998.

J.N. Oliveira, Data transformation by calculation. In: R. Lämmel, J. Saraiva and J. Visser, Editors, Generative and Transformational Techniques in Software Engineering, LNCS volume 4143, Springer (2008).

S. Peyton Jones, G. Washburn, and S. Weirich. Wobbly types: type inference for generalised algebraic data types. Technical Report MS-CIS-05-26, Univ. of Pennsylvania, July 2004.

E. Visser, Stratego: A language for program transformation based on rewriting strategies. System description of Stratego 0.5. In: A. Middeldorp, Editor, Rewriting Techniques and Applications, LNCS volume 2051, Springer (May 2001), pp. 357–361.

E. Visser and Z. Benaissa, A core language for rewriting, Electr. Notes Theor. Comput. Sci. 15 (1998).

P. Wadler, Deforestation: Transforming programs to eliminate trees, Proc. European Symposium on Programming, LNCS volume 300, Springer (1988), pp. 344–358.

1This paper is the extended abstract of an invited talk of the same title.


Electronic Notes in Theoretical Computer Science
Volume 200, Issue 3, 23 May 2008, Pages 3-23
Proceedings of the 3rd International Workshop on Automated Specification and Verification of Web Systems (WWV 2007)
 
Home
Browse
My Settings
Alerts
Help
Elsevier.com (Opens new window)
About ScienceDirect  |  Contact Us  |  Information for Advertisers  |  Terms & Conditions  |  Privacy Policy
Copyright © 2008 Elsevier B.V. All rights reserved. ScienceDirect® is a registered trademark of Elsevier B.V.