Formal Techniques for Distributed Objects Components and Systems