In Trilinos/Domi, I have eliminated the "ghost" and "halo" terminology in favor of "boundary padding" and "communication padding".  Note that local arrays can have "generic" padding, and that this padding could be all communication (for interior processors of the processor grid), or all boundary padding (for the serial case) or combinations of boundary and communication (in the non-serial case for processors on the boundary of the processor grid).  I decided that "ghosts" and "halos" are ambiguous and confusing, and don't allow for conceptually combining the concepts, which is useful.