Explaining the Contradiction

As mentioned earlier, as-is VLSR is an every-day occurrence while as-is LSR remains an unrealized goal. The techniques that have been proposed for as-is LSR (e.g., formal methods) have had difficulties scaling-up. Oddly enough, the simple ideas that have made as-is VLSR work have not been successfully scaled-down so that large (sub)systems like unix4.3, xwindows, motif1.1, etc., can themselves be defined from compositions of more primitive components.

Recall the two conditions for successful as-is reuse. Users must (1) agree to use the interface abstractions of existing software and (2) agree to use the implementations of these interfaces. As a community, we have not been successful in agreeing on the interfaces/abstractions that lie inbetween the interfaces of major systems (e.g., interfaces/abstractions in between Motif and X, between X and Unix, etc.). Nor have we, as a community, truely realized the importance of families of systems that share the same interface but have different implementations.

Until these two issues are bridged, as-is LSR will continue to remain elusive and unrealized. In [Bat91a], we explore these issues further, and present a validated approach for achieving as-is LSR.