Skip to main content
Log in

A programmable editor for developing structured documents based on bidirectional transformations

  • Published:
Higher-Order and Symbolic Computation

Abstract

This paper presents an application of bidirectional transformation to the design and implementation of a novel editor supporting interactive refinement in the development of structured documents. The user performs a sequence of editing operations on a view of the document, and the editor automatically derives an efficient and reliable document source and a transformation that produces the document view. The editor is unique in its programmability, in the sense that transformations can be obtained through editing operations. It uses the view-updating technique developed in the database community and a new bidirectional transformation language that can describe not only the relationship between the document source and its view, but also the data dependency in the view.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Abiteboul, S.: On views and XML. In: Proceedings of ACM SIGPLAN-SIGACT Symposium on Principles of Database Systems, pp. 1–9. ACM, New York (1999)

    Chapter  Google Scholar 

  2. Bancilhon, F., Spyratos, N.: Updating semantics of relational views. ACM Trans. Database Syst. 6(4), 557–575 (1981)

    Article  MATH  Google Scholar 

  3. Bird, R.: Introduction to Functional Programming using Haskell. Prentice-Hall, Englewood Cliffs (1998)

    Google Scholar 

  4. Bray, T., Paoli, J., Sperberg-McQueen, C.M.: Extensible markup language (XML) 1.0 (1998)

  5. Chidlovskii, B.: Schema extraction from XML collections. In: Proceedings of ACM/IEEE-CS Joint Conference on Digital Libraries, pp. 291–292. ACM, New York (2002)

    Google Scholar 

  6. Dayal, U., Bernstein, P.A.: On the correct translation of update operations on relational views. ACM Trans. Database Syst. 7(3), 381–416 (1982)

    Article  MATH  MathSciNet  Google Scholar 

  7. Foster, J.N., Greenwald, M.B., Moore, J.T., Pierce, B.C., Schmitt, A.: Combinators for bi-directional tree transformations: a linguistic approach to the view update problem. In: Proceedings of ACM SIGPLAN–SIGACT Symposium on Principles of Programming Languages (POPL), Long Beach, California, pp. 233–246 (2005)

  8. Furuta, R., Quint, V., André, J.: Interactively editing structured documents. Electron. Publ. Orig. Dissem. Des. 1(1), 19–44 (1988)

    Google Scholar 

  9. Garofalakis, M., Gionis, A., Rastogi, R., Seshadri, S., Shim, K.: XTRACT: a system for extracting document type descriptors from XML documents. In: Proceedings of ACM SIGMOD International Conference on Management of Data, pp. 165–176. ACM, New York (2000)

    Chapter  Google Scholar 

  10. Glück, R., Kawabe, M.: A program inverter for a functional language with equality and constructors. In: Ohori, A. (ed.) Programming Languages and Systems. Proceedings. Lecture Notes in Computer Science, vol. 2895, pp. 246–264. Springer, New York (2003)

    Google Scholar 

  11. Gottlob, G., Paolini, P., Zicari, R.: Properties and update semantics of consistent views. ACM Trans. Database Syst. 13(4), 486–524 (1988)

    Article  MATH  MathSciNet  Google Scholar 

  12. Greenwald, M.B., Moore, J.T., Pierce, B.C., Schmitt, A.: A language for bi-directional tree transformations. Technical Report MS-CIS-03-08, Department of Computer and Information Science University of Pennsylvania (August 2003)

  13. Jeuring, J.: Implementing a generic editor. In: Proceedings of Workshop on Programmable Structured Documents, Tokyo, Japan, February 2004

  14. Kim, L.: The Official XMLSPY Handbook. Wiley, New York (2002)

    Google Scholar 

  15. Meertens, L.: Designing constraint maintainers for user interaction. http://www.cwi.nl/~lambert (June 1998)

  16. Milo, T., Suciu, D., Vianu, V.: Typechecking for XML transformers. In: Proceedings of ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems, pp. 11–22. ACM, New York (2000)

    Google Scholar 

  17. Mu, S.-C., Hu, Z., Takeichi, M.: An algebraic approach to bi-directional updating. In: Proceedings of ASIAN Symposium on Programming Languages and Systems (APLAS 2004), Taipei, Taiwan, November 2004. Lecture Notes in Computer Science, vol. 3302, pp. 2–18. Springer, New York (2004)

    Google Scholar 

  18. Mu, S.-C., Hu, Z., Takeichi, M.: An injective language for reversible computation. In: Proceedings of International Conference on Mathematics of Program Construction (MPC 2004), Stirling, Scotland, July 2004. Lecture Notes in Computer Science, vol. 3215, pp. 289–313. Springer, New York (2004)

    Google Scholar 

  19. Ohori, A., Tajima, K.: A polymorphic calculus for views and object sharing. In: Proceedings of ACM Symposium on Principles of Database Systems (PODS), pp. 255–266 (1994)

  20. Buneman, P., Khanna, S., Tan, W.-C.: On propagation of deletion and annotation through views. In: Proceedings of ACM Symposium on Principles of Database Systems (PODS), Wisconsin, Madison, June 2002

  21. Schrage, M.M., Jeuring, J.: Xprez: a declarative presentation language for XML. Available at http://www.cs.uu.nl/research/projects/proxima/ (2003)

  22. Takeichi, M., Hu, Z., Kakehi, K., Hayashi, Y., Mu, S.-C., Nakano, K.: Treecalc: towards programmable structured documents. In: Proceedings of JSSST Conference on Software Science and Technology, September 2003

  23. Villard, L., Roisin, C., Layada, N.: An XML-based multimedia document processing model for content adaptation. In: Proceedings of International Conference on Digital Documents and Electronic Publishing. Lecture Notes in Computer Science, vol. 2023. Springer, New York (2000)

    Google Scholar 

  24. XML Software: A list of XML editors. See http://www.xmlsoftware.com/editors.html (2004)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Zhenjiang Hu.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Hu, Z., Mu, SC. & Takeichi, M. A programmable editor for developing structured documents based on bidirectional transformations. Higher-Order Symb Comput 21, 89–118 (2008). https://doi.org/10.1007/s10990-008-9025-5

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10990-008-9025-5

Keywords

Navigation