A component based software program, where each component is based on a
component-type. Component-types are created from base classes comprising
slot definitions. The slot definitions are identified and stored in a
component-type object. One or more components of the component-type are
created, each comprising a reference, to a component-type object and a
slotmap having storage locations for values associated with property
slots definitions, in the component-type object. Values for property
slots are entered into components by being placed in the storage
locations. Also disclosed is a method for automatically designating
unique names to components. One root component is created. Further
non-root components are placed within the root component or within other
components, so that all components form a tree structure. A component is
assigned a unique identification string, comprising a sequential list of
all of the component's ancestors and the component's name.