To suggest the design, it's useful to consider a simpler alternative first. The minimum library interface of transparent wrapper procedures is surprisingly complex, and requires significant additional functionality to be useful; providing these features brings us to the shim's design.

The same approach can be taken to justify the implementation of the shim -- start with an easily sketched, naive program architecture, then solve issues of reliability and maintainability to arrive at the shim's implementation architecture.


Bill Pippin 2010-01-14