Tasks in a real-time application usually have several stringent timing, resource, and communication requirements. Designing a distributed computing system which can meet all these requirements is a challenging problem. In this paper, we alleviate this problem by proposing a technique to determine a lower bound on the number of processors and resources required to meet the constraints of the application. We also extend the technique to estimate the cost of a system which meets all the application constraints. The proposed technique deals with most constraints found in real-time applications including deadlines, release times, resource requirements, precedence relationships, and non-zero communication times. It also derives these bounds for two di erent models of distributed systems; the shared model in which the resources are shared by all processors and the dedicated model in which each processor has a set of resources dedicated to it. The results in this paper can be used to reduce t...