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].