На надъязыковом уровне - а почему нет?
Дополнительные внешние спецификации на границы подсистем + компилятор, умеющий учитывать эти спецификации и на попытку импорта внутреннего модуля какой-то подсистемы говорящий "not found". Или представьте себе, что у каждой подсистемы есть две папки под Sym-файлы: Sym - для внутреннего пользования, а FaceSym, к примеру, - для наружного. И при компиляции некоторого модуля доступны только Face-спецификации других подсистем - и все спецификации его родной подсистемы.