  Views are known mechanisms for controlling access of data and for sharing
data of different schemas. Despite long and intensive research on views in both
the database community and the programming language community, we are facing
difficulties to use views in practice. The main reason is that we lack ways to
directly describe view update strategies to deal with the inherent ambiguity of
view updating. This paper aims to provide a new language-based approach to
controlling and sharing distributed data based on views, and establish a
software foundation for systematic construction of such data management
systems. Our key observation is that a view should be defined through a view
update strategy rather than a view definition. We show that Datalog can be used
for specifying view update strategies whose unique view definition can be
automatically derived, present a novel P2P-based programmable architecture for
distributed data management where updatable views are fully utilized for
controlling and sharing distributed data, and demonstrate its usefulness
through the development of a privacy-preserving ride-sharing alliance system.
