Software—Practice & Experience
Strongly typed heterogeneous collections
Haskell '04 Proceedings of the 2004 ACM SIGPLAN workshop on Haskell
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Supporting Parallel Updates with Bidirectional Model Transformations
ICMT '09 Proceedings of the 2nd International Conference on Theory and Practice of Model Transformations
Scala for generic programmers: Comparing haskell and scala support for generic programming
Journal of Functional Programming
Type-Safe model transformation languages as internal DSLs in scala
ICMT'12 Proceedings of the 5th international conference on Theory and Practice of Model Transformations
Hi-index | 0.00 |
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.