Skip to main content

Towards Combinators for Bidirectional Model Transformations in Scala

  • Conference paper
Software Language Engineering (SLE 2011)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6940))

Included in the following conference series:

Abstract

In model-driven engineering (MDE), often models that conform to different metamodels have to be synchronized. Manually implemented model synchronizations that are not simple bijections are hard to maintain and to reason about. Special languages for expressing bidirectional transformations can help in this respect, but existing non-bijective languages are often hard to integrate with other MDE technologies or depend on up-to-date tool support. We embed lenses – a promising term-rewriting-based approach to bidirectional transformations – into the Scala programming language and use lenses for model synchronization. We discuss how this allows for static type-safety and for seamless integration with existing Java-based MDE technologies.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Stevens, P.: Bidirectional Model Transformations in qvt: Semantic Issues and Open Questions. Software and Systems Modeling 9(1), 7–20 (2010)

    Article  Google Scholar 

  2. 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 the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2005, pp. 233–246. ACM (2005)

    Google Scholar 

  3. van den Brand, M., de Jong, H.A., Klint, P., Olivier, P.A.: Efficient Annotated Terms. Software – Practice and Experience 30(3), 259–291 (2000)

    Article  Google Scholar 

  4. Kiselyov, O., Lämmel, R., Schupke, K.: Strongly Typed Heterogeneous Collections. In: Proceedings of the ACM SIGPLAN Workshop on Haskell, pp. 96–107. ACM (2004)

    Google Scholar 

  5. Nordenberg, J.: Type Lists and Heterogeneously Typed Arrays (2009), http://jnordenberg.blogspot.com/2009/09/type-lists-and-heterogeneously-typed.html

  6. Sloane, A.M.: Experiences with Domain-Specific Language Embedding in Scala. In: Proceedings of 2nd Int’l Workshop on Domain-Specific Program Development (2008)

    Google Scholar 

  7. Xiong, Y., Song, H., Hu, Z., Takeichi, M.: Supporting Parallel Updates with Bidirectional Model Transformations. In: Paige, R.F. (ed.) ICMT 2009. LNCS, vol. 5563, pp. 213–228. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  8. Hidaka, S., Hu, Z., Kato, H., Nakano, K.: A Compositional Approach to Bidirectional Model Transformation. In: ICSE Companion, pp. 235–238 (2009)

    Google Scholar 

  9. Diskin, Z., Xiong, Y., Czarnecki, K.: From State- to Delta-Based Bidirectional Model Transformations: the Asymmetric Case. Journal of Object Technology 10, 6:1–6:25 (2011)

    Article  Google Scholar 

  10. Oliveira, B.C.D.S., Gibbons, J.: Scala for Generic Programmers: Comparing Haskell and Scala Support for Generic Programming. J. Funct. Program. 20, 303–352

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Wider, A. (2012). Towards Combinators for Bidirectional Model Transformations in Scala. In: Sloane, A., Aßmann, U. (eds) Software Language Engineering. SLE 2011. Lecture Notes in Computer Science, vol 6940. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-28830-2_21

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-28830-2_21

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-28829-6

  • Online ISBN: 978-3-642-28830-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics