With this contribution we present a design and development method for distributed applications, which are running on top of advanced object middleware platforms. We introduce the basic concept of distinction between the set of concepts and their relations, the definition of a notation supporting such concepts and rules for automatic code generation that help to provide a smooth transition from the design step to the implementation stage. Allthough the set of concepts is based on RM-ODP, we refine a number of ODP definitions in order to reflect practical design tasks. The supporting notation we present here rests upon costumization of the Unified Modeling Language (UML). Automatic code generation issues are presented briefly, taking a extended CORBA 2.3 object middleware as target distributed infrastructure.