Class UML 2.4.1::Actor
Description:
An actor specifies a role played by a user or any other system that interacts
with the subject.
Direct Superclasses: BehavioredClassifierDirect Subclasses: Class Precedence List: Actor,
BehavioredClassifier,
Classifier,
Namespace,
Type,
PackageableElement,
ParameterableElement,
RedefinableElement,
NamedElement,
TemplateableElement,
ElementProperties:
classifierBehavior :
Behavior (0 1); -- source
BehavioredClassifier interfaceRealization :
InterfaceRealization (0 *); -- source
BehavioredClassifier ownedBehavior :
Behavior (0 *); -- source
BehavioredClassifier attribute :
Property (0 *); -- source
Classifier collaborationUse :
CollaborationUse (0 *); -- source
Classifier feature :
Feature (0 *); -- source
ClassifierSpecifies each feature defined in the classifier. Note that there may be
members of the Classifier that are of the type Feature but are not included
in this association, e.g. inherited features.
{
readonly}
Derived union with sources: (attribute)
Subsets: Namespace.member
Opposite: Feature.featuringClassifier
general :
Classifier (0 *); -- source
ClassifierSpecifies the general Classifiers for this Classifier. References the general
classifier in the Generalization relationship.
{
derived}
generalization :
Generalization (0 *); -- source
Classifier inheritedMember :
NamedElement (0 *); -- source
Classifier isAbstract : Boolean (1 1); -- source
Classifier isFinalSpecialization : Boolean (1 1); -- source
Classifier ownedTemplateSignature :
RedefinableTemplateSignature (0 1); -- source
Classifier ownedUseCase :
UseCase (0 *); -- source
Classifier powertypeExtent :
GeneralizationSet (0 *); -- source
Classifier redefinedClassifier :
Classifier (0 *); -- source
Classifier representation :
CollaborationUse (0 1); -- source
Classifier substitution :
Substitution (0 *); -- source
Classifier templateParameter :
ClassifierTemplateParameter (0 1); -- source
Classifier useCase :
UseCase (0 *); -- source
Classifier elementImport :
ElementImport (0 *); -- source
Namespace importedMember :
PackageableElement (0 *); -- source
Namespace member :
NamedElement (0 *); -- source
Namespace ownedMember :
NamedElement (0 *); -- source
Namespace ownedRule :
Constraint (0 *); -- source
Namespace packageImport :
PackageImport (0 *); -- source
Namespace package :
Package (0 1); -- source
TypeSpecifies the owning package of this classifier, if any.
Opposite: Package.ownedType
visibility :
VisibilityKind (1 1); -- source
PackageableElement owningTemplateParameter :
TemplateParameter (0 1); -- source
ParameterableElement isLeaf : Boolean (1 1); -- source
RedefinableElement redefinedElement :
RedefinableElement (0 *); -- source
RedefinableElement redefinitionContext :
Classifier (0 *); -- source
RedefinableElementReferences the contexts that this element may be redefined from.
{
readonly}
Derived union with sources: ()
clientDependency :
Dependency (0 *); -- source
NamedElement name : String (0 1); -- source
NamedElement nameExpression :
StringExpression (0 1); -- source
NamedElement namespace :
Namespace (0 1); -- source
NamedElement qualifiedName : String (0 1); -- source
NamedElement templateBinding :
TemplateBinding (0 *); -- source
TemplateableElementThe optional bindings from this element to templates.
{
composite}
Subsets: Element.ownedElement
Opposite: TemplateBinding.boundElement
ownedComment :
Comment (0 *); -- source
Element ownedElement :
Element (0 *); -- source
Element owner :
Element (0 1); -- source
ElementThe Element that owns this element.
{
readonly}
Derived union with sources: (namespace, owningTemplateParameter)
Opposite: Element.ownedElement
Constraints:
Signature: must_have_name() : Boolean;
Description: An actor must have a name.
Expression: name->notEmpty()
Signature: associations() : Boolean;
Description: An actor can only have associations to use cases, components and classes.
Furthermore these associations must be binary.
The OCL used here is not normative.Editor's notes: Actor.ownedAttribute is not defined.
Expression: true
Original: self.ownedAttribute->forAll ( a | (a.association->notEmpty()) implies ((a.association.memberEnd.size() = 2) and (a.opposite.class.oclIsKindOf(UseCase) or (a.opposite.class.oclIsKindOf(Class) and not a.opposite.class.oclIsKindOf(Behavior))))
Operations:
No additional operations.
Send questions or comments to
[email protected].