Barring code generation, one has to deal with duplication of information between parallel versions of elements, the "specifications" and the "source code", which one has to bind, in order to ease the comparison (and the checking).
In any case, the first requirement is that both are managed as
elements in vobs.
Next, the granularity must be suitable
(i.e. fine enough to be useful).
Then it would be preferable if it was easy to track the differences
between different versions (ct diff, but also annotate).
Unless expressed in a makefile, the "static" binding between a specification and a source file is best expressed through ClearCase hyperlinks (see e.g. the Document hyperlink).
Now as such, it is not convenient, and being inconvenient, is not reliable (although we link versions of elements, we do not update the links when the versions change). SCM dependencies are recorded from events. They can conveniently be marked with (fixed) labels.
What is needed is a tool to:
We don't have this tool yet (but the doc script mentioned above can be a starting point, completed with something extracted from our multiprinter tool.
Also, note that an hyperlink structure is a net with possible cycles, whereas the aim of SCM is to build acyclic dependency graphs as much as possible: you'd rather keep focusing on the info in one page, ignoring as much as possible the calling sites.