A kind of Classifier that represents a declaration of a set of coherent public Features and obligations.
An Interface specifies a contract. Any Instance of a Classifier that realizes the Interface must fulfill this contract. The obligations that may be associated with an Interface take the form of various kinds of Constraints (such as pre-conditions and post-conditions) or protocol specifications, which may impose ordering restrictions on Interactions through the Interface. Since Interfaces are declarations, they are not instanciable. Instead, an Interface specification is implemented by an Instance of an instanciable Classifier, which means that the instanciable Classifier presents a public facade that conforms to the Interface specification. Note that a given Classifier may implement more than one Interface and that an Interface may be implemented by a number of different Classifiers. Constraints: The visibility of all Features owned by an Interface must be public.
: Interface (architecture_autodiagram)
Figure 217 : Interface (architecture_autodiagram)
Requiring : RequiredInterface [0..*]
ImplementedLink : InterfaceRealization [0..*]
Providing : ProvidedInterface [0..*]