a way to describe distributed data and associated operations