Higher-Order and Symbolic Computation

, Volume 21, Issue 1–2, pp 89–118 | Cite as

A programmable editor for developing structured documents based on bidirectional transformations

Article

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.

Keywords

View updating Bidirectional transformation Functional programming Document engineering Structured editor 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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) CrossRefGoogle Scholar
  2. 2.
    Bancilhon, F., Spyratos, N.: Updating semantics of relational views. ACM Trans. Database Syst. 6(4), 557–575 (1981) MATHCrossRefGoogle Scholar
  3. 3.
    Bird, R.: Introduction to Functional Programming using Haskell. Prentice-Hall, Englewood Cliffs (1998) Google Scholar
  4. 4.
    Bray, T., Paoli, J., Sperberg-McQueen, C.M.: Extensible markup language (XML) 1.0 (1998) Google Scholar
  5. 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. 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) MATHCrossRefMathSciNetGoogle Scholar
  7. 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) Google Scholar
  8. 8.
    Furuta, R., Quint, V., André, J.: Interactively editing structured documents. Electron. Publ. Orig. Dissem. Des. 1(1), 19–44 (1988) Google Scholar
  9. 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) CrossRefGoogle Scholar
  10. 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. 11.
    Gottlob, G., Paolini, P., Zicari, R.: Properties and update semantics of consistent views. ACM Trans. Database Syst. 13(4), 486–524 (1988) MATHCrossRefMathSciNetGoogle Scholar
  12. 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) Google Scholar
  13. 13.
    Jeuring, J.: Implementing a generic editor. In: Proceedings of Workshop on Programmable Structured Documents, Tokyo, Japan, February 2004 Google Scholar
  14. 14.
    Kim, L.: The Official XMLSPY Handbook. Wiley, New York (2002) Google Scholar
  15. 15.
    Meertens, L.: Designing constraint maintainers for user interaction. http://www.cwi.nl/~lambert (June 1998)
  16. 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. 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. 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. 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) Google Scholar
  20. 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 Google Scholar
  21. 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. 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 Google Scholar
  23. 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. 24.
    XML Software: A list of XML editors. See http://www.xmlsoftware.com/editors.html (2004)

Copyright information

© Springer Science+Business Media, LLC 2008

Authors and Affiliations

  1. 1.Information Systems Architecture Research DivisionNational Institute of InformaticsTokyoJapan
  2. 2.Institute of Information ScienceAcademia SinicaTaipeiTaiwan
  3. 3.Department of Mathematical InformaticsUniversity of TokyoTokyoJapan

Personalised recommendations