Class UML 2.4.1::Interface
Description:
Since an interface specifies conformance characteristics, it does not own
detailed behavior specifications. Instead, interfaces may own a protocol
state machine that specifies event sequences and pre/post conditions for
the operations and receptions described by the interface.Interfaces may
include receptions (in addition to operations).An interface is 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 that contract. The obligations
that may be associated with an interface are in the form of various kinds
of constraints (such as pre- and post-conditions) or protocol specifications,
which may impose ordering restrictions on interactions through the interface.
Direct Superclasses: ClassifierDirect Subclasses: Class Precedence List: Interface,
Classifier,
Namespace,
Type,
PackageableElement,
ParameterableElement,
RedefinableElement,
NamedElement,
TemplateableElement,
ElementProperties:
![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
nestedClassifier :
Classifier (0 *); -- source
Interface![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
ownedAttribute :
Property (0 *); -- source
Interface![](/se-interop/image/right-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
ownedOperation :
Operation (0 *); -- source
InterfaceThe operations owned by the class.
{
composite,
ordered}
Subsets: Classifier.feature, Namespace.ownedMember
Opposite: Operation.interface
![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
ownedReception :
Reception (0 *); -- source
Interface![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
protocol :
ProtocolStateMachine (0 1); -- source
Interface![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
redefinedInterface :
Interface (0 *); -- source
Interface![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
attribute :
Property (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
collaborationUse :
CollaborationUse (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
feature :
Feature (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
general :
Classifier (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
generalization :
Generalization (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
inheritedMember :
NamedElement (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
isAbstract : Boolean (1 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
isFinalSpecialization : Boolean (1 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
ownedTemplateSignature :
RedefinableTemplateSignature (0 1); -- source
Classifier![](/se-interop/image/right-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
ownedUseCase :
UseCase (0 *); -- source
ClassifierReferences the use cases owned by this classifier.
{
composite}
Subsets: Namespace.ownedMember
![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
powertypeExtent :
GeneralizationSet (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
redefinedClassifier :
Classifier (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
representation :
CollaborationUse (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
substitution :
Substitution (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
templateParameter :
ClassifierTemplateParameter (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
useCase :
UseCase (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
elementImport :
ElementImport (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
importedMember :
PackageableElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
member :
NamedElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
ownedMember :
NamedElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
ownedRule :
Constraint (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
packageImport :
PackageImport (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
package :
Package (0 1); -- source
Type![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
visibility :
VisibilityKind (1 1); -- source
PackageableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
owningTemplateParameter :
TemplateParameter (0 1); -- source
ParameterableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
isLeaf : Boolean (1 1); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
redefinedElement :
RedefinableElement (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
redefinitionContext :
Classifier (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
clientDependency :
Dependency (0 *); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
name : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
nameExpression :
StringExpression (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
namespace :
Namespace (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
qualifiedName : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
templateBinding :
TemplateBinding (0 *); -- source
TemplateableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
ownedComment :
Comment (0 *); -- source
Element![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
ownedElement :
Element (0 *); -- source
Element![](/se-interop/image/down-arrow.png?hunchentoot-session=122002%3A5F096F9315EEFAE6FA7701F9348D0BD0)
owner :
Element (0 1); -- source
ElementConstraints:
Signature: visibility() : Boolean;
Description: The visibility of all features owned by an interface must be public.
Expression: self.feature->forAll(f | f.visibility = #public)
Operations:
No additional operations.
Send questions or comments to
[email protected].