Hierarchically Tiled Arrays as high-level programming abstractions for dataflow runtime systems