In RalphJohnson and BrianFoote's paper, ''Designing Reusable Classes'' [http://www.laputan.org/drc/drc.html], they state: : "Another way to customize a framework is to supply it with a set of components that provide application specific behavior. Each of these components will be required to implement a particular protocol. All or most of the components might be provided by a component library. The interface between components can be defined by protocol, so the user needs to understand only the external interface of the components. Thus, this kind of a framework is called a ''black-box'' framework." ---- To me, this rings well with what we're calling a ComponentFramework. The protocols we are dealing with are AbstractInteractions communicated via interfaces. And of course BypassingAbstractions is an important theme we see in the context resulting from LayeredFrameworks where black-box frameworks are layered above other lower-level software frameworks. -- PhilipEskelin ---- See ComponentFramework or ComponentFrameworkDefinition for relevant discussions. See also WhiteBoxFramework.