Abstract: An object-oriented component data structure and method for constructing, extending, assembling, and modifying software components. The inventive component data structure provides a complete definition of a component including its identity, state, behavior, and containment of other components, which are recursively nested instances of the inventive component data structure. The inventive component data structure supports inheritance, such that the definition of a component inherits from the definition of another component; contained component data structures likewise support inheritance. Moreover, the inventive component data structure and resulting software components are compatible with the Java Virtual Machine (JVM), Java Class File, Java Byte Code, JavaBean, and CORBA specifications. The inventive component data structure and method are particularly well suited for providing tools for software development, trouble-shooting, and systems integration.