Bidirectionalization For The Common People
Juraj Don\v{c}evi\'c, Mario Br\v{c}i\'c, Danijel Mlinari\'c

TL;DR
This paper introduces Bifrons, a C# library that makes bidirectional transformations more accessible for practitioners by simplifying implementation and ensuring correctness, demonstrated through a practical database synchronization case study.
Contribution
It presents a practical library for bidirectional transformations in C#, replacing complex DSLs and providing a testing framework for correctness.
Findings
Successful synchronization of heterogeneous databases using Bifrons
Simplified implementation of bidirectional transformations in C#
Validated correctness with a lens-testing framework
Abstract
This paper presents an innovative approach to applying bidirectional transformations (BX) in practice. To introduce BX to a wider audience of technologists, engineers, and researchers, we have chosen to use C# to develop Bifrons - a library of BX lenses that replaces domain-specific programming languages (DSL) in practical use. The proposed approach simplifies the implementation effort for two-way transformations by using simple symmetric lenses as the initial design pattern. It ensures correctness within reason by providing a simple lens-testing framework. We demonstrate the usability of BX lenses in a realistic scenario by using Bifrons to perform a case study experiment synchronizing data from two structurally and technologically heterogeneous databases.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsModel-Driven Software Engineering Techniques · Software Engineering Research · Advanced Software Engineering Methodologies
