Class UML 2.3::InformationFlow
Description:
An information flow specifies that one or more information items circulates
from its sources to its targets. Information flows require some kind of
information channel for transmitting information items from the source
to the destination. An information channel is represented in various ways
depending on the nature of its sources and targets. It may be represented
by connectors, links, associations, or even dependencies. For example,
if the source and destination are parts in some composite structure such
as a collaboration, then the information channel is likely to be represented
by a connector between them. Or, if the source and target are objects (which
are a kind of instance specification), they may be represented by a link
that joins the two, and so on.
Direct Superclasses: PackageableElement,
DirectedRelationshipDirect Subclasses: Class Precedence List: InformationFlow,
PackageableElement,
ParameterableElement,
NamedElement,
DirectedRelationship,
Relationship,
ElementProperties:
conveyed :
Classifier (1 *); -- source
InformationFlow informationSource :
NamedElement (1 *); -- source
InformationFlow informationTarget :
NamedElement (1 *); -- source
InformationFlow realization :
Relationship (0 *); -- source
InformationFlow realizingActivityEdge :
ActivityEdge (0 *); -- source
InformationFlow realizingConnector :
Connector (0 *); -- source
InformationFlow realizingMessage :
Message (0 *); -- source
InformationFlow visibility :
VisibilityKind (1 1); -- source
PackageableElement owningTemplateParameter :
TemplateParameter (0 1); -- source
ParameterableElement templateParameter :
TemplateParameter (0 1); -- source
ParameterableElement 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 source :
Element (1 *); -- source
DirectedRelationship target :
Element (1 *); -- source
DirectedRelationship relatedElement :
Element (1 *); -- source
Relationship ownedComment :
Comment (0 *); -- source
Element ownedElement :
Element (0 *); -- source
Element owner :
Element (0 1); -- source
ElementConstraints:
Signature: sources_and_targets_kind() : Boolean;
Description: The sources and targets of the information flow can only be one of the
following kind: Actor, Node, UseCase, Artifact, Class, Component, Port,
Property, Interface, Package, ActivityNode, ActivityPartition and InstanceSpecification
except when its classifier is a relationship (i.e. it represents a link).
The OCL used here is not normative.Editor's notes: p-> missing in many places
Expression: (self.informationSource->forAll(p | p->oclIsKindOf(Actor) or p->oclIsKindOf(Node) or
p->oclIsKindOf(UseCase) or p->oclIsKindOf(Artifact) or p->oclIsKindOf(Class) or
p->oclIsKindOf(Component) or p->oclIsKindOf(Port) or p->oclIsKindOf(Property) or
p->oclIsKindOf(Interface) or p->oclIsKindOf(Package) or p->oclIsKindOf(ActivityNode) or
p->oclIsKindOf(ActivityPartition) or p->oclIsKindOf(InstanceSpecification))) and
(self.informationTarget->forAll(p | p->oclIsKindOf(Actor) or p->oclIsKindOf(Node) or
p->oclIsKindOf(UseCase) or p->oclIsKindOf(Artifact) or p->oclIsKindOf(Class) or
p->oclIsKindOf(Component) or p->oclIsKindOf(Port) or p->oclIsKindOf(Property) or
p->oclIsKindOf(Interface) or p->oclIsKindOf(Package) or p->oclIsKindOf(ActivityNode) or
p->oclIsKindOf(ActivityPartition) or p->oclIsKindOf(InstanceSpecification)))
Original: (self.informationSource->forAll(p | p->oclIsKindOf(Actor) or oclIsKindOf(Node) or
oclIsKindOf(UseCase) or oclIsKindOf(Artifact) or oclIsKindOf(Class) or
oclIsKindOf(Component) or oclIsKindOf(Port) or oclIsKindOf(Property) or
oclIsKindOf(Interface) or oclIsKindOf(Package) or oclIsKindOf(ActivityNode) or
oclIsKindOf(ActivityPartition) or oclIsKindOf(InstanceSpecification))) and
(self.informationTarget->forAll(p | p->oclIsKindOf(Actor) or oclIsKindOf(Node) or
oclIsKindOf(UseCase) or oclIsKindOf(Artifact) or oclIsKindOf(Class) or
oclIsKindOf(Component) or oclIsKindOf(Port) or oclIsKindOf(Property) or
oclIsKindOf(Interface) or oclIsKindOf(Package) or oclIsKindOf(ActivityNode) or
oclIsKindOf(ActivityPartition) or oclIsKindOf(InstanceSpecification)))
Signature: must_conform() : Boolean;
Description: The sources and targets of the information flow must conform with the sources
and targets or conversely the targets and sources of the realization relationships.
Expression: true
Signature: convey_classifiers() : Boolean;
Description: An information flow can only convey classifiers that are allowed to represent
an information item.
Expression: self.conveyed.represented->forAll(p | p->oclIsKindOf(Class) or oclIsKindOf(Interface)
or oclIsKindOf(InformationItem) or oclIsKindOf(Signal) or oclIsKindOf(Component))
Operations:
No additional operations.
Send questions or comments to
[email protected].