The Essence of Data Access in Comega

Gavin Bierman, Erik Meijer, Wolfram Schulte


Published by Springer

In this paper we describe the data access features of C-omega, an experimental programming language based on C] currently under development at Microsoft Research. C-omega targets distributed, data-intensive applications and accordingly extends C-omega’s support of both data and control. In the data dimension it provides a type-theoretic integration of the three prevalent data models, namely the object, relational, and semi-structured models of data. In the control dimension C-omega provides elegant primitives for asynchronous communication. In this paper we concentrate on the data dimension. Our aim is to describe the essence of these extensions; by which we mean we identify, exemplify and formalize their essential features. Our tool is a small core language, FC-omega, which is a valid subset of the full C-omega language. Using this core language we are able to formalize both the type system and the operational semantics of the data access fragment of C-omega.