In order to obtain efficiency, current practice in distributed software systems design often suffers from a lack of ion. An object-oriented design technique based on UML notations and a special type of high-level Petri-Nets is used to demonstrate how designs can be kept sufficiently to be platform independent and re-usable but still support design alternatives and their evaluation w.r.t. availability and principle system performance.