Yes... normally interface is not a component; therefore, it should not be in the component interface. But I think this generic interface will clarify my design. In a component diagram, a component can be drew with an interface.
Suppose a vendorX component provides VendorX interface. If my application depends on the VendorX interface, any future changes in vendorX interface will affect my application. To avoid this highly couple, I create a generic interface to which the VendorX interface will adapt to. How do I present this interface in the component diagram?
Cade uses in his component diagrams the round symbol to denote an interface.
An interesting fact about component diagrams is described at: http://www.agilemodeling.com/artifacts/componentDiagram.htm
Components may both provide and require interfaces. An interface is the definition of a collection of one or more methods, and zero or more attributes, ideally one that defines a cohesive set of behaviors. A provided interface is modeled using the lollipop notation and a required interface is modeled using the socket notation. A port is a feature of a classifier that specifies a distinct interaction point between the classifier and its environment. Ports are depicted as small squares on the sides of classifiers.
It means (to me at least ) that the essence of components is about providing and requiring interfaces.
One additional thing to keep in mind about UML diagrams is that they are not rigid; the UML specification doesn't really dictate which graphical symbols can be used in each specific diagram type. It means that we can borrow symbols from other diagram types. For example, in Cade's diagrams he uses the package symbol to describe a subsystem.