At Sun we didn't use design docs for this. We used architecture docs instead. These were of the form of PSARC cases with materials such as:
- interfaces lists, with attached commitment levels
- interface contracts where interface commitment levels do not otherwise allow teams A, B, and C to use each other's interfaces.
That's much better than design docs.
The difference between architecture and design -at Sun anyway- was this:
- architecture is only about interfaces
- design is about details like algorithms