Big data processing is now widely employed in all aspects of our lives. Usually, parts or copies of a huge amount of data are stored in separate locations, and is infeasible to be collected and processed in a centralized manner, as it would be exceedingly inefficient to transfer them over the network. We therefore need new software foundations based on which big data can be efficiently analyzed and shared in a distributed way.
A highly relevant research area is bidirectional transformations, which provide a reliable mechanism for data synchronization. The study of bidirectional transformations originates from the long-standing problem of view updating in databases, and has led to a rich collection of bidirectional languages with new programming models tailored for data synchronization. Despite the potential in solving practical synchronization problems including data interoperability, bidirectional technologies are not widely employed yet, and most applications of bidirectional transformations remain only proof of concept.
In this research, we aim to further develop bidirectional technologies to make them more reliable, scalable, and efficient, so as to establish solid foundations for integration, sharing, and interoperability of autonomic distributed big data.
We will build on our previous research on bidirectional transformations to achieve the following three goals:
The unique contribution of this research is that we will push the scalability and reliability of bidirectional transformations to the limit, and be able to demonstrate its practical values using real-world applications about interoperability of autonomic distributed data.
This research continues our leading work on practical bidirectional transformations (e.g., bidirectional languages designed to offer full programmability), and is a groundbreaking step in solving important real-world problems using bidirectional transformations. By developing a system for autonomic distributed big data, we will eliminate the problem of centralized management in the current cloud-based computing environments, and provide a new methodology of distributed computing.
H-S. Ko, T. Zan, Z. Hu, BiGUL: A Formally Verified Core Language for Putback-Based Bidirectional Programming, ACM PEPM 2016.
S. Hidaka, Z. Hu, K. Inaba, H. Kato, K. Nakano, K. Matsuda, Bidirectionalizing Graph Transformations, ACM ICFP 2010.
Dejima Prototype (Paper: Making View Update Strategies Programmable)