The invention includes an architecture in which components associate their design
time functionality independent of a design tool. The design time functionality
includes code generators, compilers, parsers and editors. The architecture includes
interfaces for components and designers to communicate. The architecture includes
attributes in metadata that describe the functionality associated with the instance
of a component.