A communication micro-kernel for Implementing Object-Oriented programming on Closely Coupled Distributed Architectures