  This paper proposes a theory of encapsulation, establishing a relationship
between encapsulation and information hiding through the concept of potential
structural complexity (P.S.C.), the maximum possible number of source code
dependencies that can exist between program units in a software system. The
P.S.C. of various, simple systems is examined in an attempt to demonstrate how
P.S.C. changes as program units are encapsulated among different configurations
of subsystems.
