Infrastructure-agnostic programming and interoperable execution in heterogeneous grids