Mappings Make Data Processing Go 'Round

Whatever programming paradigm for data processing we choose, data has the tendency to live on the other side or to eventually end up there. The major paradigms for data processing are Cobol, object, relational and XML; each paradigm offers many facets and many versions; each paradigm provides specific forms of data models (object models, relational schemas, XML schemas, etc.). Each data-processing application depends on a horde of interrelated data models and artifacts that are derived from data models (such as data-access layers). Such conglomerations of data models are challenging due to paradigmatic impedance mismatches, performance requirements, loose-coupling requirements, and others. This ubiquitous problem calls for a good understanding of techniques for mappings between data models, actual data, and operations on data. This tutorial lists and discusses mapping scenarios, mapping techniques, impedance mismatches and research challenges regarding mappings.

[1]  Georg Gottlob,et al.  Properties and update semantics of consistent views , 1988, TODS.

[2]  Sudha Ram,et al.  Information systems interoperability: What lies beneath? , 2004, TOIS.

[3]  E. F. CODD,et al.  A relational model of data for large shared data banks , 1970, CACM.

[4]  Barbara Lerner,et al.  A model for compound type changes encountered in schema evolution , 2000, TODS.

[5]  LämmelRalf,et al.  Toward an engineering discipline for grammarware , 2005 .

[6]  Matthias Felleisen,et al.  Contracts for higher-order functions , 2002, ICFP '02.

[7]  Gianna Reggio,et al.  Consistency Problems in UML-Based Software Development , 2004, UML Satellite Activities.

[8]  Ian J. Hayes,et al.  FM 2005: Formal Methods, International Symposium of Formal Methods Europe, Newcastle, UK, July 18-22, 2005, Proceedings , 2005, FM.

[9]  Marko C. J. D. van Eekelen,et al.  Generic Graphical User Interfaces , 2003, IFL.

[10]  Robert Cartwright,et al.  A practical soft type system for scheme , 1997, TOPL.

[11]  Ralf Lämmel,et al.  Reflective designs , 2005, IEE Proc. Softw..

[12]  Günter Riedewald,et al.  Semantics-preserving migration of semantic rules after left recursion removal in attribute grammars , 2022 .

[13]  Peter Gorm Larsen,et al.  Validated Designs for Object-oriented Systems , 2004 .

[14]  Stephen Travis Pope,et al.  A cookbook for using the model-view controller user interface paradigm in Smalltalk-80 , 1988 .

[15]  William F. Opdyke,et al.  Refactoring object-oriented frameworks , 1992 .

[16]  James Noble,et al.  Explicit Relationships in Object Oriented Development , 1995 .

[17]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[18]  Gavin M. Bierman,et al.  The Essence of Data Access in Comega , 2005, European Conference on Object-Oriented Programming.

[19]  James Noble Basic Relationship Patterns , 1997 .

[20]  Simon L. Peyton Jones,et al.  Scrap your boilerplate: a practical design pattern for generic programming , 2003, TLDI '03.

[21]  Berthold Reinwald,et al.  XML programming with SQL/XML and XQuery , 2002, IBM Syst. J..

[22]  Jean-Luc Hainaut,et al.  Schema Transformation Techniques for Database Reverse Engineering , 1993, ER.

[23]  Simon L. Peyton Jones,et al.  Scrap more boilerplate: reflection, zips, and generalised casts , 2004, ICFP '04.

[24]  W GrayRobert,et al.  Eli: a complete, flexible compiler construction system , 1992 .

[25]  Kai-Uwe Sattler,et al.  Concept-based querying in mediator systems , 2005, The VLDB Journal.

[26]  Ralf Lämmel,et al.  Parse-tree annotations meet re-engineering concerns , 2003, Proceedings Third IEEE International Workshop on Source Code Analysis and Manipulation.

[27]  Andrew P. Black ECOOP 2005 - Object-Oriented Programming, 19th European Conference, Glasgow, UK, July 25-29, 2005, Proceedings , 2005, ECOOP.

[28]  Ralf Lämmel,et al.  Towards an engineering discipline for GRAMMARWARE Draft as of August 17 , 2003 , 2003 .

[29]  Jan Bosch Generative and Component-Based Software Engineering , 2001, Lecture Notes in Computer Science.

[30]  Bran Selic,et al.  The Pragmatics of Model-Driven Development , 2003, IEEE Softw..

[31]  Erik,et al.  Programming with Circles , Triangles and Rectangles , 2003 .

[32]  Mark N. Wegman,et al.  Efficiently computing static single assignment form and the control dependence graph , 1991, TOPL.

[33]  José Nuno Oliveira,et al.  Strategic Term Rewriting and Its Application to a VDMSL to SQL Conversion , 2005, FM.

[34]  James M. Purtilo,et al.  Parse tree annotations , 1989, CACM.

[35]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[36]  Jukka Paakki,et al.  Attribute grammar paradigms—a high-level methodology in language implementation , 1995, CSUR.

[37]  Arie van Deursen,et al.  Origin Tracking , 1993, J. Symb. Comput..

[38]  Hamid Pirahesh,et al.  Efficiently publishing relational data as XML documents , 2001, The VLDB Journal.

[39]  LämmelRalf,et al.  Scrap your boilerplate , 2003 .

[40]  Philippe Thiran,et al.  Strategies for data reengineering , 2002, Ninth Working Conference on Reverse Engineering, 2002. Proceedings..

[41]  C. J. Date A formal definition of the relational model , 1982, SGMD.

[42]  Tim Sheard Generic unification via two-level types and parameterized modules , 2001, ICFP '01.

[43]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[44]  Brett McLaughlin Java and XML Data binding , 2002 .

[45]  Gregor Kiczales,et al.  Design pattern implementation in Java and aspectJ , 2002, OOPSLA '02.

[46]  Peter H. Aiken,et al.  DoD legacy systems: reverse engineering data requirements , 1994, CACM.

[47]  B. Pierce,et al.  A Language for Bi-Directional Tree Transformations , 2004 .

[48]  Thorsten Spitta,et al.  Die Wiederverwendung von Daten in SAP R/3 , 2000 .

[49]  Mike Fagan,et al.  Soft typing: an approach to type checking for dynamically typed languages , 1992 .

[50]  Joe D. Warren,et al.  The program dependence graph and its use in optimization , 1987, TOPL.

[51]  Phoebe Sengers,et al.  Reflective design , 2005, Critical Computing.

[52]  Benjamin C. Pierce,et al.  Relational lenses: a language for updatable views , 2006, PODS '06.

[53]  James Noble,et al.  Ownership types for flexible alias protection , 1998, OOPSLA '98.

[54]  Wolfram Schulte,et al.  Unifying Tables, Objects and Documents , 2003 .

[55]  William M. Waite,et al.  Maptool - Supporting Modular Syntax Development , 1996, CC.

[56]  B. Liskov Keynote address - data abstraction and hierarchy , 1988, OOPSLA '87.

[57]  Dan Suciu,et al.  SilkRoute: A framework for publishing relational data in XML , 2002, TODS.

[58]  Kostas Kontogiannis,et al.  Towards portable source code representations using XML , 2000, Proceedings Seventh Working Conference on Reverse Engineering.

[59]  Shin-Cheng Mu,et al.  A programmable editor for developing structured documents based on bidirectional transformations , 2004, PEPM '04.

[60]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[61]  Dave A. Thomas The Impedance Imperative - Tuples + Objects + Infosets = Too Much Stuff! , 2003, J. Object Technol..

[62]  Andy Schürr,et al.  GXL: toward a standard exchange format , 2000, Proceedings Seventh Working Conference on Reverse Engineering.

[63]  Merijn de Jonge,et al.  Grammars as contracts , 2001 .

[64]  Chris Verhoef,et al.  Scaffolding for software renovation , 2000, Proceedings of the Fourth European Conference on Software Maintenance and Reengineering.

[65]  Liuba Shrira,et al.  Lazy modular upgrades in persistent object stores , 2003, OOPSLA '03.

[66]  Ramez Elmasri,et al.  Entity-Relationship Approach — ER '93 , 1993, Lecture Notes in Computer Science.

[67]  Jørgen Lindskov Knudsen ECOOP 2001 — Object-Oriented Programming , 2001, Lecture Notes in Computer Science.

[68]  Jay Banerjee,et al.  Semantics and implementation of schema evolution in object-oriented databases , 1987, SIGMOD '87.

[69]  Marko C. J. D. van Eekelen,et al.  Compositional Model-Views with Generic Graphical User Interfaces , 2004, PADL.

[70]  Wolfram Schulte,et al.  The essence of data access in Cω: the power is in the dot! , 2005 .

[71]  C. A. R. Hoare,et al.  Proof of correctness of data representations , 1972, Acta Informatica.

[72]  F. Warren Burton,et al.  Pattern matching with abstract data types , 1993, Journal of Functional Programming.

[73]  Donald E. Knuth,et al.  Semantics of context-free languages , 1968, Mathematical systems theory.

[74]  Sophia Drossopoulou,et al.  Ownership, encapsulation and the disjointness of type and effect , 2002, OOPSLA '02.

[75]  Miroslaw Staron,et al.  Workshop on "Consistency Problems in UML-based Software Development II" , 2003 .

[76]  Panos K. Chrysanthis,et al.  Database Schema Evolution through the Specification and Maintenance of Changes on Entities and Relationships , 1994, ER.

[77]  Yanchun Zhang,et al.  Achieving convergence, causality preservation, and intention preservation in real-time cooperative editing systems , 1998, TCHI.

[78]  Philip Wadler,et al.  Views: a way for pattern matching to cohabit with data abstraction , 1987, POPL '87.

[79]  Günter Riedewald,et al.  Semantics-preserving Migration of Semantic Rules During Left Recursion Removal in Attribute Grammars , 2004, Electron. Notes Theor. Comput. Sci..

[80]  Carroll Morgan,et al.  Programming from specifications , 1990, Prentice Hall International Series in computer science.

[81]  Priscilla Walmsley,et al.  Definitive XML Schema , 2001 .

[82]  C. M. Sperberg-McQueen,et al.  Extensible Markup Language (XML) , 1997, World Wide Web J..

[83]  Nicolas Spyratos,et al.  Update semantics of relational views , 1981, TODS.

[84]  Ralf Lämmel,et al.  Transformation of SDF syntax definitions in the ASF+SDF Meta-Environment , 2001, LDTA@ETAPS.

[85]  Oege de Moor,et al.  Transformation in intentional programming , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[86]  Anthony M. Sloane,et al.  Eli: a complete, flexible compiler construction system , 1992, CACM.

[87]  Rainer Koschke,et al.  An Intermediate Representation for Reverse Engineering Analyses , 1998 .

[88]  Gordon S. Novak,et al.  Creation of Views for Reuse of Software with Different Data Representations , 1995, IEEE Trans. Software Eng..

[89]  José Nuno Oliveira,et al.  Software Reification using the SETS Calculus , 1992, Refine.

[90]  John Aycock,et al.  Extending Old Compiler Tools with Meta-Tools , 2004, Software Engineering Research and Practice.

[91]  Clarence A. Ellis,et al.  Groupware: some issues and experiences , 1991, CACM.

[92]  Murray Hill,et al.  Yacc: Yet Another Compiler-Compiler , 1978 .

[93]  Philip Wadler,et al.  Deforestation: Transforming Programs to Eliminate Trees , 1990, Theor. Comput. Sci..

[94]  Werner Kluge,et al.  Implementation of Functional Languages , 1996, Lecture Notes in Computer Science.

[95]  Michael L. Van de Vanter Preserving the Documentary Structure of Source Code in Language-Based Transformation Tools , 2001, SCAM.

[96]  Kathi Hogshead Davis,et al.  Data reverse engineering: a historical survey , 2000, Proceedings Seventh Working Conference on Reverse Engineering.