Design patterns help us to respond to the challenges faced while developing Distributed Object Computing (DOC) applications by shifting developers' focus to high-level design concerns, rather than platform specific details. However, due to the inherent ambiguity of the existing textual and graphical descriptions of the design patterns, users are faced with difficulties in understanding when and how to use them. Since design patterns are seldom used in isolation but are usually combined to solve complex problems, the above-mentioned difficulties have even worsened. The formal specification of design patterns and their combination is not meant to replace the existing means of describing patterns, but to complement them in order to achieve accuracy and to allow rigorous reasoning about them. The main problem of the existing formal specification languages for design patterns is the lack of completeness. This is mainly because they tend to focus on specifying either the structural or behavioral aspects of design patterns but not both of them. Moreover, none of them even ventured in specifying DOC patterns and pattern combinations. We propose a simple yet Balanced Pattern Specification Language (BPSL) aimed to achieve equilibrium by specifying both the aspects of design patterns. The language combines two subsets of logic: one from the First-Order Logic (FOL) and the other from the Temporal Logic of Actions (TLA).