A Programming Paradigm for Building Disaggregated Applications for the Heterogeneous Computing Environment