Previous UML Classes Table of Contents UML Packages Next


13.3.4 BehavioredClassifier

BasicBehaviors , Communications


*Generalizations

Issue 8201 - replace ‘Class’ reference by ‘Classifier’ reference

   

    Classifier (from Kernel , Dependencies , PowerTypes ) on page 51

   Description

   A classifier can have behavior specifications defined in its namespace. One of these may specify the behavior of the classifier itself.

   Attributes

   No additional attributes

   Associations

Issue 8201 - add package header

   Package BasicBehaviors

Issue 8297 - add explicit multiplcities to properties

   • ownedBehavior: Behavior [0..*] References behavior specifications owned by a classifier. (Subsets Namespace ::ownedMember.)

   • classifierBehavior: Behavior [0..1] A behavior specification that specifies the behavior of the classifier itself. (Subsets BehavioredClassifier::ownedBehavior.)

   Package Communications

   • ownedTrigger : Trigger [0..*] References Trigger descriptions owned by a Classifier (Subsets Namespace ::ownedMember.)

   Constraints

Issue 8201 - add sequence number and OCL

   [1] If a behavior is classifier behavior, it does not have a specification.

   self.classifierBehavior->notEmpty() implies self.specification->isEmpty()

   Semantics

   The behavior specifications owned by a classifier are defined in the context of the classifier. Consequently, the behavior specifications may reference features of the classifier. Any invoked behavior may, in turn, invoke other behaviors visible to its context classifier. When an instance of a behaviored classifier is created, its classifier behavior is invoked.

   When an event occurrence is recognized by an object that is an instance of a behaviored classifier, it may have an immediate effect or the occurrence may be saved for later triggered effect. An immediate effect is manifested by the invocation of a behavior as determined by the event (the type of the occurrence). A triggered effect is manifested by the storage of the occurrence in the input event pool of the object and the later consumption of the occurrence by the execution of an ongoing behavior that reaches a point in its execution at which a trigger matches the event (type) of the occurrence in the pool. At this point, a behavior may be invoked as determined by the event.

   When an executing behavior owned by an object comes to a point where it needs a trigger to continue its execution, the input pool is examined for an event that satisfies the outstanding trigger or triggers. If an event satisfies one of the triggers, the event is removed from the input pool and the behavior continues its execution, as specified. Any data associated with the event are made available to the triggered behavior.

   Semantic Variation Points

   It is a semantic variation whether one or more behaviors are triggered when an event satisfies multiple outstanding triggers.

   If an event in the pool satisfies no triggers at a wait point, it is a semantic variation point what to do with it.

   The ordering of the events in the input pool is a semantic variation.

   Notation

   See Classifier (from Kernel , Dependencies , PowerTypes ) on page 51.

   Changes from previous UML

   In UML 1.4, there was no separate metaclass for classifiers with behavior.