Abstract data groups: structuring distributed programs as layers | IEEE Conference Publication | IEEE Xplore